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