INT 21 - Network Driver Interface Specification (NDIS(Network Driver Interface Specification) A hardware-independent network interface developed by Microsoft and 3com.  See also Packet Driver, TCP/IP.) 2.0.1 - PROTOCOL MANAGER
	AX = 4402h
	BX = file handle for device "PROTMAN$"
	CX = 000Eh (size of request block)
	DS:DX -> request block (see #01424,#01425,#01426,#01427,#01428,#01432,#01433)
Return: CF clear if successful
	    AX = number of bytes actually read
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
SeeAlso: AX=4402h"FTPSOFT"


Format of NDIS(Network Driver Interface Specification) A hardware-independent network interface developed by Microsoft and 3com.  See also Packet Driver, TCP/IP. request block for GetProtocolManagerInfo:
Offset	Size	Description	(Table 01424)
 00h	WORD	01h
 02h	WORD	returned status (see #01434)
 04h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	returned pointer to structure representing parsed user config
 08h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	unused
 0Ch	WORD	returned BCD(Binary Coded Decimal) A method of data storage where two decimal digits are stored in each byte, one in the upper four bits and the other in the lower four bits.  Since only the values 0 through 9 are used in each half of a byte, BCD values can be read as decimal numbers on a hexadecimal display of memory or a file. version of NDIS(Network Driver Interface Specification) A hardware-independent network interface developed by Microsoft and 3com.  See also Packet Driver, TCP/IP. on which Protocol Manager is based
SeeAlso: #01425,#01426,#01427,#01428,#01429,#01430,#01431,#01432,#01433


Format of NDIS(Network Driver Interface Specification) A hardware-independent network interface developed by Microsoft and 3com.  See also Packet Driver, TCP/IP. request block for RegisterModule:
Offset	Size	Description	(Table 01425)
 00h	WORD	02h
 02h	WORD	returned status (see #01434)
 04h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	pointer to module's common characteristics table (see #01435)
 08h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	pointer to list of modules to which the module is to be bound
 0Ch	WORD	unused
SeeAlso: #01424,#01426,#01427,#01428,#01429,#01430,#01431,#01432,#01433


Format of NDIS(Network Driver Interface Specification) A hardware-independent network interface developed by Microsoft and 3com.  See also Packet Driver, TCP/IP. request block for BindAndStart:
Offset	Size	Description	(Table 01426)
 00h	WORD	03h
 02h	WORD	returned status (see #01434)
 04h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	caller's virtual address in FailingModules structure
 08h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	unused
 0Ch	WORD	unused
SeeAlso: #01424,#01425,#01427,#01428,#01429,#01430,#01431,#01432,#01433


Format of NDIS(Network Driver Interface Specification) A hardware-independent network interface developed by Microsoft and 3com.  See also Packet Driver, TCP/IP. request block for GetProtocolManagerLinkage:
Offset	Size	Description	(Table 01427)
 00h	WORD	04h
 02h	WORD	returned status (see #01434)
 04h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	returned dispatch point
 08h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	unused
 0Ch	WORD	returned protocol manager DS
Note:	the dispatch point may be called as follows instead of using this IOCTL
	STACK: WORD  protocol manager DS
	       DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address. pointer to request block
	Return: AX = returned status
		STACK popped
SeeAlso: #01424,#01425,#01426,#01428,#01429,#01430,#01431,#01432,#01433


Format of NDIS(Network Driver Interface Specification) A hardware-independent network interface developed by Microsoft and 3com.  See also Packet Driver, TCP/IP. request block for GetProtocolIniPath:
Offset	Size	Description	(Table 01428)
 00h	WORD	05h
 02h	WORD	returned status (see #01434)
 04h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	pointer to a buffer for the ASCIZA NUL-terminated ASCII string.	The ASCIZ string "ABC" consists of the four bytes 41h, 42h, 43h, and 00h.  Unless otherwise specified, maximum lengths given in the interrupt list do not include the terminating NUL. pathname of PROTOCOL.INI
 08h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	unused
 0Ch	WORD	buffer length
SeeAlso: #01424,#01425,#01426,#01427,#01429,#01430,#01431,#01432,#01433


Format of NDIS(Network Driver Interface Specification) A hardware-independent network interface developed by Microsoft and 3com.  See also Packet Driver, TCP/IP. request block for RegisterProtocolManagerInfo:
Offset	Size	Description	(Table 01429)
 00h	WORD	06h
 02h	WORD	returned status (see #01434)
 04h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	pointer to structure containing parsed user config file
 08h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	unused
 0Ch	WORD	length of structure
SeeAlso: #01424,#01425,#01426,#01427,#01428,#01430,#01431,#01432,#01433


Format of NDIS(Network Driver Interface Specification) A hardware-independent network interface developed by Microsoft and 3com.  See also Packet Driver, TCP/IP. request block for InitAndRegister:
Offset	Size	Description	(Table 01430)
 00h	WORD	07h
 02h	WORD	returned status (see #01434)
 04h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	unused
 08h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	poitner to ASCIZA NUL-terminated ASCII string.	The ASCIZ string "ABC" consists of the four bytes 41h, 42h, 43h, and 00h.  Unless otherwise specified, maximum lengths given in the interrupt list do not include the terminating NUL. name of the module to be prebind initialized
 0Ch	WORD	unused
SeeAlso: #01424,#01425,#01426,#01427,#01428,#01429,#01431,#01432,#01433


Format of NDIS(Network Driver Interface Specification) A hardware-independent network interface developed by Microsoft and 3com.  See also Packet Driver, TCP/IP. request block for UnbindAndStop:
Offset	Size	Description	(Table 01431)
 00h	WORD	08h
 02h	WORD	returned status (see #01434)
 04h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	failing modules as for BindAndStart
 08h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	if not 0000h:0000h, pointer to ASCIZA NUL-terminated ASCII string.	The ASCIZ string "ABC" consists of the four bytes 41h, 42h, 43h, and 00h.  Unless otherwise specified, maximum lengths given in the interrupt list do not include the terminating NUL. name of module to unbind
		if 0000h:0000h, terminate a set of previously dynamically
		  bound protocol modules
 0Ch	WORD	unused
SeeAlso: #01424,#01425,#01426,#01427,#01428,#01429,#01430,#01432,#01433


Format of NDIS(Network Driver Interface Specification) A hardware-independent network interface developed by Microsoft and 3com.  See also Packet Driver, TCP/IP. request block for BindStatus:
Offset	Size	Description	(Table 01432)
 00h	WORD	09h
 02h	WORD	returned status (see #01434)
 04h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	must be 0000h:0000h
		on return, points to root tree
 08h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	0000h:0000h
 0Ch	WORD	unused under DOS
SeeAlso: #01424,#01425,#01426,#01427,#01428,#01429,#01430,#01431,#01433


Format of NDIS(Network Driver Interface Specification) A hardware-independent network interface developed by Microsoft and 3com.  See also Packet Driver, TCP/IP. request block for RegisterStatus:
Offset	Size	Description	(Table 01433)
 00h	WORD	0Ah
 02h	WORD	returned status (0000h, 0008h, 002Ch) (see #01434)
 04h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	0000h:0000h
 08h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	pointer to 16-byte ASCIZA NUL-terminated ASCII string.	The ASCIZ string "ABC" consists of the four bytes 41h, 42h, 43h, and 00h.  Unless otherwise specified, maximum lengths given in the interrupt list do not include the terminating NUL. module name
 0Ch	WORD	0000h
Note:	not supported by the 10NET v5.0 PROTMAN$ driver
SeeAlso: #01424,#01425,#01426,#01427,#01428,#01429,#01430,#01431,#01432


(Table 01434)
Values for NDIS(Network Driver Interface Specification) A hardware-independent network interface developed by Microsoft and 3com.  See also Packet Driver, TCP/IP. status code:
 0000h	success
 0001h	wait for release--protocol has retained control of the data buffer
 0002h	request queued
 0003h	frame not recognized
 0004h	frame rejected
 0005h	frame should be forwarded
 0006h	out of resource
 0007h	invalid parameter
 0008h	invalid function
 0009h	not supported
 000Ah	hardware error
 000Bh	transmit error
 000Ch	unrecognized destination
 000Dh	buffer too small
 0020h	already started
 0021h	binding incomplete
 0022h	driver not initialized
 0023h	hardware not found
 0024h	hardware failure
 0025h	configuration failure
 0026h	interrupt conflict
 0027h	MAC incompatible
 0028h	initialization failed
 0029h	no binding
 002Ah	network may be disconnected
 002Bh	incompatible OS version
 002Ch	already registered
 002Dh	path not found
 002Eh	insufficient memory
 002Fh	info not found
 00FFh	general failure
 F000h-FFFFh reserved for vendor-specific codes, treated as general failure


Format of NDIS(Network Driver Interface Specification) A hardware-independent network interface developed by Microsoft and 3com.  See also Packet Driver, TCP/IP. common characteristics table:
Offset	Size	Description	(Table 01435)
 00h	WORD	size of table in bytes
 02h	BYTE	NDIS(Network Driver Interface Specification) A hardware-independent network interface developed by Microsoft and 3com.  See also Packet Driver, TCP/IP. major version
 03h	BYTE	NDIS(Network Driver Interface Specification) A hardware-independent network interface developed by Microsoft and 3com.  See also Packet Driver, TCP/IP. minor version
 04h	WORD	reserved
 06h	BYTE	module major version
 07h	BYTE	module minor version
 08h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	module function flag bits
		bit 0: binding at upper boundary supported
		bit 1: binding at lower boundary supported
		bit 2: dynamically bound
		bits 3-31 reserved, must be 0
 0Ch 16 BYTEs	ASCIZA NUL-terminated ASCII string.	The ASCIZ string "ABC" consists of the four bytes 41h, 42h, 43h, and 00h.  Unless otherwise specified, maximum lengths given in the interrupt list do not include the terminating NUL. module name
 1Ch	BYTE	upper boundary protocol level (see #01436)
 1Dh	BYTE	upper boundary interface type
		for MACs: 1 = MAC
		for data links and transports: to be defined
		for session: 1 = NCBsee Network Control Block
		any level: 0 = private (ISV-defined)
 1Eh	BYTE	lower boundary protocol level (see #01436)
 1Fh	BYTE	lower boundary interface type
		same as offset 1Dh
 20h	WORD	module ID filled in by protocol manager
 22h	WORD	module DS
 24h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	system request entry point
 28h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	pointer to service-specific characteristics (see #01438,#01440)
		0000h:0000h if none
 2Ch	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	pointer to service-specific status, or 0000h:0000h if none
		  (see #01441)
 30h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	pointer to upper dispatch table (see #01437)
		0000h:0000h if none
 34h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	pointer to lower dispatch table (see #01437)
		0000h:0000h if none
 38h  2 DWORDs	reserved, must be 0
Note:	for compatibility with NDIS(Network Driver Interface Specification) A hardware-independent network interface developed by Microsoft and 3com.  See also Packet Driver, TCP/IP. 1.x.x, a major version of 00h is
	  interpreted as 01h


(Table 01436)
Values for NDIS(Network Driver Interface Specification) A hardware-independent network interface developed by Microsoft and 3com.  See also Packet Driver, TCP/IP. boundary protocol level:
 00h	physical
 01h	Media Access Control
 02h	Data link
 03h	network
 04h	transport
 05h	session
 FFh	not specified


Format of NDIS(Network Driver Interface Specification) A hardware-independent network interface developed by Microsoft and 3com.  See also Packet Driver, TCP/IP. dispatch table:
Offset	Size	Description	(Table 01437)
 00h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	-> common characteristics table (see #01435)
 04h  4 BYTEs	???
 08h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	-> ??? function (called with 12 bytes of stack arguments)
 0Ch	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	-> ??? function (called with 10 bytes of stack arguments)
 10h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	-> ??? function (called with 16 bytes of stack arguments)
 14h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	-> ??? function (called with 4 bytes of stack arguments)
 18h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	-> ??? function (called with 18 bytes of stack arguments)
 1Ch	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	-> ??? function (called with 12 bytes of stack arguments)


Format of MAC Service-Specific Characteristics Table:
Offset	Size	Description	(Table 01438)
 00h	WORD	length of table in bytes
 02h 16 BYTEs	ASCIZA NUL-terminated ASCII string.	The ASCIZ string "ABC" consists of the four bytes 41h, 42h, 43h, and 00h.  Unless otherwise specified, maximum lengths given in the interrupt list do not include the terminating NUL. MAC type name, "802.3", "802.4", "802.5", "802.6", "DIX",
		  "DIX+802.3", "APPLETALK", "ARCNET", "FDDI", "SDLC", "BSC",
		  "HDLC", or "ISDN"
 12h	WORD	length of station addresses in bytes
 14h 16 BYTEs	permanent station address
 24h 16 BYTEs	current station address
 34h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	current functional adapter address (00000000h if none)
 38h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	pointer to multicast address list
 3Ch	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	link speed in bits/sec
 40h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	service flags (see #01439)
 44h	WORD	maximum frame size which may be both sent and received
 46h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	total transmit buffer capacity in bytes
 4Ah	WORD	transmit buffer allocation block size in bytes
 4Ch	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	total receive buffer capacity in bytes
 50h	WORD	receive buffer allocation block size in bytes
 52h  3 BYTEs	IEEE vendor code
 55h	BYTE	vendor adapter code
 56h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	pointer to ASCIZA NUL-terminated ASCII string.	The ASCIZ string "ABC" consists of the four bytes 41h, 42h, 43h, and 00h.  Unless otherwise specified, maximum lengths given in the interrupt list do not include the terminating NUL. vendor adapter description
 5Ah	WORD	IRQ(Interrupt ReQuest) A hardware line connected to the interrupt controller chip which signals that a CPU interrupt should be generated. used by adapter
 5Ch	WORD	transmit queue depth
 5Eh	WORD	maximum supported number of data blocks in buffer descriptors
 60h  N BYTEs	vendor-specific info
SeeAlso: #01440


Bitfields for service flags:
Bit(s)	Description	(Table 01439)
 0	supports broadcast
 1	supports multicast
 2	supports functional/group addressing
 3	supports promiscuous mode
 4	station address software settable
 5	statistics always current
 6	supports InitiateDiagnostics
 7	supports loopback
 8	MAC does primarily ReceiveChain indications instead of ReceiveLookahead
	indications
 9	supports IBMInternational Busiuness MachinesInternational Busiuness Machines) A hardware, software and other service technology company founded in 1911. source routing
 10	supports MAC reset
 11	supports Open/Close adapter
 12	supports interrupt request
 13	supports source routing bridge
 14	supports GDT virtual addresses (OS/2 version)
 15	multiple TransferDatas allowed durign a single indication
 16	MAC normally sets FrameSize = 0 in ReceiveLookahead
 17-31	reserved, must be 0


Format of NetBIOSOne of a number of low-level device-independent network interfaces; the other major interfaces are Novell's IPX and the Internet's IP (Internet Protocol, the lower-level portion of TCP/IP). Service-Specific Characteristics Table:
Offset	Size	Description	(Table 01440)
 00h	WORD	length of table in bytes
 02h 16 BYTEs	ASCIZA NUL-terminated ASCII string.	The ASCIZ string "ABC" consists of the four bytes 41h, 42h, 43h, and 00h.  Unless otherwise specified, maximum lengths given in the interrupt list do not include the terminating NUL. type name of NetBIOSOne of a number of low-level device-independent network interfaces; the other major interfaces are Novell's IPX and the Internet's IP (Internet Protocol, the lower-level portion of TCP/IP). module
 12h	WORD	NetBIOSOne of a number of low-level device-independent network interfaces; the other major interfaces are Novell's IPX and the Internet's IP (Internet Protocol, the lower-level portion of TCP/IP). module code
 14h  N BYTEs	vendor-specific info
SeeAlso: #01438


Format of MAC Service-Specific Status Table:
Offset	Size	Description	(Table 01441)
 00h	WORD	length of table in bytes
 02h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	seconds since 0:00 1/1/70 when diagnostics last run
		(FFFFFFFFh = never)
 06h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	MAC status bits (see #01442)
 0Ah	WORD	current packet filter flags (see #01443)
 0Ch	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	pointer to media-specific status table or 0000h:0000h
 10h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	seconds past 0:00 1/1/70 of last ClearStatistics
 14h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	total frames received (FFFFFFFFh = not counted)
 18h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	frames with CRC error (FFFFFFFFh = not counted)
 1Ch	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	total bytes received (FFFFFFFFh = not counted)
 20h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	frames discarded--no buffer space (FFFFFFFFh = not counted)
 24h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	multicast frames received (FFFFFFFFh = not counted)
 28h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	broadcast frames received (FFFFFFFFh = not counted)
 2Ch	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	frames with errors (FFFFFFFFh = not counted)
 30h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	overly large frames (FFFFFFFFh = not counted)
 34h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	frames less than minimum size (FFFFFFFFh = not counted)
 38h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	multicast bytes received (FFFFFFFFh = not counted)
 3Ch	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	broadcast bytes received (FFFFFFFFh = not counted)
 40h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	frames discarded--hardware error (FFFFFFFFh = not counted)
 44h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	total frames transmitted (FFFFFFFFh = not counted)
 48h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	total bytes transmitted (FFFFFFFFh = not counted)
 4Ch	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	multicast frames transmitted (FFFFFFFFh = not counted)
 50h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	broadcast frames transmitted (FFFFFFFFh = not counted)
 54h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	broadcast bytes transmitted (FFFFFFFFh = not counted)
 58h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	multicast bytes transmitted (FFFFFFFFh = not counted)
 5Ch	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	frames not transmitted--timeout (FFFFFFFFh = not counted)
 60h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	frames not transmitted--hardware error (FFFFFFFFh = not countd)
 64h  N BYTEs	vendor-specific info


Bitfields for MAC status bits:
Bit(s)	Description	(Table 01442)
 0-2	operational status
	000 hardware not installed
	001 hardware failed startup diagnostics
	010 hardware configuration problem
	011 hardware fault
	100 operating marginally due to soft faults
	101 reserved
	110 reserved
	111 hardware fully operational
 3	MAC bound
 4	MAC open
 5	diagnostics in progress
 6-31	reserved


Bitfields for packet filter flags:
Bit(s)	Description	(Table 01443)
 0	directed/multicast or group/functional
 1	broadcast
 2	promiscuous
 3	all source routing
 4-15	reserved, must be zero
                                                                                

INT 21 - PCIBM PC/TCP(Transmission Control Protocol) A higher level (session layer) of the TCP/IP protocol suite.  See also IP, TCP/IP. IPCUST.SYS - RESET CONFIGURATION DATA READ POINTER
	AX = 4402h
	BX = file handle referencing device "$IPCUST"
	CX, DS:DX ignored
Return: CF clear if successful
	    AX destroyed
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Notes:	there are a total of 378h bytes of configuration data for IPCUST.SYS
	  version 2.05.	 If less than the entire data is read or written,
	  the next read/write continues where the previous one ended; this
	  call and AX=4403h both reset the location at which the next
	  operation starts to zero
	v2.1+ uses a new configuration method, but allows the installation
	  of IPCUST.SYS for backward compatibility with other software which
	  must read the PCIBM PC/TCP(Transmission Control Protocol) A higher level (session layer) of the TCP/IP protocol suite.  See also IP, TCP/IP. configuration
SeeAlso: AH=3Fh"IPCUST",AH=40h"IPCUST",AX=4403h"IPCUST"
                                                                                

INT 21 - WORKGRP.SYS - GET API(Application Program[ming] Interface) The defined set of calls which a program may make to interact with or request services of the operating system or environment under which it is running.  Because the inputs and outputs of the calls are well-defined, a program using the API can continue using the identical calls even if the internal organization of the program providing the API changes. ENTRY POINT
	AX = 4402h
	BX = file handle for device "NET$HLP$"
	CX = 0008h
	DS:DX -> buffer for entry point record (see #01485)
Return: CF clear if successful
	    AX = number of bytes actually read
	CF set on error
	    AX = error code
Program: WORKGRP.SYS is the portion of Microsoft's Workgroup Connection which
	  permits communication with PCs running Windows for Workgroups or
	  LAN Manager
SeeAlso: AH=3Fh"WORKGRP.SYS"


Format of WORKGRP.SYS entry point record:
Offset	Size	Description	(Table 01485)
 00h	WORD	3633h  \ signature???
 02h	WORD	EF6Fh  /
 04h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	address of entry point (see #01486)
Note:	first four bytes of buffer must be 6Fh E9h 33h 36h on entry when using
	  IOCTL rather than READ to get the entry point record


(Table 01486)
Call WORKGRP entry point with:
	STACK:	WORD	function number (0000h-0009h)
Return: STACK unchanged
SeeAlso: #01487,#01488,#01489,#01490,#01491,#01492,#01493,#01494


(Table 01487)
Call WORKGRP function 00h with:
	STACK:	WORD	0000h (function "get ???")
Return: DX:AX -> data table


(Table 01488)
Call WORKGRP function 01h with:
	STACK:	WORD	0001h (function "hook ???")
Return: STACK:	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	pointer to ???
		WORD	0001h (function number)


(Table 01489)
Call WORKGRP function 02h with:
	STACK:	WORD	0002h (function "unhook ???")
	???
Return: ???


(Table 01490)
Call WORKGRP function 03h with:
	STACK:	WORD	0003h (function "reenable printer port")
		WORD	LPTAbbreviation for Line PrinTer. port number
Return: ???


(Table 01491)
Call WORKGRP function 04h with:
	STACK:	WORD	0004h (function "disable printer port")
		WORD	LPTAbbreviation for Line PrinTer. port number
Return: ???


(Table 01492)
Call WORKGRP function 05h with:
	STACK:	WORD	0005h (function "???")
		???
Return: ???


(Table 01493)
Call WORKGRP function 06h with:
	STACK:	WORD	0006h (function "???")
Return: STACK unchanged
	AX = 0000h
	DX = 0000h


(Table 01494)
Call WORKGRP functions 07h-09h with:
	STACK:	WORD	0007h-0009h (NOP functions)
Return: STACK unchanged
	AX = 0001h
	DX = 0000h
                                                                                

INT 21 - 10NET v5.0 - 10BEUI.DOS - API(Application Program[ming] Interface) The defined set of calls which a program may make to interact with or request services of the operating system or environment under which it is running.  Because the inputs and outputs of the calls are well-defined, a program using the API can continue using the identical calls even if the internal organization of the program providing the API changes.
	AX = 4402h
	BX = file handle referencing device "10BEUI$"
	DS:DX -> parameter record (see #01495)
	CX ignored
Return: CF clear if successful
	    AX destroyed
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
SeeAlso: AX=4402h"10MEMMGR",INT 6F/AH=00h"10NET"


Format of 10NET 10BEUI.DOS parameter record:
Offset	Size	Description	(Table 01495)
 00h	WORD	000Ah (function number???)
 02h	WORD	???
 04h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	pointer to buffer for ???
 08h  4 BYTEs	???
 0Ch	WORD	transfer size
                                                                                

INT 21 - 10NET v5.0 - 10MEMMGR.SYS - API(Application Program[ming] Interface) The defined set of calls which a program may make to interact with or request services of the operating system or environment under which it is running.  Because the inputs and outputs of the calls are well-defined, a program using the API can continue using the identical calls even if the internal organization of the program providing the API changes.
	AX = 4402h
	BX = file handle referencing device "MEMMGR0$"
	DS:DX -> 6-byte buffer for interface info (see #01496)
	CX ignored
Return: CF clear if successful
	    AX destroyed
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
SeeAlso: AX=4402h"10BEUI",INT 6F/AH=00h"10NET"


Format of 10NET 10MEMMGR.SYS interface info:
Offset	Size	Description	(Table 01496)
 00h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	address of entry point (see #01497)
 04h	WORD	version (0500h for v5.00)


(Table 01497)
Call 10NET 10MEMMGR.SYS entry point with:
	AL = 01h ???
	    BX = ???
	    Return: CF clear if successful
		    CF set on error
			AX = error code
	AL = 02h ???
	    ???
	AL = 03h ???
	    ???
	AL = 04h set/restore memory allocation strategy
	    BX = subfunction
		0000h set strategy
		0001h restore strategy
	    Return: CF clear if successful
		    CF set on error (if function disabled)
		    various registers destroyed
	AL = other
	    Return: CF set
		    AX = 0000h
		    BL = 01h
                                                                                

INT 21 - FTPSOFT.DOS v3.1 - GET ???                                             
	AX = 4402h
	BX = file handle for device "FTPSOFT$"
	CX = size of buffer
	DS:DX -> buffer for data (see #01499)
Return: CF clear if successful
	    buffer filled
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Program: FTPSOFT.DOS is a device driver for Protocol Manager support from
	   FTP(File Transfer Protocol)  The standard protocol for copying files from one machine to another on a TCP/IP (Internet) network.  Also the program of the same name with which a user may transfer files. Software, Inc.
SeeAlso: AH=3Fh"PCIBM PC/TCP(Transmission Control Protocol) A higher level (session layer) of the TCP/IP protocol suite.  See also IP, TCP/IP.",AX=4402h"NDIS(Network Driver Interface Specification) A hardware-independent network interface developed by Microsoft and 3com.  See also Packet Driver, TCP/IP."


Format of FTPSOFT.DOS data:
Offset	Size	Description	(Table 01499)
 00h	WORD	(call) BA98h (if different, no data returned)
 02h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	-> NDIS(Network Driver Interface Specification) A hardware-independent network interface developed by Microsoft and 3com.  See also Packet Driver, TCP/IP. common characteristics table
		  (see #01435 at AX=4402h"NDIS(Network Driver Interface Specification) A hardware-independent network interface developed by Microsoft and 3com.  See also Packet Driver, TCP/IP.")
 06h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	(call) -> new dispatch table (see #01437 at AX=4402h"NDIS(Network Driver Interface Specification) A hardware-independent network interface developed by Microsoft and 3com.  See also Packet Driver, TCP/IP.")
 0Ah	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	-> 28-byte buffer for ??? data
 0Eh	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	???
 12h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	-> FAR function to reset dispatch jump table to defaults
 16h	BYTE	???
Note:	the addresses in the new dispatch table are copied into an internal
	  jump table which may be reset by calling the function pointed at by
	  offset 12h
                                                                                

INT 21 U - LAN Manager - TCPDRV.DOS - API(Application Program[ming] Interface) The defined set of calls which a program may make to interact with or request services of the operating system or environment under which it is running.  Because the inputs and outputs of the calls are well-defined, a program using the API can continue using the identical calls even if the internal organization of the program providing the API changes.
	AX = 4402h
	BX = file handle referencing device "TCPDRV$"
	CX = 0019h
	DS:DX -> buffer containing request block (see #01504)
Return: CF clear if successful
	    buffer filled
	CF set on error
	    AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Program: TCPDRV.DOS is the low-level device driver supporting LAN Manager's
	  TCP/IPThe protocol suite originally developed by DARPA for use on its ARPAnet network, which is now known as the Internet.  See also IP, TCP. protocol stack


Format of TCPDRV.DOS request block:
Offset	Size	Description	(Table 01504)
 00h	BYTE	(call) function number
		00h initialize ???
		06h get ???
		07h get ???
 01h	BYTE	(call) 00h
		(ret) error code if error, unchanged if successful
 02h	WORD	signature 4354h ('CT')
---function 00h---
 04h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	(call) pointer to ??? FAR function
		function is called with ES:BX -> device driver request used to
		  invoke this function
 08h  4 BYTEs	???
 0Ch	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	(call) pointer to ??? record, WORD at offset 22h is read
 10h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	(ret) -> ??? buffer if 0000h:0000h on call
---function 06h---
 04h  4 BYTEs	???
 08h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	(ret) pointer to ???
---function 07h---
 04h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	(ret) pointer to ??? record