Int 2F/AX=7A20h/BX=0000h

Prev Next Ralf Interrups Categories Contents

------

Novell NetWare - Adv NetWare 4.0 DOS Requester - GET VLM CALL ADDRESS

AX = 7A20h
BX = 0000h

Return:
AX = 0000h on success (installed) ES:BX -> far call address for DOS Requester (see #02859)

Notes: The DOS Requester replaces the NetWare Shell (ANETx, NETx) on NetWare LAN's as of the release of Advanced NetWare 4.0 (1993). It is backward compatible with NetWare 2.1x through 3.11 servers as well. Note that there was a NetWare 4.0 in the early 1980's, which can cause confusion.. This call is used as the installation check by VLM.EXE, which is the loader for all the modules of the DOS Requester. .VLMs are standard old .EXE format executables whose normal entry point merely terminates to prevent loading from the command line (Novell's VLMs all return errorlevel 6). The real entry point is found by looking at the VLM header at the beginning of the load image (see #02862)

Index:
Installation check;NetWare 4.0 DOS Requester

See Also: AX=7A20h/BX=0001h - AX=7A20h/BX=0002h

(Table 02859) Call DOS Requester entry point with:.

STACK:
WORD destination function WORD destination VLM ID (see #02861) WORD source VLM ID (0000h = application program). Other registers (except BP) as appropriate for function

Return:
AX = status code (0000h,8811h,8846h,8848h,8853h) (see #02860) ZF set if successful, clear on error other registers as appropriate for function STACK popped BP destroyed

(Table 02860) Values for VLM status code: 0000h successful 88xxh error generated by requester 8801h invalid or non-attached connection handle 8802h drive in use (OS/2 only) 8803h cannot add CDS 8804h bad path 8805h error sending or receiving NCP packets 8806h unknown network error 8807h invalid server connection slot 8808h no connection slots available 880Ah no route to server 880Bh "BAD_LOCAL_TARGET" (OS/2 only) 880Ch too many request fragments 880Dh "CONNECT_LIST_OVERFLOW" (OS/2 only) 880Eh buffer overflow on receive 880Fh no connection to server 8810h no router found (OS/2 only) 8811h nonexistent function called 8830h internal server request attempted between two separate connections 8831h no primary connection set 8833h invalid buffer length 8834h invalid user name 8835h no local print spooler installed 8836h attempted function with invalid parameter 8837h failed to open configuration file (OS/2 only) 8838h no configuration file (OS/2 only) 8839h configuration file read failed (OS/2 only) 883Ah line too long in configuration file (OS/2 only) 883Bh configuration lines ignored (OS/2 only) 883Ch foreign resource 883Dh daemon already installed (OS/2 only) 883Eh print spooler already installed 883Fh local connection table already full 8840h configuration section not found (OS/2 only) 8841h invalid transport type 8842h TDS tag in use (OS/2 only) 8843h TDS out of memory (OS/2 only) 8844h called TDS function with invalid tag 8845h TDS write was truncated 8846h called partially asynchronous function while it was busy 8847h unable to find any responding servers 8848h non-loaded or nonexistent VLM called 8849h network drive already mapped 884Ah attempted map to local drive which was already in use 884Bh no more drives available for mapping 884Ch device is not redirected 884Dh no more SFT entries (too many handles) 884Eh unable to unload 884Fh connection entry was already in use 8850h too many reply fragments 8851h name table already full 8852h socket not open 8853h memory management error 8854h SFT III switch occurred in mid-transfer 8855h preferred server was not found (alternate returned) 8856h device not recognized 8857h bad network byte 88A0h memory allocation error 88A1h connection timeout failure

88A2h transport:
Bad request 88A3h specified transport not installed 88A4h unable to open connection with specified parameters 88A6h unsupported function 88A7h no such task 88A8h too many tasks 88A9h version mismatch 88AAh request cancelled 88ABh invalid NDS name 88ACh unable to perform operation while logged into NDS 88ADh requester not available for use 88AEh MacIPX not configured properly 88AFh no servers found 88B0h no volume or session associated with identifier 88B1h not a NetWare volume 88B2h MacIPX version incompatible with Requester 88B4h MacIPX not open 88B5h insufficient stack 88B6h client API already initialized 88B7h checksums required by client are not available 88B8h packet signing required by client are not available 88B9h server requires checksum 88BAh server requires packet signing 88BBh already logged in 88BCh negotiated checksums but connection timed out 89xxh error generated by server. Low byte = return code from server (see also #01927,#01961) 8900h server successful 8901h out of disk space 897Eh NCP boundary check failed 897Fh ??? 8980h lock failed; file in use 8981h out of handles 8982h no open privileges 8983h hard (non-correctable) I/O error 8984h no creation privileges 8985h no create/delete privileges 8986h attempted to create a file which already exists read-only 8987h filename error during creation (wildcards in name) 8988h invalid file handle 8989h no search privileges 898Ah no deletion privileges 898Bh no rename privileges 898Ch no modify privileges 898Dh some affected files are in use 898Eh all affected files are in use 898Fh some affected files are read-only 8990h all affected files are read-only; volume read-only 8991h some files could not be renamed because target names already exist 8992h all affected names exist 8993h no read privileges 8994h no write privileges 8995h file detached 8996h server out of memory 8997h no disk space for spool file 8998h disk map error; volume does not exist 8999h directory full 899Ah attempt to rename across volumes 899Bh bad directory handle 899Ch invalid path; no more trustees 899Dh no directory handles 899Eh bad filename 899Fh directory active 89A0h directory not empty 89A1h directory I/O error 89A2h I/O lock error 89A3h-89A5h ??? 89A6h auditing is active 89A7h auditing version error 89A8h no auditing rights 89A3h-89BEh ??? 89BFh invalid name space 89C0h no account privileges 89C1h no account balance 89C2h credit limit exceeded 89C4h account disabled 89C5h login lockout (intruder detection activated) 89C6h no console rights 89C7h-89CFh 89D0h queue error 89D1h no queue 89D2h no queue server 89D3h no queue rights 89D4h queue full 89D5h no queue job 89D6h no job rights; unencrypted password 89D7h queue servicing error; duplicate password; bad account 89D8h queue not active; password too short 89D9h station not queue server; maximum logins exceeded 89DAh queue halted; bad login time 89DBh maximum queue servers; unauthorized login station 89DCh account disabled or expired 89DEh password expired (all grace logins used up) 89DFh password expired but login allowed (grace login) 89E0h-89E6h ??? 89E7h no disk track 89E8h property is not an item property; write to group 89E9h member exists 89EAh no such member 89EBh property is not a set property 89ECh no such set 89EDh property exists 89EEh object exists 89EFh illegal name 89F0h illegal wildcard 89F1h invalid bindery security level 89F2h not allowed to read object 89F3h not allowed to write/rename object 89F4h not allowed to delete object 89F5h not allowed to create object 89F6h not allowed to delete property 89F7h not allowed to create property; attempt to use non-local drive 89F8h not allowed to write property; already attached to server 89F9h not allowed to read property; no free connection slots 89FAh temporary remap error; no more server slots 89FBh no such property; invalid parameters 89FCh no such object; internet packet request canceled; unknown file server 89FDh bad station number; lock collision 89FEh directory locked; bindery locked; timeout 89FFh general error; hard error; lock error

Note: Some server-generated error codes have multiple interpretations; use the one appropriate to the failing call

(Table 02861) Values for VLM identifier: 0001h VLM.EXE Virtual Loadable Modules manager (see also #02864) 0010h CONN.VLM connection table manager (see also #02867) 0020h TRAN.VLM transport protocol multiplexor (see also #02871) 0021h IPXNCP.VLM transport protocol implementation using IPX (see #02873) 0022h TCPNCP.VLM TCP/IP transport 0030h NWP.VLM NetWare protocol multiplexor (see also #02875) 0031h BIND.VLM bindery 0032h NDS.VLM NetWare Directory Services (see also #02877) 0033h PNW.VLM Personal NetWare 0034h RSA.VLM RSA encryption for directory services re-authentication 0040h REDIR.VLM DOS redirector (see also #02879) 0041h FIO.VLM file I/O (see also #02882) 0042h PRINT.VLM printer redirector (see also #02884) 0043h GENERAL.VLM misc functions for NETx and REDIR (see also #02888) 0050h NETX.VLM NetWare shell compatibility (see also #02890) 0060h AUTO.VLM auto-reconnect/auto-retry 0061h SECURITY.VLM enhanced security module (see #02892) 0100h NMR.VLM NetWare management responder 09F2h DRVPRN.VLM Desktop SNMP Services - Drive/Printer Mappings 09F5h SAA.VLM SAA client API for Netware 09F6h IPXMIB.VLM SNMP IPX-monitoring Module??? 09F7h PNWMIB.VLM Personal Netware SNMP Instrumentation Module 09F8h PNWTRAP.VLM Personal Netware SNMP Trap Module 09F9h MIB2PROT.VLM MIB-II Protocol Groups 09FAh MIB2IF.VLM MIB-II Interfaces Group 09FBh NVT.VLM ??? 09FCh WSTRAP.VLM Desktop SNMP Services - Trap Module 09FDh WSREG.VLM Desktop SNMP Services - Registration Module 09FEh WSASN1.VLM Desktop SNMP Services - ASN.1 Module 09FFh WSSNMP.VLM Desktop SNMP Services - Agent Module

Format of VLM header: Offset Size Description (Table 02862) 00h DWORD -> initialization entry point 04h DWORD -> VLM API entry point 08h DWORD -> ??? entry point 0Ch DWORD -> ??? entry point 10h DWORD -> ??? entry point. ... var DWORD 00000000h (end of entry point list) 4 BYTEs signature "NVlm". WORD VLM identifier (see #02861) ---v1.20+ --- 1Eh WORD ??? 20h WORD Transient Switch Count 22h WORD VLM Call Count 24h WORD Offset ControlBlocks (See #02863) 26h WORD Current VLMID 28h BYTE Memory Type 00h=Conventional 02h=EMS 04h=XMS 29h BYTE Modules Loaded 2Ah WORD BlockId 2Ch WORD Transient Block 2Eh WORD Global Segment 30h 3 DWORDs pointers to AsyncQueue head, tail, and s??? 3Ch 3 DWORDs pointers BusyQueue head, tail, and s??? 48h WORD ReEntrance Level 4Ah WORD Full Map Count 4Ch WORD ??? 4Eh 80 BYTEs ASCIZ configuration file filename

Note: The number of entry points in the header is reported as "Func" in the VLM /D display.

Format of VLM Control Block for VLM v1.20 [array]: Offset Size Description (Table 02863) 00h WORD Flag 02h WORD VLM Identifier (See #02861) 04h WORD Func 06h WORD Maps 08h WORD number of times called 0Ah WORD ??? 0Ch WORD Transient Segment 0Eh WORD Global Segment 10h WORD Address Low 12h WORD Address High 14h WORD TSegSize 16h WORD GSegSize 18h WORD SSegSize 1Ah BYTE VLMName[9] ASCIZ

Note: This information is shown in VLM /d under the dashed line. There are as many 35-byte blocks as modules loaded

See Also: #02862

(Table 02864) Call VLM Manager (VLM.EXE, ID 0001h) with: Func Description/Registers 01h VLM Notify. BX = function 0000h get version

Return:
AX = status (see #02860) BX = major version of VLM supported (0001h) CX = minor version of VLM supported (0000h) 03h VLM Statistics. CX = length of buffer. ES:DI -> buffer for statistics (see #02865).

Return:
AX = status (0000h if successful) buffer filled if successful 04h VLM internal use. BX = function 0000h get interrupt vector (calls INT 21/AH=35h) 0001h begin critical section (calls INT 2F/AX=1681h) 0002h end critical section (calls INT 2F/AX=1682h) 0003h ???

Format of VLM.EXE statistics: Offset Size Description (Table 02865) 00h WORD size of statistics record in bytes (including this word) 02h WORD number of times a VLM has been mapped into memory 04h WORD number of times a VLM has been called 06h WORD offset of vcbArray buffer 08h WORD VLM ID of VLM currently mapped into memory

0Ah BYTE memory type:
Conventional/EMS/XMS 0Bh BYTE number of loaded VLMs 0Ch WORD EMS/XMS handle or 0000h if conventional memory 0Eh WORD start segment for conventional memory swap 10h WORD segment for global memory, or 0000h if conventional memory 12h 12 BYTEs queue structure for asynchronous calls (see #02866) 1Eh 12 BYTEs queue structure for synchronous calls (see #02866) 2Ah WORD current re-entrance level 2Ch WORD number of times EMS/XMS map-out performed 2Eh BYTE stack switch control

2Fh BYTE flag:
Nonzero if switcher loaded 30h 80 BYTEs pathname of configuration file

See Also: #02864

Format of VLM.EXE queue structure: Offset Size Description (Table 02866) 00h DWORD queue head (initially 00000000h) 04h DWORD queue tail (initialized to be same as head) 08h WORD current queue size (number of nodes in queue) 0Ah WORD maximum queue size (in nodes)

See Also: #02865

(Table 02867) Call Connection Manager (CONN.VLM, ID 0010h) with: Func Description/Registers 01h Conn Get Version. BX = function 0000h get version

Return:
AX = status (see #02860) BX = major version of VLM supported (0001h) CX = minor version of VLM supported (0000h) 03h Conn Statistics. CX = length of buffer. ES:DI -> buffer for connection statistics (see #02868).

Return:
AX = status (0000h successful) 04h Conn Alloc Handle.

Return:
AX = status (0000h successful) CX = connection handle 05h Conn Validate Handle. CX = connection handle.

Return:
AX = 0000h if valid handle 06h Conn Free Handle. CX = connection handle.

Return:
AX = status (0000h successful) 07h Conn Get Entry Field. BH = connection parameter (see #02870). CX = connection handle. DX = value if BH is non-array parameter. DH = offset in array if BH is array parameter. DL = number of bytes to copy if BH is array. ES:DI -> return buffer if BH is array.

Return:
AX = 0000h if successful DL/DX = value if non-array parameter DH = maximum number of bytes in buffer if array parameter DL = number of bytes copied if array BX destroyed 08h Conn Set Entry Field. BH = connection parameter (see #02870). CX = connection handle. DL/DX = value if BH is non-array parameter. DH = offset in array if BH is array parameter. DL = number of bytes to copy if BH is array. DS:SI -> buffer if BH is array.

Return:
AX = 0000h if successful DH = maximum number of bytes in buffer DL = number of bytes copied BX destroyed 09h Conn Reset Entry Field. BH = connection parameter (see #02870). CX = connection handle.

Return:
AX = 0000h if successful BX,DX destroyed 0Ah Conn Lookup Handle. BL = lookup type (00h equal, 40h not equal). BH = connection parameter (see #02870). CX = connection handle, 0000h if first. DL/DX = value if BH is non-array parameter. DH = offset in array if BH is array parameter. DL = number of bytes to copy if BH is array. DS:SI (ES:DI???) -> buffer if BH is array.

Return:
AX = 0000h if successful CX = handle matching given parameters 0Dh Conn Name Lookup. CX = connection handle. ES:DI -> 49-byte buffer for server name or 0000h:0000h.

Return:
AX = 0000h if successful BX = length of server name ES:DI buffer filled if pointer not 0000h:0000h 0Eh Conn Name To Handle. DS:SI -> uppercased server name. CX = length of server name, 0000h if ASCIZ name.

Return:
AX = error code or 0000h if successful CX = connection handle if successful 0Fh Conn Get Num Connections.

Return:
AX = status (0000h if successful) DX = number of connections CX = segment of connection table first entry in table (See #02869)

Format of VLM connection statistics: Offset Size Description (Table 02868) 00h WORD total length of statistics record (including this word) 02h WORD number of connection handles allocated 04h WORD average name length (configured in NET.CFG) 06h WORD maximum number of tasks (configured in NET.CFG) 08h WORD number of failed "allocate handle" calls 0Ah WORD number of failed "add name" calls 0Ch WORD number of failed task calls

Note: Some versions of the NetWare requester reportedly do not implement this correctly

See Also: #02867

Format of NetWare VLM Connection Table [array]: Offset Size Description (Table 02869) 00h WORD Protocol VLMid 0032(NDS) 0031(BIND) Func 07 equiv. 0033(PNW) 0000(unused) BH=01h 02h BYTE (connection status)

bit 6:
Connection locked BH=16h

bit 5:
Authenticated BH=03h

bit 4:
Permanent BH=02h

bit 2:
Broadcast msg waiting BH=12h 03h BYTE (connection capabilities)

bit 5:
Large Internet Packets none

bit 3:
Packet Burst Reset BH=07h

bit 2:
Max I/O BH=06h

bit 1:
SFT3 change BH=05h

bit 0:
Packet Burst Support BH=04h 04h WORD reference count BH=09h 06h WORD soft resource count BH=15h 08h BYTE NCP Order Number BH=0Eh 09h BYTE Server security options BH=14h

bit 0:
CRC enabled

bit 1:
Packet signing required

bit 5:
Packet signing enabled 0Ah BYTE OS Major Version BH=08h 0Bh BYTE OS Minor Version BH=08h 0Ch WORD Hops to Server BH=0Ah 0Eh WORD Maximum Packet Size for this connection BH=0Bh 10h WORD LIP Parameters BH=13h 12h WORD NCP Request Type BH=10h 14h BYTE NCP Sequence BH=0Ch 15h WORD Connection Number BH=0Dh 17h BYTE ??? none 18h WORD Transport VLMid 21(IPXNCP) 22(TCPNCP) BH=0Fh 1Ah BYTE Node Address[4] BH=11h 1Eh BYTE Network[6] BH=11h 24h BYTE Socket[2] BH=11h 26h BYTE Local Target[6] BH=11h 2Ch WORD Round Trip Time BH=11h 2Eh WORD ??? none

See Also: #02867

(Table 02870) Values for NetWare Connection Manager CEI (Connection Entry Information): number flags description 00h FR error 01h WL VLM id of transport protocol (NDS/BIND/PNW) 00h = wildcard 02h FR permanent flag (01h if connection is permanent) 03h F authenticated flag (01h if connection is authenticated) 04h F packet burst supported 05h FR SFT3 change status 06h FR connection needs maximum I/O transmission 07h FR packet burst reset needed 08h W server version 09h W reference count (tasks using connection, 00h = dynamic) 0Ah W distance to server associated with connection 0Bh W maximum packet size supported by transport protocol 0Ch B NCP sequence number 0Dh W connection number 0Eh B NCP order number 0Fh WL VLM id for transport protocol 00h = wildcard, 21h = IPX, 22h = TCP 10h W NCP request type 11h A transport specific buffer 12 byte server address 6 byte router address 2 byte round trip time 12h FR broadcast message waiting 13h W large internet packets supported 14h B security options

bit 0:
CRC enabled

bit 1:
Packet signing enabled

bit 5:
Packet signing active 15h W soft resource count 16h FR connection locked

Note: Flag meanings F=flag value B=byte value W=word value A=array R=resettable L=settable only before authentication others=read only

See Also: #02867

(Table 02871) Call TRAN.VLM (VLM ID 0020h) with: Func Description/Registers 01h TRAN Get Version. BX = function 0000h get version

Return:
AX = status (see #02860) BX = major version of VLM supported (0001h) CX = minor version of VLM supported (0000h) 03h TRAN Statistics 06h TRAN Request Reply (see INT 21/AH=F2h). AL = NCP request code (see #02095 at INT 21/AH=F2h). BH = error handler flag 00h default error handler 01h return network errors to caller 02h handle network errors in requester. BL = request list length (max 5 fragments) (see #02872). CX = connection handle. DH = 00h (reserved). DL = reply list length (max 5 fragments) (see #02872). DS:SI -> address list (each element is DWORD address + WORD length). ES:DI -> address list.

Return:
AX = error code, 0000h if successful (see #02860) BX,DX destroyed ES:DI buffer filled with reply packet fragments 08h TRAN Schedule/Cancel Event. BX = subfunction 0000h schedule event AX = number of timer ticks to delay before calling function ES:SI -> event control block (including valid call address) 0001h cancel event ES:SI -> event control block (including call address).

Return:
AX = status (0000h = successful) (see #02860) 09h TRAN Get Max Phys Size. BX = subfunction 00h get maximum node size

Return:
AX = status (0000h = successful) (see #02860) BX = maximum supported physical packet size DX = size of protocol header SI = RequestReply socket number 01h get maximum route size to specified server CX = connection handle for route to be checked

Return:
AX = status (0000h = successful) (see #02860) DX = maximum supported packet size for current route 0Ah TRAN Broadcast Mux. BX = subfunction 0001h get stored broadcast (Personal NetWare) ES:DI -> 60-byte buffer for counted ASCIZ message string.

Return:
AX = status (0000h = successful) (see #02860)

Format of TRAN.VLM request/reply fragment descriptor (array): Offset Size Description (Table 02872) 00h DWORD address of buffer 04h WORD length of buffer

(Table 02873) Call IPXNCP.VLM (VLM ID 0021h) with: Func Description/Registers 01h IPX Get Version. BX = function 0000h get version

Return:
AX = status (see #02860) BX = major version of VLM supported (0001h) CX = minor version of VLM supported (0000h) 03h IPX Statistics. CX = length of buffer. ES:DI -> buffer for statistics (see #02874).

Return:
AX = status (see #02860) 06h IPXNCP Request Reply???. Functionally equivalent to Tran Request Reply???

Format of NetWare IPX statistics: Offset Size Description (Table 02874) 00h WORD size of statistics, including this word 02h DWORD number of TRAN Request Reply calls made 06h WORD number of user aborts 08h WORD number of user retries 0Ah WORD IPX receive errors 0Ch WORD IPX send errors 0Eh WORD number of unrecognized responses 10h WORD number of bad connection numbers in requests 12h WORD number of bad sequence responses 14h WORD receive buffer overflows 16h WORD number of times route to attached server was lost 18h WORD number of times server responded "busy" 1Ah WORD number of unknown "NCPRepCompCode" values 1Ch WORD number of bad connection numbers in responses 1Eh WORD padding for NETX compatibility 20h WORD padding for NETX compatibility 22h WORD number of attach requests to server without route 24h WORD number of times server responded to attach without slot 26h WORD number of times a server went down during a request 28h DWORD same-server optimizations 2Ch WORD local route changes 2Eh WORD IPX CRC errors 30h WORD number of user fails

32h BYTE flag:
CRCs enabled

33h BYTE flag:
LIP enabled

34h BYTE flag:
Configurable NET error handler

See Also: #02873

(Table 02875) Call NWP.VLM (VLM ID 0030h) with: Func Description/Registers 01h NWP Get Version. BX = function 0000h get version

Return:
AX = status (see #02860) BX = major version of VLM supported (0001h) CX = minor version of VLM supported (0000h) 03h NWP Statistics. CX = size of buffer for statistics. ES:DI -> buffer for statistics (see #02876).

Return:
AX = status (see #02860) 04h NWP Connect. DL = resource count state (NDS connections only). CX = proposed connection handle (not yet connected to server). DS:SI -> 48-byte server name (NUL-terminated if less than 48 bytes).

Return:
AX = status (0000h = successful) (see #02860) CX = actual connection handle to use.

Note: If the returned handle differs from the proposed handle, the proposed handle should be freed 05h NWP Disconnect. DL = ??? 00h global disconnect -- clear all resources associated with conn. 01h destroy connection -- send disconnect request to server. CX = connected connection handle.

Return:
AX = status (0000h = successful) (see #02860) 06h NWP Attach. DL = resource count state (NDS connections only). CX = connection handle (allocated by not yet attached to server). DS:SI -> full network address for desired server.

Return:
AX = status (0000h = successful) (see #02860) 08h NWP Login. BX = object type. CX = connection handle (must be connected) to be authenticated. DS:SI -> ASCIZ user name (max 48 bytes). ES:DI -> ASCIZ user password (max 128 bytes).

Return:
AX = status (0000h = successful) (see #02860) 09h NWP Logout. CX = connection handle.

Return:
AX = status (0000h = successful) (see #02860) 0Ah NWP Get Bindery Object/Get Message Handler. BX = subfunction 0002h set workstation's broadcast message mode DL = message mode 00h client hold client message set on, retrieve/display on 01h client hold client message set off, retr/display on 02h client hold client message set on, retrieve/dislay off 03h client hold client message set off, retr/display off 04h get current message mode 05h set broadcast callback CX:SI -> callback handler 06h get broadcast timeout 07h set broadcast timeout CX = timeout in timer ticks (0000h = never) CX = connection handle, or 0000h to notify all servers 0003h get object ID for object name AX = object type (big-endian) CX = connection handle DX = length of object name ES:DI -> uppercased ASCIZ object name

Return:
AX = status (see #02860) DX:BX = object ID 0004h get object name for object ID DX:SI = object ID CX = connection handle for server which is to do the lookup ES:DI -> 48-byte buffer for object name

Return:
AX = status (see #02860) 0005h retrieve broadcast message 0Ch NDS Fragment Request (passed to NDS.VLM's function 0Ch) (see #02877). AX = verb or request type. CX = connection handle. DS:SI -> request structure (DWORD data address followed by WORD size). ES:DI -> buffer for reply structure (same format as request).

Return:
AX = status (0000h = successful) (see #02860) 0Eh NWP Ordered Send To All. AL = NCP request code. AH = inverse request code (FFh if none) to back out from failures. BX = number of fragments in request list. DX = number of fragments in reply list buffer. DS:SI -> request fragment list. ES:DI -> reply fragment list.

Return:
AX = status (see #02860) BX, CX, DX destroyed.

Note: The available functions are described under INT 21/AX=F2xxh 0Fh NWP Preferred Handler. BX = subfunction 0000h get preferred connection name DX = VLM ID (NDS/BIND/PNW) ES:DI -> 49-byte buffer for connection name

Return:
ES:DI buffer filled 0001h set preferred connection name DX = VLM ID (NDS/BIND/PNW) CX = length of connection name (may be 0000h, max 48) DS:SI -> name of preferred connection 0002h get preferred connection ID DX = VLM ID (NDS/BIND/PNW)

Return:
AX = status (see #02860) CX = connection handle if successful 0003h get server address CX = connection handle or 0000h DS:SI -> ASCIZ name to be resolved ES:DI -> 12-byte buffer for server address 10h NWP Security???. BX = subfunction 0001h get security flags (see also INT 21/AX=B301h)

Return:
BX:CX indicates signature level = 0100h:0000h if signature level=0 = 0300h:0000h if signature level=1 = 0302h:0000h if signature level=2 = 0302h:0202h if signature level=3 0002h create session keys (see also INT 21/AX=B302h) CX = server connection handle DS:SI -> 24-byte input buffer 0004h set security flags (see also INT 21/AX=B304h) BL:CL = new flags 0006h renegotiate security level (see also INT 21/AX=B306h) CX = server connection number (01h-08h)

Format of NWP.VLM statistics: Offset Size Description (Table 02876) 00h WORD size of statistics record (including this byte)

02h BYTE flag:
Large Internet Packets enabled

03h BYTE bit flags:
Enabled security features

04h BYTE bit flags:
Preferred security features

05h BYTE bit flags:
Required security features 06h BYTE minimum level of required security

See Also: #02875

(Table 02877) Call NDS.VLM (VLM ID 0032h) with: Func Description/Registers 01h NDS Get Version. BX = function 0000h get version

Return:
AX = status (see #02860) BX = major version of VLM supported (0001h) CX = minor version of VLM supported (0000h) 03h NDS Statistics 06h NDS Attach. CX = allocated connection handle. DS:SI -> server address 08h NDS Fragment Requst.

Return:
AX = 8836h (invalid parameter).

Note: This function was documented but does not work 0Ch NDS context. BX = subfunction 0000h get default name context CX = length of buffer for default context ES:DI -> buffer to receive name

Return:
ES:DI buffer filled 0001h set default context CX = length of new default context name DS:SI -> context name 0002h read from TDS CX = reply buffer length DX = 0110h ??? SI = offset in TDS ES:DI -> reply buffer 0003h write to TDS 0005h "NWDSChangeResourceConnection/Lock Connection" CX = connection handle DL = subfunction (00h-09h) 04h = NWDSChangeResourceOnConnection 07h = NWDSChangeResourceOnConnection 08h = NWDSLockConnection 0006h NDS change connection state (internal) CX = connection handle AL = 00h or 01h 0007h "NWDSSetMonitoredConnection" AX = subfunction 0001h get monitored connection

Return:
CX = connection handle??? 0002h set monitored connection CX = connection handle??? 0008h send NDS request AX = NDS function CX = connection handle DS:SI -> request buffer descriptor (see #02878) ES:DI -> reply buffer descriptor (see #02878) 000Ah set NDS CEI Info DL = buffer length DS:SI -> input buffer

Format of NetWare NDS request/reply buffer descriptor: Offset Size Description (Table 02878) 00h DWORD -> buffer 04h WORD length of buffer in bytes

See Also: #02877

(Table 02879) Call REDIR.VLM (VLM ID 0040h) with: Func Description/Registers 01h Redir Get Version. BX = function 0000h get version

Return:
AX = status (see #02860) BX = major version of VLM supported (0001h) CX = minor version of VLM supported (0000h) 03h Redir Statistics. CX = length of buffer. ES:DI -> buffer for statistics (see #02880).

Return:
AX = status (0000h if successful) (see #02860) buffer filled if successful 04h Redir Build SFT (see INT 21/AH=B4h"NetWare"). CX = connection handle. ES:DI -> SFT build request (see #02881).

Return:
AX = 0000h if successful BX = DOS file handle 05h Redir DOS To NW Handle. BX = DOS file handle. ES:DI -> 11-byte buffer for NetWare handle 08h Redir Specific. BX = 0000h get item DS:SI -> ASCIZ string "LPTx" (x='1'-'9') or drive spec ("d:") ES:DI -> 512-byte reply buffer for "\\server\resource",00h,"path",00h.

Return:
AX = status (0000h if successful) (see #02860)

Format of REDIR.VLM statistics: Offset Size Description (Table 02880) 00h WORD size of statistics record (including this word) 02h WORD number of network errors causing a critical error (see INT 24) 04h WORD number of drives currently redirected

See Also: #02879

Format of NetWare SFT build request: Offset Size Description (Table 02881) 00h 6 BYTEs NetWare handle 06h WORD reserved for internal use 08h 14 BYTEs ASCIZ filename 16h BYTE DOS file attributes

bit 7:
File is shareable 17h BYTE reserved 18h LONG file size 1Ch WORD creation date 1Eh WORD last access date or 0000h 20h WORD last update date or 0000h 22h WORD last update time or 0000h

(Table 02882) Call File I/O FIO.VLM (VLM ID 0041h) with: Func Description/Registers 01h FIO Get Version. BX = function 0000h get version

Return:
AX = status (see #02860) BX = major version of VLM supported (0001h) CX = minor version of VLM supported (0000h) 03h FIO Statistics. CX = length of buffer. ES:DI -> buffer for statistics (see #02883).

Return:
AX = status (0000h if successful) buffer filled if successful 04h FIO Remote Copy

Format of NetWare FIO statistics: Offset Size Description (Table 02883) 00h WORD length of statistics record (including this word) 02h WORD number of read requests 04h WORD number of write requests 06h WORD number of cache read hits 08h WORD number of cache write hits 0Ah WORD number of cacheable files with free blocks 0Ch WORD number of cacheable files without free blocks 0Eh WORD number of standard read requests 10h WORD number of standard write requests 12h WORD number of burst read requests 14h WORD number of burst write requests

16h BYTE flag:
Cache writes enabled

17h BYTE flag:
True commits enabled 18h WORD number of cache blocks 1Ah WORD size of a cache buffer 1Ch WORD number of ECBs for packet bursts (0000h if bursts disabled)

See Also: #02882

(Table 02884) Call PRINT.VLM (VLM ID 0042h) with: Func Description/Registers 01h Print Get Version. BX = function 0000h get version

Return:
AX = status (see #02860) BX = major version of VLM supported (0001h) CX = minor version of VLM supported (0000h) 03h Print Statistics. CX = length of buffer. ES:DI -> buffer for statistics (see #02885).

Return:
AX = status (0000h if successful) (see #02860) buffer filled if successful 04h Print Get/Set Data. BX = subfunction 00h set printer control flags (see #02886) 01h get printer control flags 02h set extended printer control flags (see #02887) 03h get extended printer control flags. AX = offset within Print structures at which to start read/write. CX = number of bytes to transfer. DX = printing device number (00h=LPT1/PRN, 01h=LPT2, etc.). DS:SI -> buffer containing values for flags (subfunctions 00h/02h). ES:DI -> buffer for flags (subfunctions 01h/03h.

Return:
AX = status (see #02860) ---if successful--- CX = number of bytes returned (subfunctions 01h/03h) DX = maximum supported size for function/type of data 05h Print Open Capture File 07h Print Get Num Of Printers. BX = subfunction 0000h get number of physical printers

nonzero:
Get configured printer (from NET.CFG).

Return:
AX = status (see #02860) ---if successful--- BX = number of physical/configured printers 08h Print Redirection. BX = subfunction 0000h redirect device to queue AX = length of queue name, 0000h to use queue ID CX = connection handle DX = printer/device number (00h=LPT1/PRN, 01h=LPT2, etc.) DS:SI -> uppercased ASCIZ queue name ES:DI -> DWORD queue ID, 00000000h to use queue name 0001h test whether device is redirected DX = printer/device number (00h=LPT1/PRN, 01h=LPT2, etc.) 0002h cancel redirection DX = printer/device number (00h=LPT1/PRN, 01h=LPT2, etc.) 0003h redirect device to file AX = 0000h or 4E57h ('NW') CX = connection handle DX = printer/device number (00h=LPT1/PRN, 01h=LPT2, etc.) ES:DI -> ASCIZ path of file 0004h get extended redirection information (see #02886) DX = printer/device number (00h=LPT1/PRN, 01h=LPT2, etc.) ES:DI -> buffer for server/queue name

Return:
ES:DI buffer filled.

Return:
AX = 0000h if successful 09h Print Flush And Close Job. BX = subfunction 0000h unconditional close

nonzero:
Conditional close -- close only if concatenate flag is clear. DX = index of printing device (00h=LPT1/PRN, 01h=LPT2, etc.).

Return:
AX = status (see #02860) 0Ch Print Get/Set Banner Name. BL = subfunction 00h set banner name DS:SI -> ASCIZ banner name (12 bytes, including NUL) 01h get banner name ES:DI -> 12-byte buffer for banner name.

Return:
AX = status (see #02860)

Format of PRINT.VLM statistics: Offset Size Description (Table 02885) 00h WOFD size of statistics buffer (including this word) 02h DWORD -> old INT 17 handler 06h WORD number of physical printers reported by BIOS

See Also: #02884

Format of PRINT.VLM standard print control information: Offset Size Description (Table 02886) 00h BYTE PFStatus (reserved, 00h) 01h BYTE print flags (default 80h)

bit 2:
Release job for printing if capture interrupted

bit 3:
Suppress form feed

bit 4:
Notify

bit 6:
Text file

bit 7:
Print banner 02h BYTE tab size (01h-12h, default 08h) 03h BYTE number of copies (default 01h) 04h BYTE ??? (may be number of copies instead of offset 03h) 05h BYTE form type to be mounted in printer (default 00h) 06h BYTE reserved (00h) 07h 14 BYTEs banner 15h BYTE capture printer (LPT) number 16h WORD capture timeout in seconds 18h BYTE job concatenation flag (00h or 01h, default 00h) 19h BYTE maximum lines per page (default 66) 1Ah BYTE ??? (may be maximum lines instead of offset 19h) 1Bh BYTE maximum characters per line (default 132) 1Ch BYTE ??? (may be maximum characters instead of offset 1Ch) 1Dh 13 BYTEs name of form to be mounted in printer

2Ah BYTE flag:
Capture active (00h or FFh, default 00h)

2Bh BYTE flag:
Capturing to file (00h or 01h, default 00h)

2Ch BYTE flag:
Timeout field is being decremented (default 00h) 2Dh DWORD -> printer setup string 31h DWORD -> printer reset string 35h BYTE reserved (01h) ---remainder is read-only---

36h BYTE flag:
Job has started printing (00h or FFh, default 00h)

37h BYTE flag:
Job placed in queue (00h or FFh, default 00h)

38h BYTE flag:
PJobValid (00h or FFh, default 00h) FFh if associated capture file is open for capturing data 39h DWORD print-queue ID 3Dh WORD print-job number (default 00h) (1-999) 3Fh BYTE number of chars in INT 17h print cache buffer (default 00h) 40h BYTE ??? 41h WORD high word of print-job number (default 00h)

See Also: #02884 - #02887

Format of PRINT.VLM extended print control information: Offset Size Description (Table 02887) 00h DWORD NDS printer object ID or directory entry number (when capturing to a file) 04h BYTE connection handle for server 06h 48 BYTEs ASCIZ print queue name on server 36h DWORD ID of target server, or FFFFFFFFh if any server may be used 3Ah 6 BYTEs target print time, FFFFFFFFFFFFh for immediate printing 40h BYTE status flags 41h BYTE ??? 42h 13 BYTEs client's banner name (overrides global banner if set) 4Fh 13 BYTEs job description 5Ch 4 BYTEs reserved (0)

See Also: #02884 - #02886

(Table 02888) Call GENERAL.VLM (VLM ID 0043h) with: Func Description/Registers 01h Gen Get Version. BX = function 0000h get version

Return:
AX = status (see #02860) BX = major version of VLM supported (0001h) CX = minor version of VLM supported (0000h) 03h Gen Statistics. CX = length of statistics buffer. ES:DI -> buffer for statistics (see #02889).

Return:
AX = status (see #02860) 04h Gen Get/Set Primary. BX = subfunction 0001h get primary connection CX = primary connection handle to be retrieved

Return:
AX = status (see #02860) CX = primary connection handle 0002h set primary connection CX = primary connection handle to be stored

Return:
AX = status (see #02860) 06h Gen Specific. BX = subfunction 0000h get command processor and master environment addresses

Return:
DX = segment of master environment ES:DI -> command processor's private COMSPEC= copy 0001h get default or primary connection

Return:
AX = status (0000h successful) CX = connection handle if successful 0002h last queue information AL = operation 00h zap 01h set 02h get DI:DX = queue file handle CX = connection handle

Return:
AX = status (0000h successful) DI:DX = queue file handle CX = connection handle or 0000h if queue info invalid 0003h get/set machine name(s) AX = name type 00h get short machine name 02h get long machine name 04h set short machine name 06h set long machine name 08h get DOS name 0Ah set DOS name ES:SI -> ASCIZ name if setting

Return:
AX = status (0000h if successful) ES:SI -> ASCIZ name if getting 0004h set per-task EXEC search mode

Return:
AX = status (0000h if successful) 09h Gen Return Drive Info. BX = subfunction 0000h get first available drive

Return:
AX = status (see #02860) BX = drive letter of first drive 0001h get Lastdrive

Return:
AX = status (see #02860)

CH = number lastdrive 1=A:
- 1Ah=Z:

Format of NetWare GENERAL.VLM statistics: Offset Size Description (Table 02889) 00h WORD size of statistics record, including this word 02h DWORD previous INT 21 vector

See Also: #02888

(Table 02890) Call NETX.VLM (VLM ID 0050h) with: Func Description/Registers 01h NetX Get Version. BX = function 0000h get version

Return:
AX = status (see #02860) BX = major version of VLM supported (0001h) CX = minor version of VLM supported (0000h) 03h NetX Statistics. CX = length of statistics buffer. ES:DI -> buffer for statistics (see #02891).

Return:
AX = status (see #02860)

Format of NETX.VLM statistics: Offset Size Description (Table 02891) 00h WORD buffer size, including this word 02h DWORD previous INT 21 handler

See Also: #02890

(Table 02892) Call SECURITY.VLM (VLM ID 0061h) with: Func Description/Registers 01h Security Get Version. BX = function 0000h get version

Return:
AX = status (see #02860) BX = major version of VLM supported (0001h) CX = minor version of VLM supported (0000h) 03h Security Statistics 04h ???. AL = subfunction 01h compute session key DS:SI -> 24-byte input buffer ES:DI -> 8-byte output buffer

Category: Netware - Int 2Fh - N

------

Prev Next Ralf Interrups Categories Contents