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