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.