Novell is now a part of Micro Focus

Developer Pointers

Articles and Tips: article

01 Mar 1999


Novell Technical Information Documents

All of the Technical Information Documents (TIDs) discussed below are available at the following locations:

  • The Novell Technical Solutions Database on CompuServe (GO NTID)

  • The DeveloperNet Support World Wide Web site (http://devsup.novell.com)

  • The DeveloperNet Support Bulletin Board (801-861-5836)

Delphi Sample: Check for Btrieve Existence


Author:

WSC

Document ID:

TID102061

Date:

1999/01/25 2:02 PM

Alert Status:

Yellow

Information Type:

Issue

Readme For:

BTRTHERE.EXE

Novell Product Class:

NetWare API

Novell Product And Version:

NetWare default

Category:

none

Compiler:

default

Target OS:

default

Abstract

BtrThere Test tool to verify if Btrieve is loaded on the server and accessible. Two different approaches are shown:

  1. Try to load the Btrieve client requester, and use it to create a Btrieve test file on the server. This approach requires the Btrieve requester (WBTRV32.DLL) to be installed on the calling workstation.

  2. Scan the loaded NLMs on the selected target server and check if BTRIEVE.NLM is loaded. This approach requires console operator or Admin rights on the server object. It will only work on NetWare v4.x or v5.x

The Btrieve interface file is available from Pervasive technologies (http://www.pervasive.com). The NetWare functions were taken from the NetWare Developer Kit (NDK) in it's version as of November 1999.

General information on how to use Delphi with the NetWare SDK can be found in the HOW-TO.DOC file.

To run the application, you should have the NetWare Client32 software installed:

CALWIN32.DLL
NETWIN32.DLL
LOCWIN32.DLL

Without Client32, only the Btrieve functions can be accessed.


NetWare SDK used:

NDK Nov98

Platform:

Windows Win95

Compilers:

Borland Delphi 3.x

Functions used:

BTRV

NWCallsInit
NWGetDriveStatus
NWGetNLMLoadedList
NWGetNLMInfo

Detailed Description

Self-Extracting File Name: BTRTHERE.EXE


Files Included:

Size

Date

Time

BTRTHERE.TXT

(this file)

BTRTHERE.DPR

219

1-23-99

9:47 AM

BTRTHERE.RES

876

1-23-99

9:47 AM

BTRTHERE.DOF

1059>

1-23-99

9:47 AM

BT_UTIL.PAS

15235

1-23-99

9:47 AM

BTRAPI32.PAS

7983

1-23-99

9:47 AM

UNIT1.PAS

9033

1-23-99

9:47 AM

UNIT1.DFM

3373

1-23-99

9:47 AM

HOW-TO.DOC

8184

1-23-99

9:47 AM

BTRTHERE.DSK

4711

1-23-99

9:47 AM

BTRTHERE.MSG

1281

1-23-99

9:47 AM

BTRTHERE.TXT

3170

1-23-99

9:47 AM

Delphi Sample: Create Custom NDS Reports


Author:

WSC

Document ID:

TID102058

Date:

1999/01/25 9:52 AM

Alert Status:

Yellow

Information Type:

Issue

Readme For:

D3NDSRPT.EXE

Novell Product Class:

NetWare API

Novell Product and Version:

NetWare NDK 1.0

Category:

none

Compiler:

Delphi 3.0

Target OS:

Windows 95

Abstract

D3NDSRpt is a Delphi 2.x/3.x/4.x application that illustrates the use of Delphi with NetWare APIs. It can be used as a "real life application" because it's purpose is a custom NDS report generator.

Most configuration is done per INI file, so you can adapt it to run custom reports on any NDS object and attribute. D3NDSRpt allows you to export reports into comma/tab spearated files for further processing.

General information on how to use Delphi with the NetWare SDK can be found in the HOW-TO.DOC file.

To run the application, you should have the NetWare Client32 software installed.


NetWare SDK used:

NDK (Jan 99)

Platform:

Windows Win95/98/WinNT

Compilers:

Borland Delphi 2.x/3.x/4.x

Though it was not written for Delphi v1.x (16bit), it could be converted with only minor modifications.

Functions Used: D3NDSRpt demonstrates the following high-level functions:

DoSomethingForEachObject2
ReadSelectedProperties
DSFindFirstObject
DSFindNextObject

These in term call the APIs:

NWDSCreateContextHandle
NWDSGetContext
NWDSSetContext
NWDSAllocBuf
NWDSInitBuf
NWDSPutAttrName
NWDSRead
NWDSList
NWDSGetObjectCount
NWDSGetObjectName
NWDSGetAttrCount
NWDSGetAttrName
NWDSComputeAttrValSize
NWDSGetAttrVal
NWDSFreeBuf
NWDSFreeContext

Note: Since D3NDSRpt will save current settings into an INI file in, you will need sufficient rights in the path where the EXE is located.

Detailed Description

Self-Extracting File Name: D3NDSRPT.EXE


Files Included:

Size

Date

Time

D3NDSRPT.TXT

(this file)

HOW-TO.DOC

9767

1-22-99

6:50 PM

DSREPORT.RES

876

1-22-99

6:50 PM

DELPHI_U.PAS

83340

1-22-99

6:50 PM

DSREPORT.DPR

199

1-22-99

6:50 PM

DELPHI_U.DCU

64590

1-22-99

6:50 PM

MAIN.DFM

3713

1-22-99

6:50 PM

DSREPORT.INI

6858

1-22-99

6:50 PM

MAIN.DCU

14491

1-22-99

6:50 PM

DSREPORT.EXE

441344

1-22-99

6:50 PM

MAIN.PAS

16281

1-22-99

6:50 PM

DSREPORT.DSK

4801

1-22-99

6:50 PM

DSREPORT.DOF

1057

1-22-99

6:50 PM

READ.ME

1593

1-22-99

6:50 PM

D3NDSRPT.MSG

1578

1-22-99

6:50 PM

Delphi Sample: Change User Home Directories with ActiveX


Author:

WSC

Document Id:

TID102062

Date:

1999/01/25 2:02 PM

Alert Status:

Yellow

Information Type:

Issue

Readme For:

D3XHOME.EXE

Novell Product Class:

NetWare API

Novell Product and Version:

NetWare NDK 1.0

Category:

none

Compiler:

Delphi 3.0

Target OS:

Windows 95

Abstract

D3XHome is a Delphi 3.x application that illustrates the use of Delphi with NetWare ActiveX controls.

It will allow you to scan the tree, display objects and some object information. It will specifically allow you to view and change users' home directories. If the Home directory is changed, the trustee rights will also be added.

This sample is based on the NW Volume Admin control and the NW Directory control v1.3 and requires the NetWare ActiveX controls to be installed. You can download the latest OCX controls from the DeveloperNet Web pages at http://developer.novell.com


Platform:

Win95/98/WinNT

Compilers:

Borland Delphi 3.x

Detailed Description

Self-Extracting File Name: D3XHOME.EXE


Files Included:

Size

Date

Time

D3XHOME.TXT

(this file)

NETWARE.ICO

766

1-21-99

7:17 AM

NWTREE.ICO

766

1-21-99

7:17 AM

NWADMIN.ICO

766

1-21-99

7:17 AM

SELCONT.DFM

2160

1-21-99

7:17 AM

SELCONT.PAS

7007

1-21-99

7:17 AM

HOW-TO.DOC

8151

1-21-99

7:17 AM

READ.ME

679

1-21-99

7:17 AM

HOMEDIR.RES

876

1-21-99

7:17 AM

HOMEDIR.DPR

302

1-21-99

7:17 AM

HOMEDIR.DOF

1008

1-21-99

7:17 AM

HOMEDIRU.PAS

11955

1-21-99

7:17 AM

HOMEDIRU.DCU

14665

1-21-99

7:17 AM

HOMEDIR.EXE

330752

1-21-99

7:17 AM

HOMEDIRU.DFM

4160

1-21-99

7:17 AM

HOMEDIR.DSK

3613

1-21-99

7:17 AM

SELCONT.DCU

10532

1-21-99

7:17 AM

D3XHOME.MSG

664

1-21-99

7:17 AM

Delphi Sample: Bindery Browser with ActiveX


Author:

WSC

Document ID:

TID102063

Date:

1999/01/25 2:02 PM

Alert Status:

Yellow

Information Type:

Issue

Readme For:

D3XBIND1.EXE

Novell Product Class:

NetWare API

Novell Product and Version:

NetWare NDK 1.0

Category:

none

Compiler:

Delphi 3.0

Target OS:

Windows 95

Abstract

D3XBind1 is a Delphi 3.x application that illustrates the use of Delphi with NetWare ActiveX controls.

It will allow you to browse the bindery objects of connected servers. It displays all objects and their property values in a simple format.

This sample is based on the NW Bindery control v1.2 and the NW Session Control v1.2.

Prerequisites: NetWare Client 32 Installation of the NetWare ActiveX controls

You can download the latest controls from the DeveloperNet Web pages at http://developer.novell.com


Platform:

Win95/98/WinNT

Compilers:

Borland Delphi 3.x

Detailed Description

Self-Extracting File Name: D3XBIND1.EXE


Files Included:

Size

Date

Time

D3XBIND1.TXT

(this file)

UNIT1.PAS

9385

1-21-99

1:38 PM

UNIT1.DFM

4310

1-21-99

1:38 PM

UNIT1.DCU

13526

1-21-99

1:38 PM

READ.ME

613

1-21-99

1:38 PM

NWTREE.ICO

766

1-21-99

1:38 PM

NWADMIN.ICO

766

1-21-99

1:38 PM

HOW-TO.DOC

9767

1-21-99

1:38 PM

D3XBIND1.RES

876

1-21-99

1:38 PM

NETWARE.ICO

766

1-21-99

1:38 PM

BIND1.DOF

1059

1-21-99

1:38 PM

BIND1.EXE

313344

1-21-99

1:38 PM

BIND1.DSK

3747

1-21-99

1:38 PM

BIND1.DPR

237

1-21-99

1:38 PM

D3XBIND1.MSG

596

1-21-99

1:38 PM

Retrieving IP Interface Information (IPExtendedIFInfo) on a NetWare Server


Author:

EEK

Document ID:

TID102060

Date:

1999/01/25 2:02 PM

Alert Status:

Yellow

Information Type:

Issue

Readme For:

XBSDE004.EXE

Novell Product Class:

NetWare API

Novell Product and Version:

NetWare default

Category:

none

Compiler:

default

Target OS:

default

Abstract

The sample shows how to retrieve IP interface information such as IP address, subnet mask, broadcast address, etc. on a NetWare server.

Detailed Description

This document supply the sample program for the IPExtendedIFInfo API discussed in another TID DBSDE001.

Self-Extracting File Name: XBSDE004.EXE


Files Included:

Size

Date

Time

XBSDE004.TXT

(this file)

MAKEFILE

3238

1-20-99

12:30 PM

GETIPINF.NLM

2961

1-20-99

12:30 PM

IPINFO.H

2190

1-20-99

12:30 PM

TCPIP.IMP

76

1-20-99

12:30 PM

XBSDE004.MSG

137

1-20-99

12:30 PM

XBSDE004.TXT

2003

1-20-99

1:28 PM

GETIPINF.C

2386

1-20-99

12:30 PM

Delphi Sample ChangeObjectPassword


Author:

CMI

Document ID:

TID102057

Date:

1999/01/22 5:01 PM

Alert Status:

Yellow

Information Type:

Issue

README FOR:

XDELPHI1.EXE

Novell Product Class:

NetWare API

Novell Product and Version:

NetWare SDK 15.0

Category:

none

Compiler:

Delphi 4.0

Target OS:

Windows NT 4.0 WKS SP1

Abstract

Demonstrates NWDSChangeObjectPassword(). Initializes libraries, sets context and establishes an authenticated connection with a remote server and allows the user to change an object password.

Detailed Description

Self-Extracting File Name: XDELPHI1.EXE


Files Included:

Size

Date

Time

XDELPHI1.TXT

(this file)

MAIN.PAS

2439

1-20-99

11:51 AM

MAIN.DFM

682

1-20-99

11:51 AM

CHANGEPASSWORD.RES

876

1-20-99

11:51 AM

CHANGEPASSWORD.CFG

607

1-20-99

11:51 AM

CHANGEPASSWORD.DOF

1559

1-20-99

11:51 AM

CHANGEPASSWORD.DPR

192

1-20-99

11:51 AM

XDELPHI1.MSG

194

1-20-99

11:51 AM

XDELPHI1.TXT

1976

1-21-99

2:23 PM

Delphi Sample: Command Line to Grant Rights


Author:

WSC

Document ID:

TID102052

Date:

1999/01/19 11:19 AM

Alert Status:

Yellow

Information Type:

Issue

Readme For:

D3LRITE.EXE

Novell Product Class:

NetWare API

Novell Product and Version:

NetWare NDK 1.0

Category:

none

Compiler:

Delphi 3.0

Target OS:

Windows 95

Abstract

Description This command line tool partially fills the gap left by RIGHTS.EXE and handles long ile/path names. It does not offer RIGHTS.EXE's full functionality, but just the capability to add trustees to a path/file.

Call LRIGHTS.EXE without parameteres to get syntaxt information. General information on how to use Delphi with the NetWare SDK can be found in the HOW-TO.DOC file.

To run the application, you need to have the NetWare client software installed and need access to the 16 bit or 32 bit NetWare DLLs as provided in the NetWare Client software:

CALWINxx.DLL
NETWINxx.DLL
CLXWINxx.DLL
LOCWINxx.DLL

where xx stands for `16' or `32'


NetWare SDK used:

NDK Nov 1998

Platform:

Windows Win95/98 / WinNT

Compilers:

Borland Delphi 2.x/3.x/4.x

Though it was not written for Delphi v1.x (16bit), it could be converted with only minor modifications.

Functions Used: LRIGHTS demonstrates the following NetWare API functions:

NWAddTrustee
NWParsePath
NWDSMapNameToID

Detailed Description

Self-Extracting File Name: D3LRITE.EXE


Files Included:

Size

Date

Time

D3LRITE.TXT

(this file)

HOW-TO.DOC

8184

1-18-99

8:06 AM

LRIGHTS.DOF

1096

1-18-99

8:06 AM

LRIGHTS.EXE

42496

1-18-99

8:06 AM

LRIGHTS.DOC

1051

1-18-99

8:06 AM

LRIGHTS.DPR

7152

1-18-99

8:06 AM

LRIGHTS.DSK

2880

1-18-99

8:06 AM

D3LRITE.MSG

1047

1-18-99

8:06 AM

D3LRITE.TXT

2797

1-19-99

11:09 AM

Win32 Limitations on TLS (Thread Local Storage)


Author:

HHE

Document ID:

TID102049

Date:

1999/01/15 9:05 AM

Alert Status:

Yellow

Information Type:

Issue

Readme For:

WIN32TLS.EXE

Novell Product Class:

NetWare API

Novell Product and Version:

NetWare NDK 1.0

Category:

none

Compiler:

MS Visual Studio 5.0

Target OS:

Windows 95

Abstract: The Win32 limitation on TLS causes some products not to function properly.

Detailed Description

Win32 only allows 64 slots for DLLs to load, if some third party products are loaded the total of 55 slots are taken, the next product that needs 9 slots to load the corresponding DLLs will fail and not function properly. the work around is to unload the DLLs that are not needed.

Self-Extracting File Name: WIN32TLS.EXE


Files Included:

Size

Date

Time

WIN32TLS.TXT

(this file)

WIN32TLS.MSG

76

1-14-99

4:49 PM

WIN32TLS.TXT

1917

1-15-99

8:53 AM

Delphi Sample: Address Filters with GW Object APIs


Author:

WSC

Document ID:

TID102047

Date:

1999/01/13 8:29 AM

Alert Status:

Yellow

Information Type:

Issue

Readme For:

D3GWAFLT.EXE

Novell Product Class:

NetWare API

Novell Product and Version:

NetWare NDK 1.0

Category:

none

Compiler:

Delphi 3.0

Target OS:

Windows 95

Abstract

D3GWAFlt is a Delphi 32 bit application that illustrates the use of Delphi with GroupWise's Object APIs.

The purpose of this sample is to allow experimentation with the "Find" method for Address Book Entries. To run the application, you must have the GroupWise client installed.


NetWare SDK used:

NDK - Nov 98

Platform:

Windows Win95/98/WinNT

Compilers:

Borland Delphi 3.x (easily changable to v2.x/4.x )

Detailed Description

Self-Extracting File Name: D3GWAFLT.EXE


Files Included:

Size

Date

Time

D3GWAFLT.TXT

(this file)

OPNMAIL.ICO

1078

1-13-99

8:26 AM

ADDRFILT.DPR

186

1-13-99

8:26 AM

MAIN.PAS

5147

1-13-99

8:26 AM

MAIN.DCU

6085

1-13-99

8:26 AM

READ.ME

547

1-13-99

8:26 AM

ADDRFILT.EXE

252928

1-13-99

8:26 AM

ADDRFILT.RES

1220

1-13-99

8:26 AM

ADDRFILT.DSK

1947

1-13-99

8:26 AM

ADDRFILT.DOF

1068

1-13-99

8:26 AM

MAIN.DFM

1991

1-13-99

8:26 AM

D3GWAFLT.MSG

429

1-13-99

8:26 AM

Delphi Sample: Add Trustees on Long File names


Author:

WSC

Document ID:

TID102046

Date:

1999/01/13 8:16 AM

Alert Status:

Yellow

Information Type:

Issue

Readme For:

D3ADDTRS.EXE

Novell Product Class:

NetWare API

Novell Product and Version:

NetWare NDK 1.0

Category:

none

Compiler:

Delphi 3.0

Target OS:

Windows 95

Abstract

This sample program allows you to experiment with different file formats (long names & DOS names) when assigning trustee rights to files or directories.

General information on how to use Delphi with the NetWare SDK can be found in the HOW-TO.DOC file.

To run the application, you should have the NetWare client software installed and need access to the 16 bit or 32 bit NetWare DLLs as provided in the NetWare Client software:

CALWINxx.DLL
NETWINxx.DLL
CLXWINxx.DLL
LOCWINxx.DLL

where xx stands for `16' or `32'


NetWare SDK used:

NDK Nov 1998

Platform:

Windows Win95/98/WinNT

Compilers:

Borland Delphi 2.x/3.x

Though it was not written for Delphi v1.x (16bit), it could be converted with only minor modifications.

Functions Used: D3AddTrs demonstrates the following NetWare API functions:

NWAddTrustee
NWParsePath
NWDSMapNameToID

Self-Extracting File Name: D3ADDTRS.EXE


Files Included:

Size

Date

Time

D3ADDTRS.TXT

(this file)

NWADMIN.ICO

766

1-13-99

8:16 AM

HOW-TO.DOC

8184

1-13-99

8:16 AM

MAIN.DFM

2182

1-13-99

8:16 AM

MAIN.DCU

13415

1-13-99

8:16 AM

READ.ME

920

1-13-99

8:16 AM

ADDTRUST.EXE

264704

1-13-99

8:16 AM

ADDTRUST.DOF

1059

1-13-99

8:16 AM

ADDTRUST.DPR

226

1-13-99

8:16 AM

MAIN.PAS

6236

1-13-99

8:16 AM

ADDTRUST.DSK

2742

1-13-99

8:16 AM

ADDTRUST.RES

876

1-13-99

8:16 AM

D3ADDTRS.MSG

903

1-13-99

8:16 AM

VB Sample Code Which Uses DLL Calls to Browse DS Tree


Author:

RLE

Document ID:

TID102044

Document Revision:

B

Date:

1999/01/8 8:10 AM

Alert Status:

Yellow

Information Type:

Issue

Readme For:

VBBROWSE.EXE

Novell Product Class:

NetWare API

Novell Product and Version:

NetWare default

Category:

none

Compiler:

Visual Basic 5.0

Target Os:

default

Abstract

VB sample code which demonstrates how to use Novell's DLL calls for retrieving graphical DS tree structure.

Detailed Description

VB sample code which demonstrates how to use Novell's DLL calls for retrieving graphical DS tree structure. We suppose that user is already authenticated. Only very limited error handling is implemented to keep code as simple as possible. Multiple tree support is implemented.

Self-Extracting File Name: VBBROWSE.EXE


Files Included:

Size

Date

Time

VBBROWSE.TXT

(this file)

VOLUME.ICO

318

1-8-99

5:21 AM

USER.ICO

318

1-8-99

5:21 AM

UNKNOWN.ICO

318

1-8-99

5:21 AM

TREE.ICO

318

1-8-99

5:21 AM

TEMPLATE.ICO

318

1-8-99

5:21 AM

SERVER.ICO

318

1-8-99

5:21 AM

ROOT.ICO

318

1-8-99

5:21 AM

PSERVER.ICO

318

1-8-99

5:21 AM

AUDTFILE.ICO

318

1-8-99

5:21 AM

PRINTER.ICO

318

1-8-99

5:21 AM

PQUEUE.ICO

318

1-8-99

5:21 AM

OU.ICO

318

1-8-99

5:21 AM

ORGROLE.ICO

318

1-8-99

5:21 AM

O.ICO

318

1-8-99

5:21 AM

NETWARE.BAS

3715

1-8-99

5:21 AM

LOCALITY.ICO

318

1-8-99

5:21 AM

GROUP.ICO

318

1-8-99

5:21 AM

DIRMAP.ICO

318

1-8-99

5:21 AM

COUNTRY.ICO

318

1-8-99

5:21 AM

PROFILE.ICO

318

1-8-99

5:21 AM

VBBROWSE.VBW

80

1-8-99

5:21 AM

VBBROWSE.VBP

685

1-8-99

5:21 AM

VBBROWSE.FRX

28

1-8-99

5:21 AM

VBBROWSE.FRM

15133

1-8-99

5:21 AM

VBBROWSE.MSG

109

1-8-99

5:21 AM

Delphi Sample: Personal GW Appointment With Object API


Author:

WSC

Document ID:

TID102043

Document Revision:

DATE: 1999/01/8 8:10 AM

Alert Status:

Yellow

Information Type:

Issue

Readme For:

D3GWPAPP.EXE

Novell Product Class:

NetWare API

Novell Product and Version:

NetWare NDK 1.0

Category:

none

Compiler:

Delphi 3.0

Target OS:

Windows 95

Abstract

This easy sample shows how to add a personal appointment into the user calendar.

Detailed Description

Self-Extracting File Name: D3GWPAPP.EXE


Files Included:

Size

Date

Time

D3GWPAPP.TXT

(this file)

PERSAPPT.RES

876

1-8-99

3:54 AM

PERSAPPT.DPR

188

1-8-99

3:54 AM

UNIT1.DFM

533

1-8-99

3:54 AM

UNIT1.DCU

4557

1-8-99

3:54 AM

PERSAPPT.EXE

229376

1-8-99

3:54 AM

UNIT1.PAS

3430

1-8-99

3:54 AM

PERSAPPT.DOF

1068

1-8-99

3:54 AM

PERSAPPT.DSK

3952

1-8-99

3:54 AM

D3GWPAPP.MSG

82

1-8-99

3:54 AM

D3GWPAPP.TXT

1891

1-8-99

7:56 AM

VB Sample Which Demonstrates How to Get Opened Files on a Given Server


Author:

RLE

Document ID:

TID102041

Document Revision:

DATE: 1999/01/6 8:33 AM

Alert Status:

Yellow

Information Type:

Issue

Readme For:

VBMONIT.EXE

Novell Product Class:

NetWare API

Novell Product and Version:

NetWare default

Category:

none

Compiler:

Visual Basic 5.0

Target OS:

Windows NT 4.0 WKS SP3

Abstract

Sample code which demonstrates how to use DLL function calls in VB when retrieving currently opened files on a given server.

Detailed Description

Sample code which demonstrates how to use DLL function calls in VB when retrieving currently opened files on a given server.

The DLL calls used:

NWCCOpenConnByName()
NWGetFileServerInformation()
NWGetConnectionInformation()
NWScanOpenFilesByConn2()
NWGetVolumeName()
NWGetPathFromDirectoryBase()

User should be already authenticated on given server before running this program.

Self-Extracting File Name: VBMONIT.EXE


Files Included:

Size

Date

Time

VBMONIT.TXT

(this file)

PROJECT1.VBP

665

1-6-99

8:32 AM

FORM1.FRM

12630

1-6-99

8:32 AM

FORM1.FRX

28

1-6-99

8:32 AM

VBMONIT.MSG

128

1-6-99

8:32 AM

List of NetWare APIs for Windows


Author:

WSC

Document ID:

TID102040

Date:

1999/01/4 8:31 AM

Information Type:

Issue

Readme For:

DLLFCT.EXE

Novell Product Class:

NetWare API

Novell Product and Version:

NetWare NDK 1.0

Category:

none

Compiler:

default

Target OS:

default

Alert Status:

Yellow

Abstract

Ever wondered what NetWare DLL for Windows contains a specific NetWare function?

Here are two function lists one sorted by function name, the other by DLL name.

Detailed Description

Self-Extracting File Name: DLLFCT.EXE


Files Included:

Size

Date

Time

DLLFCT.TXT

(this file)

BYNAME.FCT

37019

12-30-98

5:05 AM

BYDLL.FCT

37021

12-30-98

5:05 AM

DLLFCT.MSG

167

12-30-98

5:05 AM

Set/get the Value of the Datastream Field in the SPX Header Using WinSock


Author:

EEK

Document ID:

TID102038

Date:

1998/12/22 1:13 PM

Alert Status:

Yellow

Information Type:

Issue

Readme For:

IWS2E011.EXE

Novell Product Class:

NetWare API

Novell Product and Version:

NetWare default

Category:

none

Compiler:

default

Target OS:

default

Detailed Description

IPX_DSTYPE definition in WSNWLINK.H lets the user controls the SPX datastream type field. Use it in setsockopt() to change the outgoing datastream type and in getsockopt() to get the lasting incoming datastream type.

Self-Extracting File Name: IWS2E011.EXE


Files Included:

Size

Date

Time

IWS2E011.TXT

(this file)

IWS2E011.MSG

0

12-22-98

1:13 PM

WinSock SOCK_SEQPACKET Information


Author:

EEK

Document ID:

TID102037

Date:

1998/12/21 12:52 PM

Alert Status:

Yellow

Information Type:

Issue

Readme For:

IWS2E010.EXE

Novell Product Class:

NetWare API

Novell Product and Version:

NetWare default

Category:

none

Compiler:

default

Target OS:

default

Detailed Description

Question: We are writing some sort of RCONSOLE utility for Win32. So we connect to RSPX in unsigned mode (one of the parameters of RSPX is signatures off). If we are not doing any recv on the client, the closesocket goes well, but if call recv, the NetWare server boots when closing the connection. May be this is both a problem of the Microsoft IPX/SPX implementation and of some NetWare modules.

The strangest thing we encountered is that when the first data packet arrives from NetWare (its size is 520), the ioctlsocket function tells us that we received 520 bytes but if we call recv trying to read 520 bytes, the recv function blocks. If we call recv trying to read n bytes where 0 abnormal because as the documentation states, recv must return the number of bytes received (a positive value), 0 if the connection is closed or SOCKET_ERROR when an error occured.

All these (the strange values returned by recv) happens when we are using a SOCK_SEQPACKET socket. The boot happens in both cases (i.e. when using SOCK_SEQPACKET or SOCK_STREAM).

Using a network monitor, we observed that the end of connection is negotiated correctly, because we receive the end of connection acknowledgement from the NetWare server.

Note that we wrote a year ago an MSDOS version of this utility, that runs well. Now we can not escape from this error in Windows. Despite the WinSock documentation (the SO_LINGER option for setsockopt), abort the connection (without negotiating the end of connection).

Answer: As for the WinSock behavior you describe, this is (almost) normal, although it does suggest a boundary condition problem in the Microsoft WinSock service provider. When operating in SEQPACKET mode, the WinSock API maintains messages boundaries, which basically says that one send() will be received in exactly one recv(). This functionality can be modified with the MSG_PARTIAL bit that lets you bundle multiple sends into a single message, and hence into a single receive. If you look at the WinSock 2 spec, you will see that WSARecv() defines `flags' as an IN/OUT parameter. This allows WSARecv() to return the MSG_PARTIAL bit, which in turn lets you receive a part of a message before the whole thing has arrived.

WinSock 1.1 does not let you return flags on the recv() call, so a different convention was needed. The agreed upon convention is that recv() will flag a partial message receive by returning the recv() data count as a negative number. If you get 520, that tells you that you have received one full message of 520 bytes. If you get -520, that tells you that you have received a 520 byte fragment of a larger message.

In your case, an SPX packet that does not have the end-of-message bit set is received. The end-of-message bit is what SPX uses to differentiate messages. The Ioctl correctly reports that 520 bytes are available. The rule for recv() in SEQPACKET mode is that if

  1. you set the MSG_PARTIAL bit in the flags field, or

  2. you send down a buffer that is smaller than the full message, then the stack will generate a partial-message response.

So, when you recv 0 < n < 520, the stack correctly returns a count of -n, telling you that you have not received the entire message. This should also have worked when you passed down 520 bytes, and the failure you mentioned would be considered a bug.

Self-Extracting File Name: IWS2E010.EXE


Files Included:

Size

Date

Time

IWS2E010.TXT

(this file)

IWS2E010.MSG

0

12-21-98

12:51 PM

Tool to Update LDAP Group Mapping Attributes


Author:

MMA

Document ID:

TID102036

Date:

1998/12/18 11:00 AM

Alert Status:

Yellow

Information Type:

Issue

Readme For:

LDAPMAP.EXE

Novell Product Class:

NetWare API

Novell Product and Version:

NetWare SDK 15.0

Category:

none

Compiler:

MS Visual Studio 5.0

Target OS:

Windows 98

Abstract

maputil.exe is a tool to update the LDAP_ATTRIBUTE_MAP_V11 and LDAP_CLASS_MAP_V11 attributes of the LDAP Group object.

Detailed Description

maputil.exe is a tool to update the LDAP_ATTRIBUTE_MAP_V11 and LDAP_CLASS_MAP_V11 attributes of the LDAP Group object. In order for LDAP to recognize the custom classes and attributes defined by the external developers, the developer has to update the mappings contained in these attributes in the LDAP group object.

Currently, the only released tool to do this update is through NWAdmin32, so it is very inefficient. This tool will let developer export the values of the attributes to a file and modify the file using a text editor and then import the file to the attribute. This will be very efficient for developers who need to map many custom classes and attributes.

Self-Extracting File Name: LDAPMAP.EXE


Files Included:

Size

Date

Time

LDAPMAP.TXT

(this file)

MAPUTIL.EXE

115200

12-18-98

11:00 AM

README.TXT

831

12-18-98

11:00 AM

MAP2.BAT

185

12-18-98

11:00 AM

A.MAP

2544

12-18-98

11:00 AM

C.MAP

666

12-18-98

11:00 AM

LDAPMAP.MSG

120

12-18-98

11:00 AM

ASP Sample Code Which Retrieves Attributes/Values From Given DS Object


Author:

RLE

Document Id:

TID102029

Date:

1998/12/10 7:08 AM

Alert Status:

Yellow

Information Type:

Issue

Readme For:

ASPREADS.EXE

Novell Product Class:

NetWare API

Novell Product and Version:

NetWare default

Category:

none

Compiler:

default

Target OS:

Windows NT 4.0 WKS SP3

Abstract

Sample code which demonstrates how to use Novell's ActiveX controls NWDir and NWSess in Microsoft's ASP environment.

The code shows how--using this ActiveX controls--various object's attributes and their values can be retrieved from DS.

Detailed Description

Sample code which demonstrates how to use Novell's ActiveX controls NWDir and NWSess in Microsoft's ASP environment. The code shows how using this ActiveX controls various object's attributes and their values can be retrieved from DS. In the first step ASP user must authenticate into DS prior to start any information retrieval from DS tree. To keep code simple and clear, the entry data are hardcoded (userName, password and treeName for login and object's name for attributes/values retrieval).

There is no error handling in case you enter wrong DS object full name. Novell's ActiveX Control files for NWDir and NWSess must be copied into Microsoft's WEB server working directory in order to work properly. Also you need to use Microsoft's Internet Explorer 4.x in order to run this demo because other browsers do not understand Microsoft's ASP extensions and/or VBScript language.

Self-Extracting File Name: ASPREADS.EXE


Files Included:

Size

Date

Time

ASPREADS.TXT

(this file)

ASPREADS.ASP

6453

12-10-98

7:08 AM

ASPREADS.MSG

243

12-10-98

7:08 AM

NDS Tree Search Using WinSock 2 API


AUTHOR:

EEK

DOCUMENT ID:

TID102031

DOCUMENT REVISION:

C

DATE:

1998/12/10 5:55 PM

ALERT STATUS:

Yellow

INFORMATION TYPE:

Issue

README FOR:

XWS2E003.EXE

NOVELL PRODUCT CLASS:

NetWare API

Novell Product and Version:

NetWare default

CATEGORY:

none

COMPILER:

default

TARGET OS:

default

Abstract

This sample program is intended for NLM platform.

Detailed Description

This program is intended to show how to obtain name space independence with WinSock 2. The name space independence is accomplished with WinSock 2 Service Class. This example is intended to find NDS tree services using SLP and SAP.

Self-Extracting File Name: XWS2E003.EXE


Files Included:

Size

Date

Time

XWS2E003.TXT

(this file)

XWS2E003.MSG

51

12-10-98

5:51 PM

XWS2E003.TXT

1948

12-10-98

5:51 PM

TREESRCH.NLM

9743

12-10-98

5:51 PM

TREESRCH.C

8409

12-10-98

5:51 PM


Disclaimer

The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.

© Copyright Micro Focus or one of its affiliates