Novell is now a part of Micro Focus

Developer Pointers

Articles and Tips: article

01 Jun 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)

HOW TO EXPAND NDS OBJECTS TO UNC PATHS


Author:

HWI

Document ID:

TID102094

Date:

1999/03/9 8:19 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

VBDSPATH.EXE

Novell product class:

NetWare API

Novell product and version:

NetWare default

Category:

None

Compiler:

Default

Target OS:

Default

Abstract

This TID shows how to extract UNC path information from NDS Volume and Directory Map objects.

It does this by implementing a DS browser dialog that lets you select files by double clicking and expanding objects in a treeview, much as you would in NWAdmin.

Sources are in Visual Basic 4.

Detailed Description

The sample uses the DeveloperNet 2000 ActiveX controls to build an NDS tree view that displays volume and directory map objects.

Expanding these objects will allow the user to browse subdirectories and files. The dialog can be used as a lookup when entering UNC path information, such as for Application objects.

Self-Extracting File Name: VBDSPATH.EXE


Files Included:

Size

Date

Time

VBDSPATH.TXT

(this file)

VBPATH.VBW

153

3-9-99

8:18 AM

VBPATH.VBP

863

3-9-99

8:18 AM

TREE.ICO

1078

3-9-99

8:18 AM

RESOLVER.CLS

3483

3-9-99

8:18 AM

PATH.FRX

3176

3-9-99

8:18 AM

PATH.FRM

19742

3-9-99

8:18 AM

OPEN.ICO

1078

3-9-99

8:18 AM

FILE.ICO

1078

3-9-99

8:18 AM

CLOSED.ICO

1078

3-9-99

8:18 AM

DECLARE.BAS

2720

3-9-99

8:18 AM

DRIVER.BAS

1963

3-9-99

8:18 AM

VBDSPATH.MSG

290

3-9-99

8:18 AM

NLM DUMP UTILITY FOR NETWARE


Author:

JBE

Document ID:

TID102095

Date:

1999/04/7 2:03 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

NLMDUMP.EXE

Novell product class:

NetWare API

Novell product and version:

NetWare default

Category:

None

Compiler:

Default

Target OS:

Default

Abstract

NLM version of the NLM dump utility. See also TIDs named NLMD_DOS, NLMD_W32, and NLMD_OS2 for associated versions for other operating systems.

Detailed Description

(DOS,Win32,OS/2) Usage: NLM [*|?|options] [...]

Options:

/b- disable Bagfile display /d- disable Debug info display /e- disable Exports display /f disable Fixup display /i[+-*] enable/disable/names only Imports display /m enable Messages display /u- disable name Unmangling /u force name Unmangling to try only, current supported values:

B - Borland
M - Microsoft
W - Watcom
/x enable heX dump of code and data
/+ enable all details
/- disabled all details

* preceding the filename means modify the binary according to options (and allows only a single uncompressed .NLM file to be processed). Options are different in this case and MUST be specified after the filename:

/b[:] remove uninitialized data from image using filename (no filename means use NLM name with extension replaced by .MAP); this requires a WLINK, NLINK, or NLMLINKx format map file

/c remove CLIB info (for modules not referencing CLIB) /d remove debug info /t set module type to /v[.[.]] set version

? preceding the filename means generate import file from NLM(s)

Without the preceding * multiple NLMs can be processed, however wildcards are not supported.

(NLM) Usage: LOAD NLMDUMP [options] [...]

As above, multiple NLMs can be specified, but wildcards are not allowed.

Self-Extracting File Name: NLMDUMP.EXE


Files Included:

Size

Date

Time

NLMDUMP.TXT

(this file)

NLMDUMP.NLM

18982

4-7-99

2:02 AM

NLMDUMP.MSG

144

4-7-99

2:02 AM

NLM DUMP UTILITY FOR DOS


Author:

JBE

Document ID:

TID102096

Date:

1999/04/7 2:05 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

NLMD_DOS.EXE

Novell product class:

NetWare API

Novell product and version:

NetWare default

Category:

None

Compiler:

Default

Target OS:

Default

Abstract

DOS version of the NLM dump utility. See also TIDs named NLMDump, NLMD_W32, and NLMD_OS2 for associated versions for other operating systems.

Detailed Description

(DOS,Win32,OS/2) Usage: NLM [*|?|options] [...]

Options:

/b- disable Bagfile display /d- disable Debug info display /e- disable Exports display /f disable Fixup display /i[+-*] enable/disable/names only Imports display /m enable Messages display /u- disable name Unmangling /u force name Unmangling to try only, current supported values:

B - Borland
M - Microsoft
W - Watcom
/x enable heX dump of code and data
/+ enable all details
/- disabled all details

* preceding the filename means modify the binary according to options (and allows only a single uncompressed .NLM file to be processed). Options are different in this case and MUST be specified after the filename:

/b[:] remove uninitialized data from image using filename (no filename means use NLM name with extension replaced by .MAP); this requires a WLINK, NLINK, or NLMLINKx format map file

/c remove CLIB info (for modules not referencing CLIB) /d remove debug info /t set module type to /v[.[.]] set version

? preceding the filename means generate import file from NLM(s)

Without the preceding * multiple NLMs can be processed, however wildcards are not supported.

(NLM) Usage: LOAD NLMDUMP [options] [...]

As above, multiple NLMs can be specified, but wildcards are not allowed.

Self-Extracting File Name: NLMD_DOS.EXE


Files Included:

Size

Date

Time

NLMD_DOS.TXT

(this file)

NLM.EXE

30760

4-7-99

2:04 AM

NLMD_DOS.MSG

143

4-7-99

2:04 AM

NLM DUMP UTILITY FOR Win32


AUTHOR:

JBE

DOCUMENT ID:

TID102098

Date:

1999/04/7 2:10 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

NLMD_W32.EXE

Novell product class:

NetWare API

Novell product and version:

NetWare default

Category:

None

Compiler:

Default

Target OS:

Default

Abstract

Win32 version of the NLM dump utility. See also TIDs named NLMDump, NLMD_OS2, and NLMD_DOS for associated versions for other operating systems.

Detailed Description

(DOS,Win32,OS/2) Usage: NLM [*|?|options] [...]

Options:

/b- disable Bagfile display /d- disable Debug info display /e- disable Exports display /f disable Fixup display /i[+-*] enable/disable/names only Imports display /m enable Messages display /u- disable name Unmangling /u force name Unmangling to try only, current supported values:

B - Borland
M - Microsoft
W - Watcom
/x enable heX dump of code and data
/+ enable all details
/- disabled all details

* preceding the filename means modify the binary according to options (and allows only a single uncompressed .NLM file to be processed). Options are different in this case and MUST be specified after the filename:

/b[:] remove uninitialized data from image using filename (no filename means use NLM name with extension replaced by .MAP); this requires a WLINK, NLINK, or NLMLINKx format map file

/c remove CLIB info (for modules not referencing CLIB) /d remove debug info /t set module type to /v[.[.]] set version

? preceding the filename means generate import file from NLM(s) Without the preceding * multiple NLMs can be processed, however wildcards are not supported.

(NLM) Usage: LOAD NLMDUMP [options] [...]

As above, multiple NLMs can be specified, but wildcards are not allowed.

Self-Extracting File Name: NLMD_W32.EXE


Files Included:

Size

Date

Time

NLMD_W32.TXT

(this file)

NLM.EXE

23552

4-7-99

2:10 AM

NLMD_W32.MSG

145

4-7-99

2:10 AM

ALERNATIVE NETWARE DEBUGGER


Author:

JBE

Document ID:

TID102099

Date:

1999/04/7 2:22 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

NWDBG.EXE

Novell product class:

NetWare API

Novell product and version:

NetWare default

Category:

None

Compiler:

Default

Target OS:

Default

Abstract

Text mode UI debugger for NetWare covering NetWare versions 3.12 through 5.0. Earlier version may not support all functionality.

Detailed Description

For usage information, see the Developer Notes March 97 article on EXE2NLM. You can, after loading, also press F1 for global help or Shift-F1 for panel specific help.

To pop the debugger up, press and hold left Alt, press SysReq, release left Alt, and finally release SysReq.

To load a module and start debugging at its entry point (typically _Prelude), replace the usual LOAD command by DEBUG. The remainder of the line remains the same except that using enhanced options to the LOAD command will prevent correct .SYM file processing.

MP systems are supported (starting with NetWare 4.11, 4.10 SMP was never tested) if they utilize MPS14.PSM and run on Pentium or better processors. On such systems, all desired processors must be enabled prior to loading NWDBG.NLM.

SFTIII is not supported.

Self-Extracting File Name: NWDBG.EXE


Files Included:

Size

Date

Time

NWDBG.TXT

(this file)

NWDBG.NLM

96369

4-7-99

2:22 AM

NWDBG.MSG

130

4-7-99

2:22 AM

NLM DUMP UTILITY FOR OS/2


Author:

JBE

Document ID:

TID102100

Date:

1999/04/7 2:24 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

NLMD_OS2.EXE

Novell product class:

NetWare API

Novell product and version:

NetWare default

Category:

None

Compiler:

Default

Target OS:

Default

Abstract

OS/2 version of the NLM dump utility. See also TIDs named NLMDump, NLMD_W32, and NLMD_DOS for associated versions for other operating systems.

Detailed Description

(DOS,Win32,OS/2) Usage: NLM [*|?|options] [...]

Options:

/b- disable Bagfile display /d- disable Debug info display /e- disable Exports display /f disable Fixup display /i[+-*] enable/disable/names only Imports display /m enable Messages display /u- disable name Unmangling /u force name Unmangling to try only, current supported values:

B - Borland
M - Microsoft
W - Watcom
/x enable heX dump of code and data
/+ enable all details
/- disabled all details

* preceding the filename means modify the binary according to options (and allows only a single uncompressed .NLM file to be processed). Options are different in this case and MUST be specified after the filename:

/b[:] remove uninitialized data from image using filename (no filename means use NLM name with extension replaced by .MAP); this requires a WLINK, NLINK, or NLMLINKx format map file /c remove CLIB info (for modules not referencing CLIB) /d remove debug info /t set module type to /v[.[.]] set version

? preceding the filename means generate import file from NLM(s) Without the preceding * multiple NLMs can be processed, however wildcards are not supported.

(NLM) Usage: LOAD NLMDUMP [options] [...]

As above, multiple NLMs can be specified, but wildcards are not allowed.

Self-Extracting File Name: NLMD_OS2.EXE


Files Included:

Size

Date

Time

NLMD_OS2.TXT

(this file)

NLM.EXE

50132

4-7-99

2:23 AM

NLMD_OS2.MSG

144

4-7-99

2:23 AM

NLMD_OS2.TXT

3079

4-7-99

2:23 AM

VB SAMPLE CODE USING NWDIR AND NWSESS ActiveX COMPONENTS


Author:

RLE

Document ID:

TID102102

Date:

1999/04/9 8:02 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

VBADMIN5.EXE

Novell product class:

NetWare API

Novell product and version:

NetWare default

Category:

None

Compiler:

Visual Basic 5.0

Target OS:

Default

Abstract

Sample code which demonstrates how to use Novell`s ActiveX controls NWDir for DS management in VB environment.

Detailed Description

Sample code which demonstrates how to use Novell`s ActiveX controls NWDir for DS management in VB environment. This is the fifth part (last part) of more complex sample code (see comments below about each part).

We suppose user is already DS authenticated - NWSess ActiveX controls are used in this sample code to retrieve all connected/authenticated DS trees. No error handling is implemented to keep the code simple.

Part I. - vbadmin1 Example demonstrates how existing objects can retrieved from DS and put into well-arranged picture-tree view.

Part II. - vbadmin2 Added code which demonstrates how multi-valued attributes (fields) can be retrieved from DS and presented in readable form.

Part III. - vbadmin3 Added code which demonstrates how single-valued or multi-valued attributes(fields) can be edited and changed: Network Address Restriction, Password change, Login script modifications, Full name, Telephone Number, Facsimile Telephone Number

Part IV. - vbadmin4 Added code which demonstrates how single-valued or multi-valued attributes (fields) can be edited and changed: rename object (CN),other names (hidden in CN attribute), Group Membership

Part V. - vbadmin5 Added code which demonstrates how objects in DS can be created or removed.

Self-Extracting File Name: VBADMIN5.EXE


Files Included:

Size

Date

Time

VBADMIN5.TXT

(this file)

VBADMIN.VBW

419

4-8-99

10:41 AM

VBADMIN.VBP

1055

4-8-99

10:41 AM

VBADMIN.FRX

330

4-8-99

10:41 AM

VBADMIN.FRM

13341

4-8-99

10:41 AM

VALUES.FRM

3058

4-8-99

10:41 AM

TREE.ICO

318

4-8-99

10:41 AM

ROOT.ICO

318

4-8-99

10:41 AM

ADDRESS.FRM

4803

4-8-99

10:41 AM

OBJECTVIEW.FRX

174

4-8-99

10:41 AM

OBJECTVIEW.FRM

31382

4-8-99

10:41 AM

NEWNAME.FRM

1582

4-8-99

10:41 AM

GROUPS.FRX

4

4-8-99

10:41 AM

GROUPS.FRM

3411

4-8-99

10:41 AM

CREATE.FRM

3111

4-8-99

10:41 AM

PASSWORD.FRM

3045

4-8-99

10:41 AM

VBADMIN5.MSG

112

4-8-99

10:41 AM

SAMPLE CODE FINDING OUT IF VOLUME IS CD-ROM ON NETWARE 3.12


Author:

RLE

Document ID:

TID102103

Date:

1999/04/9 8:29 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

ISVOLCD3.EXE

Novell product class:

NetWare API

Novell product and version:

NetWare NDK 1.0

Category:

None

Compiler:

Watcom C 10.5

Target OS:

NetWare 3.12

Abstract

NLM sample code which demonstrates how to find out if mounted volume is CD-ROM on a NetWare 3.12 platform.

Detailed Description

Finding out if mounted volume is CD-ROM is an easy task on 4.x/5.x platform. Function call NWVolumeIsCDROM() is provided for developers' convenience on this platform.

Such a task, however, may be a nightmare for developers on 3.12 platform. This NLM sample code demonstrates how it can be done.

Required information is extracted from Media Manager database by using MM function calls M_Find_Object_Type() and MM_Return_Object_Generic_Info().

First we are searching for MEDIA_OBJECT object type (4). Next if any MEDIA_OBJECT object type was found, we have to retrieve generic information about this object. Last we have to check if all condition for CD-ROM are met, i.e.:

a/GenericInfoDef.mediatype==5
b/GenericInfoDef.name string contains "CDROM Media" substring
c/GenericInfoDef.mediaInfo structure keeps information about given volume name
d/GenericInfoDef.mediaInfo structure keeps valid information about CDROM media type - HIGH_SIERRA_CDROM_MEDIA (2) or ISO_CDROM_MEDIA (3)

Self-Extracting File Name: ISVOLCD3.EXE


Files Included:

Size

Date

Time

ISVOLCD3.TXT

(this file)

ISVOLCD.C

4744

4-9-99

8:28 AM

ISVOLCD3.MSG

107

4-9-99

8:28 AM

CLIENT VERSION OF NCP EXTENSION WRITTEN IN DELPHI


Author:

CMI

Document ID:

TID102107

Date:

1999/04/13 2:49 PM

Alert status:

Yellow

Information type:

Issue

Readme for:

XNCPEXT1.EXE

Novell product class:

NetWare API

Novell product and version:

NetWare default

CATEGORY:

None

COMPILER:

Default

TARGET OS:

Default

Abstract

A Delphi application that accesses an NLM that is registered as an NCP Extension.

Detailed Description

* See XNCPExt2 for the NLM code *

The client application opens a connection and requests the NCP Ext which is written as an NLM. If the request is successful (the NLM must be loaded on the server the client is connected to) than the client sends a request buffer whose structure is determined by the NLM. In this case the NLM is just expecting an array whose first byte is one of the following options:

1 - Requesting a buffer that gives a why ask why question. 2 - Requesting information about all the mounted volumes on the server. 3 - Requesting to grep on the server using jgrep (a utility written by Adam Jerome).

For the first request the NLM simply sends a reply (also in an array) containing a random quote. For the second request the NLM calls NWScanMountedVolumeList() which returns all the mounted volumes on the server. For the third request the server would need the search string, path, and wild card characters. The server would then read all the files within the given path and returns the line number and name of the file the search string was found in.

Notice that the NCP request can be made several times with only one connection. Also notice that only a request and a reply is sent accross the wire, greatly reducing traffic.

Self-Extracting File Name: XNCPEXT1.EXE


Files Included:

Size

Date

Time

XNCPEXT1.TXT

(this file)

THOUGHTS.DCU

3423

4-13-99

2:49 PM

NCPCLIENT.RES

876

4-13-99

2:49 PM

NCPCLIENT.EXE

340992

4-13-99

2:49 PM

MAIN.DCU

10937

4-13-99

2:49 PM

NCPCLIENT.DOF

1443

4-13-99

2:49 PM

NCPCLIENT.CFG

607

4-13-99

2:49 PM

MAIN.PAS

11564

4-13-99

2:49 PM

MAIN.DFM

2706

4-13-99

2:49 PM

NCPCLIENT.DPR

187

4-13-99

2:49 PM

XNCPEXT1.MSG

83

4-13-99

2:49 PM

XNCPEXT1.TXT

3180

4-13-99

2:49 PM

SAMPLE CODE OF NLM THAT IS REGISTERED AS AN NCP EXTENSION


Author:

CMI

Document ID:

TID102108

Date:

1999/04/13 2:50 PM

Alert status:

Yellow

Information type:

Issue

Readme for:

XNCPEXT2.EXE

Novell product class:

NetWare API

Novell product and version:

NetWare default

Category:

None

Compiler:

Default

Target OS:

Default

Abstract

NLM on the server side that services the NCP Extension request. Code is written on CodeWarrior and cannot be read without that compiler.

Detailed Description

*See XNCPExt1 for the client application*

A client application calls this NLM through NCP Extension APIs. The NLM first registers itself, once it is loaded on the server. The client then sends a buffer that requests certain executions to be made. This particular NLM reads the request buffer (which is just an array) byte by byte in which the first byte determines the following:

1 - Client is requesting just a quote buffer. 2 - Client is requesting the names of all the mounted volumes on the server. 3 - Client is requesting to grep on for a string given a specific path.

For the first request the NLM just returns a random quote. For the second request the NLM calls NWScanMountedVolumeList() and returns the volume information back to the client. For the third request the NLM would expect the search string followed by the path followed by any wild characters. Therefore the first byte would be the option the second byte if the request was #3 would be the length of the search string. The other bytes would be the search string itself. After the search string the next byte would be the size of the path. In this manner the buffer can be accessed byte by byte.

Self-Extracting File Name: XNCPEXT2.EXE


Files Included:

Size

Date

Time

XNCPEXT2.TXT

(this file)

SGREP.NLM

15024

4-13-99

2:50 PM

METROWERKS.MCP

91593

4-13-99

2:50 PM

NLM.DEF

1290

4-13-99

2:50 PM

XNCPEXT2.MSG

139

4-13-99

2:50 PM

XNCPEXT2.TXT

2905

4-13-99

2:50 PM

16X16 ICONS FOR DS OBJECTS


Author:

RLE

Document ID:

TID102104

Date:

1999/04/13 9:34 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

NW_ICONS.EXE

Novell product class:

NetWare API

Novell product and version:

NetWare default

Category:

None

Compiler:

Default

Target OS:

Default

Abstract

This TID contains 16x16 icons for DS objects to be used in DS-aware Windows applications. Icons were extracted from NWAdmin.

Self-Extracting File Name: NW_ICONS.EXE


Files Included:

Size

Date

Time

NW_ICONS.TXT

(this file)

WRKSTN.ICO

318

4-13-99

6:58 AM

95USRPKG.ICO

318

4-13-99

6:58 AM

WINAPP.ICO

318

4-13-99

6:58 AM

WIN3APP.ICO

318

4-13-99

6:58 AM

VOLUME.ICO

318

4-13-99

6:58 AM

USER.ICO

318

4-13-99

6:58 AM

UNKNOWN.ICO

318

4-13-99

6:58 AM

TREE.ICO

318

4-13-99

6:58 AM

TEMPLATE.ICO

318

4-13-99

6:58 AM

SLPUNIT.ICO

318

4-13-99

6:58 AM

SLPAGENT.ICO

318

4-13-99

6:58 AM

SERVER.ICO

318

4-13-99

6:58 AM

SAS.ICO

318

4-13-99

6:58 AM

ROOT.ICO

318

4-13-99

6:58 AM

PSERVER.ICO

318

4-13-99

6:58 AM

PROFILE.ICO

318

4-13-99

6:58 AM

PRINTER.ICO

318

4-13-99

6:58 AM

PQUEUE.ICO

318

4-13-99

6:58 AM

PLICYPKG.ICO

318

4-13-99

6:58 AM

PACKAGE.ICO

318

4-13-99

6:58 AM

OU.ICO

318

4-13-99

6:58 AM

ORGROLE.ICO

318

4-13-99

6:58 AM

O.ICO

318

4-13-99

6:58 AM

NTWRKPKG.ICO

318

4-13-99

6:58 AM

NTUSRPKG.ICO

318

4-13-99

6:58 AM

NDPSPRNT.ICO

318

4-13-99

6:58 AM

NDPSMNGR.ICO

318

4-13-99

6:58 AM

NDPSBROK.ICO

318

4-13-99

6:58 AM

LSP.ICO

318

4-13-99

6:58 AM

LOCALITY.ICO

318

4-13-99

6:58 AM

LICENSE.ICO

318

4-13-99

6:58 AM

GWRESRCE.ICO

318

4-13-99

6:58 AM

GWOFFICE.ICO

318

4-13-99

6:58 AM

GWLIST.ICO

318

4-13-99

6:58 AM

GWLBRARY.ICO

318

4-13-99

6:58 AM

GWEXTENT.ICO

318

4-13-99

6:58 AM

GWDOMAIN.ICO

318

4-13-99

6:58 AM

GROUP.ICO

318

4-13-99

6:58 AM

DNSERVER.ICO

318

4-13-99

6:58 AM

DIRMAP.ICO

318

4-13-99

6:58 AM

DHCPSRVR.ICO

318

4-13-99

6:58 AM

COUNTRY.ICO

318

4-13-99

6:58 AM

CONNECT.ICO

318

4-13-99

6:58 AM

COMPUTER.ICO

318

4-13-99

6:58 AM

BINDERY.ICO

318

4-13-99

6:58 AM

AUDTFILE.ICO

318

4-13-99

6:58 AM

APFOLDER.ICO

318

4-13-99

6:58 AM

ALIAS.ICO

318

4-13-99

6:58 AM

95WRKPKG.ICO

318

4-13-99

6:58 AM

WRKSGRP.ICO

318

4-13-99

6:58 AM

NW_ICONS.MSG

126

4-13-99

6:58 AM


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