Novell is now a part of Micro Focus

Developer Pointers

Articles and Tips: article

01 Sep 1997


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)

File System Hook FSHOOK_PRE_GEN_MODIFY_NS_INFO Problem on NetWare 3.12


Author:

BR

Document ID:

TID101294

Date:

6/26/97 11:36 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

IFSHR001.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK

Category:

None

Abstract

NetWare 3.12, CLIB 3.12j

If you register for the File System Hook FSHOOK_PRE_GEN_MODIFY_NS_INFO--even if nothing is done in the hook--it can trash the stack at some point after the hook returns back to the file engine, resulting in an int 3 jump to the internal debugger.

The CLIB call NWSetNSInfo() will trigger this hook. The File Engine APIs in this category were meant to back up and restore name space file information without knowing the underlying structure. SMS is considered a better option for backup vendors.

This problem has been reported to engineering.

File Information

Self-Extracting File Name: IFSHR001.EXE


Files Included:

Size

Date

Time

IFSHR001.TXT

(this file)

IFSHR001.MSG

591

6-25-97

3:58 PM

Brainshare '97 Winsock 2 Code Break


Author:

EE

Document ID:

TID101308

Date:

7/2/97 11:47 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

D10D.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK

Category:

None

Abstract

This TID includes the Winsock 2 Code Break that was given at BrainShare '97. It includes sample code demonstrating the Winsock RNR Registration and Resolution API.

Detailed Description

Click index.htm to begin the presentation.

File Information

Self-Extracting File Name: D10D.EXE


Files Included:

Size

Date

Time

D10D.TXT

(this file)

IMG015.GIF

27096

7-2-97

11:46 AM

IMG014.HTM

309

7-2-97

11:46 AM

IMG014.GIF

26642

7-2-97

11:46 AM

IMG013.HTM

309

7-2-97

11:46 AM

IMG013.GIF

26250

7-2-97

11:46 AM

IMG012.HTM

471

7-2-97

11:46 AM

IMG012.GIF

27803

7-2-97

11:46 AM

IMG011.HTM

471

7-2-97

11:46 AM

IMG011.GIF

27768

7-2-97

11:46 AM

IMG010.HTM

309

7-2-97

11:46 AM

IMG010.GIF

27278

7-2-97

11:46 AM

IMG009.HTM

606

7-2-97

11:46 AM

WS2BROWS.PPT

591360

7-2-97

11:46 AM

TEXT.GIF

239

7-2-97

11:46 AM

SPACE.GIF

117

7-2-97

11:46 AM

SIZEBTN.HTM

350

7-2-97

11:46 AM

PREV.GIF

221

7-2-97

11:46 AM

PPTANI.GIF

9163

7-2-97

11:46 AM

PPFRAME.HTM

4544

7-2-97

11:46 AM

OUTLINEE.HTM

13683

7-2-97

11:46 AM

OUTLINEC.HTM

3055

7-2-97

11:46 AM

NOTE033.HTM

289

7-2-97

11:46 AM

NOTE032.HTM

907

7-2-97

11:46 AM

NOTE031.HTM

841

7-2-97

11:46 AM

NOTE030.HTM

1768

7-2-97

11:46 AM

NOTE029.HTM

601

7-2-97

11:46 AM

ACTIVEM.GIF

237

7-2-97

11:46 AM

NOTE027.HTM

808

7-2-97

11:46 AM

IMG001.GIF

33764

7-2-97

11:46 AM

IELOGO.GIF

8562

7-2-97

11:46 AM

HOME.GIF

243

7-2-97

11:46 AM

FIRST.GIF

243

7-2-97

11:46 AM

EXPAND.GIF

244

7-2-97

11:46 AM

COLLAPSE.GIF

237

7-2-97

11:46 AM

ACTIVEP.GIF

243

7-2-97

11:46 AM

NOTE028.HTM

1061

7-2-97

11:46 AM

D10D.TXT

6083

7-2-97

11:46 AM

NOTE026.HTM

938

7-2-97

11:46 AM

NOTE025.HTM

967

7-2-97

11:46 AM

NOTE024.HTM

838

7-2-97

11:46 AM

NOTE023.HTM

1492

7-2-97

11:46 AM

NOTE022.HTM

1083

7-2-97

11:46 AM

NOTE021.HTM

684

7-2-97

11:46 AM

NOTE020.HTM

1478

7-2-97

11:46 AM

NOTE019.HTM

766

7-2-97

11:46 AM

NOTE018.HTM

1574

7-2-97

11:46 AM

NOTE017.HTM

1651

7-2-97

11:46 AM

NOTE016.HTM

975

7-2-97

11:46 AM

NOTE015.HTM

1815

7-2-97

11:46 AM

NOTE014.HTM

705

7-2-97

11:46 AM

NOTE013.HTM

1463

7-2-97

11:46 AM

NOTE012.HTM

1747

7-2-97

11:46 AM

NOTE011.HTM

1081

7-2-97

11:46 AM

NOTE010.HTM

1541

7-2-97

11:46 AM

NOTE009.HTM

897

7-2-97

11:46 AM

NOTE008.HTM

823

7-2-97

11:46 AM

NOTE007.HTM

774

7-2-97

11:46 AM

NOTE006.HTM

1627

7-2-97

11:46 AM

NOTE005.HTM

289

7-2-97

11:46 AM

NOTE004.HTM

289

7-2-97

11:46 AM

NOTE003.HTM

289

7-2-97

11:46 AM

NOTE002.HTM

289

7-2-97

11:46 AM

NOTE001.HTM

289

7-2-97

11:46 AM

NEXT.GIF

226

7-2-97

11:46 AM

NAVBTN.HTM

753

7-2-97

11:46 AM

LAST.GIF

242

7-2-97

11:46 AM

INFO.GIF

248

7-2-97

11:46 AM

INDEX.HTM

3431

7-2-97

11:46 AM

IMG033.HTM

309

7-2-97

11:46 AM

IMG025.GIF

30153

7-2-97

11:46 AM

IMG024.HTM

309

7-2-97

11:46 AM

IMG024.GIF

26319

7-2-97

11:46 AM

IMG023.HTM

309

7-2-97

11:46 AM

IMG023.GIF

28648

7-2-97

11:46 AM

IMG022.HTM

469

7-2-97

11:46 AM

IMG022.GIF

27259

7-2-97

11:46 AM

IMG021.HTM

309

7-2-97

11:46 AM

IMG021.GIF

26725

7-2-97

11:46 AM

IMG020.HTM

472

7-2-97

11:46 AM

IMG020.GIF

25516

7-2-97

11:46 AM

IMG019.HTM

612

7-2-97

11:46 AM

IMG019.GIF

26037

7-2-97

11:46 AM

IMG018.HTM

475

7-2-97

11:46 AM

IMG018.GIF

28342

7-2-97

11:46 AM

IMG017.HTM

309

7-2-97

11:46 AM

IMG033.GIF

33790

7-2-97

11:46 AM

IMG032.HTM

577

7-2-97

11:46 AM

IMG032.GIF

26211

7-2-97

11:46 AM

IMG031.HTM

309

7-2-97

11:46 AM

IMG031.GIF

25687

7-2-97

11:46 AM

IMG030.HTM

309

7-2-97

11:46 AM

IMG030.GIF

24849

7-2-97

11:46 AM

IMG029.HTM

309

7-2-97

11:46 AM

IMG029.GIF

28658

7-2-97

11:46 AM

IMG028.HTM

309

7-2-97

11:46 AM

IMG028.GIF

28773

7-2-97

11:46 AM

IMG027.HTM

309

7-2-97

11:46 AM

IMG027.GIF

23750

7-2-97

11:46 AM

IMG026.HTM

309

7-2-97

11:46 AM

IMG026.GIF

29315

7-2-97

11:46 AM

IMG025.HTM

309

7-2-97

11:46 AM

IMG009.GIF

28973

7-2-97

11:46 AM

IMG008.HTM

464

7-2-97

11:46 AM

IMG008.GIF

27435

7-2-97

11:46 AM

IMG007.HTM

841

7-2-97

11:46 AM

IMG007.GIF

26204

7-2-97

11:46 AM

IMG006.HTM

457

7-2-97

11:46 AM

IMG006.GIF

24958

7-2-97

11:46 AM

IMG005.HTM

309

7-2-97

11:46 AM

IMG005.GIF

23433

7-2-97

11:46 AM

IMG004.HTM

309

7-2-97

11:46 AM

IMG004.GIF

27454

7-2-97

11:46 AM

IMG003.HTM

461

7-2-97

11:46 AM

IMG003.GIF

29263

7-2-97

11:46 AM

IMG002.HTM

309

7-2-97

11:46 AM

IMG002.GIF

15944

7-2-97

11:46 AM

IMG001.HTM

309

7-2-97

11:46 AM

D10D.MSG

166

7-2-97

11:46 AM

IMG017.GIF

26220

7-2-97

11:46 AM

CODE.EXE

3201200

7-2-97

11:46 AM

IMG016.GIF

26946

7-2-97

11:46 AM

IMG015.HTM

1461

7-2-97

11:46 AM

IMG016.HTM

471

7-2-97

11:46 AM

NLS Licence Certificate Format Omitted from SDK Release 12 Documentation


Author:

BR

Document ID:

TID101304

Date:

6/27/97 9:43 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

PNLS12A.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK

Category:

None

Abstract

The documentation for SDK Release 12 NWSDK has been reformatted. The Novell Licensing System (NLS) License Certificate Format appendix was accidentally omitted. Therefore, the self-executing Envoy document NLSCERT.EXE has been provided.

File Information

Self-Extracting File Name: PNLS12A.EXE


Files Included:

Size

Date

Time

PNLS12A.TXT

(this file)

NLSCERT.EXE

531385

6-27-97

9:42 AM

PNLS12A.MSG

240

6-27-97

9:42 AM

Finds the Print Job Size


Author:

RM

Document ID:

TID101299

Date:

6/26/97 11:36 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

RPRTSIZE.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK

Category:

None

Abstract

This program will read a print queue then take the job files and return the file size.

The USER logged in must be in the QUEUE SERVER list in the bindery to attach to the queue. Because PCONSOLE does not have this functionality, the ADDPSERV.C utility has been provided.

This program will take the jobs starting from the position passed in on the command line and write them out to disk.

File Information

Self-Extracting File Name: RPRTSIZE.EXE


Files Included:

Size

Date

Time

RPRTSIZE.TXT

(this file)

PRTSIZE.EXE

80620

6-26-97

11:28 AM

PRTSIZE.C

10930

6-26-97

11:28 AM

RPRTSIZE.MSG

396

6-26-97

11:28 AM

NWGetPathFromDirectoryBase Replaces NWGetPathFromDirectoryEntry


Author:

MM

Document ID:

TID101307

Date:

7/2/97 9:15 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

ISCNDIR.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK

Category:

None

Abstract

The API that replaces NWGetPathFromDirectoryEntry is NWGetPathFromDirectoryBase. This call is currently undocumented but will be documented in a future SDK release.

Detailed Description

The API that replaces NWGetPathFromDirectoryEntry is NWGetPathFromDirectoryBase. There are some differences between these two functions. The path from NWGetPathFromDirectoryBase is returned as a group of components. Each directory, subdirectory, or file in the path is considered to be a component. Each component is length preceded and is followed by the next component. The path is ended by a null. This call is currently undocumented but will be documented in a future SDK release.

NWGetPathFromDirectoryBase will allow you to convert information returned from NWScanOpenFilesByConn2 to a path.

File Information

Self-Extracting File Name: ISCNDIR.EXE


Files Included:

Size

Date

Time

ISCNDIR.TXT

(this file)

ISCNDIR.MSG

161

7-2-97

9:15 AM

Adding values to NDS attributes


Author:

HW

Document ID:

TID101215

Date:

4/21/97 1:14 PM

Alert status:

Yellow

Information type:

Issue

Readme for:

ADDVALUE.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK

Category:

None

Abstract

The SDK documentation now has all the possible values for the NWDSPutChange API. This TID discusses when to use which value in order to add values to an attribute.

There are two types of attributes, single valued and multivalued(default), that may or may not have been previously initialized.

DS_ADD_ATTRIBUTE will succeed if the target attribute has no value. Note that for a multivalued attribute, multiple values may be specified for the request.

DS_ADD_VALUE and DS_ADDITIONAL_VALUE behave the same. In spite of the SDK documentation, both allow the addition of values to multivalued attributes, but do not allow duplicate entries.

DS_OVERWRITE_VALUE can be used to instantiate attributes with one or multiple values without doing existence checking. Also, this can be used to have a remove/add operation in one step when performed against a single valued attribute. For multivalued attributes, DS_OVERWRITE_VALUE merges the new values with the existing ones; they are not replaced. It would be hard to find out what values to replace if, for instance, the count of old and new values does not match. An interesting aspect to DS_OVERWRITE_VALUE is that duplicate values within the request are coalesced into one that is added. Also, DS_OVERWRITE_VALUE will succeed if the new value already exists. In both of these cases, DS_ADD_VALUE or DS_ADDITIONAL_VALUE would fail with an error -614.

File Information

Self-Extracting File Name: ADDVALUE.EXE


Files Included:

Size

Date

Time

ADDVALUE.TXT

(this file)

ADDVALUE.MSG

165

4-21-97

11:17 AM

Using NCP Extensions with SMP NLMs


Author:

JB

Document ID:

TID101295

Date:

6/26/97 11:36 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

JFB97005.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK

Category:

None

Abstract

This sample code implements an NCP extension NLM using multiple SMP threads. When a request is received, the packet is passed to a waiting SMP thread for processing.

Detailed Description

The overhead of migrating a thread from the main processor to a secondary processor can be high. To avoid this overhead, it is better to have threads waiting on secondary processors for work. When an NCP request is received, the packet can then be passed on a waiting SMP thread.

The sample code uses the following functions:


BeginThread()

GetCurrentScreen()

GetNLMHandle()

GetThreadGroupID()

GetThreadID()

ImportSymbol()

NWDeRegisterNCPExtension()

NWRegisterNCPExtension()

ResumeThread()

SetCurrentScreen()

SetThreadContextSpecifier()

SetThreadGroupID()

SuspendThread()

UnimportSymbol()

File Information

Self-Extracting File Name: JFB97005.EXE


Files Included:

Size

Date

Time

JFB97005.TXT

(this file)

SMPPRIME.DEF

433

6-25-97

4:00 PM

VIEWER.CPP

4148

6-25-97

4:00 PM

SMPPRIME.H

2068

6-25-97

4:00 PM

SMPPRIME.CPP

12620

6-25-97

4:00 PM

JFB97005.MSG

166

6-25-97

4:00 PM

SMS: Identifying Target Service Type


Author:

DJ

Document ID:

TID101306

Date:

6/30/97 2:54 PM

Alert status:

Yellow

Information type:

Issue

Readme for:

SMS_SVC.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK

Category:

None

Abstract

This TID describes an update to NWSMTSGetTargetServiceType().

Detailed Description

A developer recently reported that NWSMTSGetTargetServiceType() was not working correctly on the OS/2 remote TSA. Further research indicated that the call did in fact work correctly on OS/2, but with the caveat that it must be called after connecting to the TSA, but before connecting to a target service. Note that this API returns a string for target service type (e.g., "DOS," "NetWare," etc.) along with the version number of the TSA.

Also, it was discovered that this API did not work correctly in the MAC TSA and Win 95 TSA. This has been corrected in both TSAs.

File Information

Self-Extracting File Name: SMS_SVC.EXE


Files Included:

Size

Date

Time

SMS_SVC.TXT

(this file)

SMS_SVC.MSG

62

6-30-97

2:53 PM

Gets a NetWare Connection Handle by Reference


Author:

RM

Document ID:

TID101298

Date:

6/26/97 11:36 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

RCONBYRF.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK

Category:

None

Abstract

This TID explains how to get the connection handle from the server using the primary reference.

File Information

Self-Extracting File Name: RCONBYRF.EXE


Files Included:

Size

Date

Time

RCONBYRF.TXT

(this file)

CONNBYRF.EXE

82944

6-26-97

9:20 AM

CONNBYRF.CPP

4801

6-26-97

9:20 AM

RCONBYRF.MSG

73

6-26-97

9:20 AM

ManageWise Loopback Trap Sample Issue


Author:

SP

Document ID:

TID101257

Date:

5/27/97 9:35 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

IMWS001.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK

Category:

None

Abstract

WST, the sample that sends a trap to the loopback address, may not work as expected under some versions or configurations of the TCP/IP stack. This TID demonstrates a change to correct the problem.

Detailed Description

The file wstest.c in the ManageWise SDK SAMPLES\LOOPBACK directory sets the socket address for the destination with the following line:

ForeignSocket.sin_addr.s_addr = ntohl(0x00000000);

With some versions and configurations of the TCP/IP stack, the address is not replaced by the local address as assumed. In these cases, use the following for loopback:

ForeignSocket.sin_addr.s_addr = inet_addr(127.0.0.1);

If you use the Novell TCP/IP stack, 127 must be listed in the net\tcp\networks file.

File Information

Self-Extracting File Name: IMWS001.EXE


Files Included:

Size

Date

Time

IMWS001.TXT

(this file)

IMWS001.MSG

198

5-27-97

9:35 AM

Gets the Default Queue Name


Author:

RM

Document ID:

TID101302

Date:

6/27/97 8:53 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

RGTQUENM.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK

Category:

None

Abstract

This TID explains how to get the default queue name when the printer name for NDS is passed in.

File Information

Self-Extracting File Name: RGTQUENM.EXE


Files Included:

Size

Date

Time

RGTQUENM.TXT

(this file)

PRINTER.C

7248

6-27-97

8:52 AM

PRINTER.EXE

263030

6-27-97

8:52 AM

RGTQUENM.MSG

75

6-27-97

8:52 AM

Opening SYN_STREAM Attributes in Win32 Applications


Author:

JB

Document ID:

TID101300

Date:

6/27/97 1:58 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

JFB97006.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK

Category:

None

Abstract

The file handle returned by NWDSOpenStream() cannot be used by standard I/O functions such as read(), write(), etc.

Detailed Description

The documentation provided for NWDSOpenStream() states that the function returns a file handle appropriate for the platform. In the case of Win32, this is an operating-system file handle. The function _open_osfhandle() has to be used to associate a C runtime file handle with the existing operating-system file handle. The C runtime file handle can then be used with standard functions like read(), write(), etc.

The following sample code can be used to read a user's login script:


NWDSCCODEReadLoginScript(NWDSContextHandle handle, char * user)

{

NWFILE_HANDLE nwHandle = 0 ;

NWDSCCODE

ccode ;

ccode = NWDSOpenStream(handle,user,"LoginScript",1L,& nwHandle) ;

if (ccode) return ccode ;

int fh = _open_osfhandle((long)nwHandle,_O_RDONLY);

if (fh == -1) return -1 ;

char buffer[256] ;

while (read(fh,buffer,sizeof(buffer)) > 0)

printf(buffer) ;

printf("") ;

close(fh) ;

return 0 ;

}

File Information

Self-Extracting File Name: JFB97006.EXE


Files Included:

Size

Date

Time

JFB97006.TXT

(this file)

JFB97006.MSG

116

6-27-97

1:58 AM

SMS and Archive Bits


Author:

DJ

Document ID:

TID101305

Date:

6/30/97 1:17 PM

Alert status:

Yellow

Information type:

Issue

Readme:

SMS_ARCH.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK

Category:

None

Abstract

This TID discusses archive bits as they pertain to native NetWare file systems.

Detailed Description

A developer recently asked what file attribute bits should be examined/manipulated for the purpose of archiving.

The _A_ARCH bit can be set by a backup engine to indicate that a file/directory has been backed up. Subsequent modifications will turn this bit off.

The _A_ATTR_ARCHIVE bit is significant in that it reflects if a change has occurred in a file's meta data (ownership, trustee information, etc.).

File Information

Self-Extracting File Name: SMS_ARCH.EXE


Files Included:

Size

Date

Time

SMS_ARCH.TXT

(this file)

SMS_ARCH.MSG

80

6-30-97

1:17 PM

SMP Threads Running on P0 May Cause Abend


Author:

JB

Document ID:

TID101296

Date:

6/26/97 11:36 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

SMPINTR.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK

Category:

None

Abstract

If the processors other than P0 are heavily used, threads migrated to SMP may stay on P0, yet under SMP's control. Enabling the "SMP Developer Option" in this situation leads to abends.

Detailed Description

The problem encountered here is that although threads migrated to SMP may stay on P0, they run in SMP context. If a hardware interrupt that is to be handled in NetWare context only occurs while such a thread is running, the need to migrate the thread into the NetWare context arises on many of the functions that the interrupt handler may call. However, within an interrupt handler, migration is not allowed (as this is a blocking operation). The fact that migration did not succeed is normally hidden from the user (the function is executed in the SMP context without further notice, which might cause other types of problems), but with "SMP Developer Option" set to ON, this results in an INT 3 breakpoint with the SMP debugger popping up.

Theoretically, this should be preventable by setting "SMP NetWare Kernel Mode" to DEDICATED, but this set command has no effect on the SMP scheduler at present.

File Information

Self-Extracting File Name: SMPINTR.EXE


Files Included:

Size

Date

Time

SMPINTR.TXT

(this file)

SMPINTR.MSG

175

6-25-97

4:02 PM

Clear Connection by Name or Number


Author:

RM

Document ID:

TID101297

Date:

6/26/97 11:36 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

RCLRCON.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK

Category:

None

Abstract

This program will clear a specified connection number from the server specified, or if the name of the user is passed in, it will clear that user's first connection.

File Information

Self-Extracting File Name: RCLRCON.EXE


Files Included:

Size

Date

Time

RCLRCON.TXT

(this file)

CLRCONN.CPP

10374

6-26-97

8:51 AM

CLRCONN.EXE

33792

6-26-97

8:51 AM

RCLRCON.MSG

164

6-26-97

8:51 AM

NWDSReturnBlockOfAvailableTrees Returned 89fc for NT and OS/2


Author:

MM

Document ID:

TID101229

Date:

5/1/97 12:02 PM

Alert status:

Yellow

Information type:

Issue

Readme for:

IRETTREE.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK

Category:

None

Abstract

NWDSReturnBlockOfAvailableTrees returned 89fc for NT and OS/2 for SDK10 and SDK11. The netwin32.dll and netos232.dll will be fixed in release 12.

File Information

Self-Extracting File Name: IRETTREE.EXE


Files Included:

Size

Date

Time

IRETTREE.TXT

(this file)

IRETTREE.MSG

146

5-1-97

12:01 PM

Return String in Appropriate Country Code


Author:

RM

Document ID:

TID101301

Date:

6/27/97 8:51 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

RSTRNUM.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK

Category:

None

Abstract

This program will take in a value (long) and return a string in the appropriate country code. For example, 1.234 for France or 1,234 for the USA.

File Information

Self-Extracting File Name: RSTRNUM.EXE


Files Included:

Size

Date

Time

RSTRNUM.TXT

(this file)

STRNUM.EXE

56090

6-27-97

8:51 AM

STRNUM.C

3936

6-27-97

8:51 AM

RSTRNUM.MSG

130

6-27-97

8:51 AM

Performance Metrics of NWSMTSScanDataSetBegin()


Author:

DJ

Document ID:

TID101289

Date:

6/25/97 2:03 PM

Alert status:

Yellow

Information type:

Issue

Readme for:

SMS_SDS.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK

Category:

None

Abstract

This document describes performance tests done on ScanDataSetBegin() and includes code used in testing this API.

Detailed Description

An SMS developer recently inquired about the performance of ScanDataSetBegin(). He felt that this call induced a significant performance degradation during backup. The SMS development team created a test case that included measuring execution times for both a normal scan sequence and an archive backup (in which a ScanDataSetBegin() and a ScanDataSetEnd() is executed for each file).

The results of the testing indicate that, on average, ScanDataSetBegin() executes in approximately 4.5 milliseconds in archive mode and slightly more than 4.5 milliseconds in normal backup mode, depending upon the number of files to be scanned. Note that these numbers represent only slightly longer execution times than other general SMS APIs.

Two files are attached to this TID: results.txt, which shows the results of the various tests that were conducted, and sortset.cpp, which is the actual test code.

File Information

Self-Extracting File Name: SMS_SDS.EXE


Files Included:

Size

Date

Time

SMS_SDS.TXT

(this file)

RESULTS.TXT

5394

6-25-97

2:03 PM

SORTSET.CPP

15389

6-25-97

2:03 PM

SMS_SDS.MSG

115

6-25-97

2:03 PM

GW 4.1a User's Guide (.EXE format)


Author:

MA

Document ID:

TID101082

Document revision:

A

Date:

1/15/97 5:49 PM

Alert status:

Yellow

Information type:

Issue

Readme for:

GW4DOT00.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

GroupWare

Abstract

The GroupWise 4.1 User's Guide (as distributed on the Novell Software Connection Library CD #12) will not create an EXE file. The problem is due to the NGWUSUG.EVY file on the CD having been originally created (several years ago) with an old version of Envoy.

File Information

Self-Extracting File Name: GW4DOT00.EXE


Files Included:

Size

Date

Time

GW4DOT00.TXT

(this file)

Latest Version of TSANDS for NetWare 4.11


Author:

DJ

Document ID:

TID101288

Date:

6/25/97 2:02 PM

Alert status:

Yellow

Information type:

Issue

Readme for:

SMS_NDS1.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK

Category:

None

Abstract

The latest version of TSANDS corrects numerous NDS backup issues. This TID describes some of these corrected issues.

Detailed Description

The latest version of TSANDS.NLM, version 4.14 (file size 84099) corrects a number of problems reported by SMS developers. Here are a few reported scenarios:

NWSMTSWriteDataSet returns FFFD FEC5 (No such attribute - NDS) on restore.

This error can be traced to the backup. During backup, incorrect buffer fragmentation occurred while ReadDataSet() was being executed. Thus, not all of the schema associated with the object was backed up. Upon restore, the schema is restored first, so when the corresponding object to be restored was read from tape, its schema was not complete, thus the error code.

Large chunks of data missing between the buffers obtained back from ReadDataSet()...

This problem again points to buffer fragmentation. Interestingly, the developer who reported this problem indicated that the problem did not occur when using Novell's SBACKUP program. This was probably due to the fact that SBACKUP uses a 64K buffer for reads, and the developer was using a much smaller buffer. The small buffer exposed the problem with incorrect fragmentation.

0 -601 error from NDS (schema has no class) is another manifestation of the backup not getting the complete schema.

All of the above-reported problems were corrected by the latest version of TSANDS. Additionally, one developer reported that a problem he was researching on NetWare 4.10 was corrected through this TSA (the above-mentioned problems were specific to 4.11).

The attached file is a self-extracting executable containing TSANDS.NLM, and an associated document.

File Information

Self-Extracting File Name: SMS_NDS1.EXE


Files Included:

Size

Date

Time

SMS_NDS1.TXT

(this file)

SMS_NDS1.MSG

119

6-25-97

2:01 PM

TSANDS.EXE

56732

6-25-97

2:01 PM

NCP Extension Limitations


Author:

JB

Document ID:

TID101219

Date:

4/21/97 1:15 PM

Alert status:

Yellow

Information type:

Issue

Readme for:

NCPXLIM.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK

Category:

None

Abstract

This TID enumerates several limitations and problems with NCP extension services.

Detailed Description

NCP extension data transfer is currently limited to slightly above 500 bytes per packet. Such a limit is documented for the NWNCPExtensionRequest, but not for NWFragNCPExtensionRequest.

Also, only under certain special conditions are the fragments passed to NWFragNCPExtensionRequest directly used to construct the NCP; in most cases, an additional intermediate buffer is being used.

Attempting to receive more than the documented limit of bytes through NWNCPExtensionRequest results in the reply data size not being returned. This is due to the fact that this function in this case (as documented) maps to NWFragNCPExtensionRequest, which does not allow (currently) this information to be returned to the caller.

In the NLM environment, sending an NCP extension request to an NCP extension server located on the local server causes memory corruption with the modular (4.11) CLib. This was not the case with previous versions of Clib. All these shortcomings have been reported to engineering for appropriate rectification.

File Information

Self-Extracting File Name: NCPXLIM.EXE


Files Included:

Size

Date

Time

NCPXLIM.TXT

(this file)

NCPXLIM.MSG

78

4-21-97

11:20 AM

NWGetUserInfo


Author:

RM

Document ID:

TID101077

Document revision:

A

Date:

1/15/97 5:47 PM

Alert status:

Yellow

Information type:

Issue

Readme for:

RUSRINFO.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK 1.0e

Category:

Client SDK - DOS

Abstract

This sample code demonstrates how to print the byte read and written in the user_info structure of NWGetUserInfo. The code was compiled in Win95 as a console application using Microsoft C++ 4.0.

File Information

Self-Extracting File Name: RUSRINFO.EXE


Files Included:

Size

Date

Time

RUSRINFO.TXT

(this file)

USERINFO.CPP

12648

12-2-96

11:41 PM

USERINFO.EXE

80384

12-2-96

11:41 PM

Set the Country Then Add DR as Alias in NDS


Author:

RM

Document ID:

TID101303

Date:

6/27/97 8:53 AM

Alert status:

Yellow

Information type:

Issue

Readme for:

RSTALIAS.EXE

Novell product class:

NetWare API

Novell product andversion:

NetWare SDK

Category:

None

Abstract

This code will set the Country in NDS and then add the alias DR.

File Information

Self-Extracting File Name: RSTALIAS.EXE


Files Included:

Size

Date

Time

RSTALIAS.TXT

(this file)

SETALIAS.C

6115

6-27-97

8:51 AM

RSTALIAS.MSG

70

6-27-97

8:51 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