INT 2F - Novell NetWare - 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 - INSTALLATION CHECK
	AX = 7A40h
Return: AX = 7AFFh if installed
	    0000h:BX = address of interrupt vector for MLID ISR
	    CX = version (CH=major, CL=minor)
	    DX = 0000h
	    ES:DI -> entry point for 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. stack (see #02903)
Notes:	Novell's LAN Workplace for DOS TCPIP.EXE also supports this interface
	this function is also supported by the Beame&Whiteside BWLWP40 shim,
	  but it only returns AL and ES:DI, and does not support AX=7A41h
SeeAlso: AX=7A41h,INT 15/AX=DE2Eh,INT 60"Excelan"



(Table 02902)
Values for NetWare 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. function code:
 01h	"accept" accept a network connection request
 02h	"bind" associate an address with a socket
 03h	close socket
	Call:	socket number field set
 04h	"connect" connect to a remote host
 05h	"getmyipaddr" get IP(Internet Protocol) The lower level (transport layer) of the TCP/IP protocol suite.	See also TCP, TCP/IP. address
	Call:	socket number field in sockaddr set to 0000h
 06h	"getmymacaddr" get hardware address
 07h	"getpeername"
 08h	"getsockname" get socket name
 09h	"getsockopt" get socket options
 0Ah	"getsubnetmask" get subnet mask
 0Bh	"ioctl"
 0Ch	"listen" wait for connection request on socket
 0Dh	"select"
	Return: socket bitmap updated (1=active)
 0Eh	"setmyipaddr" (obsolete) set IP(Internet Protocol) The lower level (transport layer) of the TCP/IP protocol suite.	See also TCP, TCP/IP. address
 0Fh	"setsockopt" set socket options
 10h	"shutdown"
 11h	"socket" open socket
	Call:	socket number field set to 0000h
	Return: socket number set
 12h	"recv" get data from peer
 13h	"recvfrom" get data from specified remote host
	Call:	socket number set
		packet length and buffer descriptors set
	Return:	packet length and receive buffers updated
		sockaddr field set to source port number + IP(Internet Protocol) The lower level (transport layer) of the TCP/IP protocol suite.	See also TCP, TCP/IP. address
 14h	"send" write data to socket
 15h	"sendto" write data to specified recipient
	Call:	socket number set
		flags at offset 18h = 0000h
		packet length and buffer descriptors set
---v4.02+ ---
 16h	get BOOTP data
	Return: BOOTP data stored in parameter block (see #02906)
 17h	"getsnmpinfo"
 18h	"getpathinfo" get/set configuration???
---v4.??? ---
 19h	"getifn"	get interface number
 1Ah	"setipinfo"	set IP(Internet Protocol) The lower level (transport layer) of the TCP/IP protocol suite.	See also TCP, TCP/IP. information
 1Bh	"getipinfo"	get IP(Internet Protocol) The lower level (transport layer) of the TCP/IP protocol suite.	See also TCP, TCP/IP. information
 1Ch	"setdnsinfo"	set DNS information
 1Dh	"getdnsinfo"	get DNS information
 1Eh	"setroutes"	set/modify route entry(ies)
 1Fh	"getroutes"	get route entry(ies)
 20h	"removeroutes"	remove route entry(ies)
 21h	"setarpe"	set/modify ARP entry(ies)
 22h	"getarpe"	get ARP entry(ies)
 23h	"removearpe"	remove ARP entry(ies)
Notes:	these functions are based on the Unix socket interface
	OR function number with 80h to call ESR
SeeAlso: #02904


(Table 02903)
Call NetWare 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. entry point with:
	ES:SI -> parameter block (see #02904)
Return: ES:SI parameter block updated
	DX may be destroyed


Format of NetWare 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. Request Control Block (RCB):
Offset	Size	Description	(Table 02904)
 00h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	-> next RCB
 04h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	-> previous RCB
 08h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	-> FAR post routine called if bit 7 of function code set
 0Ch	BYTE	flags (internal use)
		bit 0: request in progress
		bit 1: posted
		bit 2: Windows
		bit 3: "PROTBUF"
		bit 4: "ABORTRCB" for Ctrl-Break handling
		bit 5: call INT 21/AX=0B00h while blocking
 0Dh  7 BYTEs	???
 14h	BYTE	(ret) temporary result code
 15h	BYTE	(call) function code (bit 7 set if non-blocking) (see #02902)
 16h	BYTE	socket number
 17h	BYTE	(ret) result or error code (see #02905)
---accept/bind/connect/getmyipaddr/getpeername/getsockname commands---
 18h		sockaddr structure (WORD port + DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address. IP(Internet Protocol) The lower level (transport layer) of the TCP/IP protocol suite.	See also TCP, TCP/IP. address)
---close comand---
 no additional fields
---getmymacaddr command---
 18h  6 BYTEs	low-level hardware network address
---BOOTP command---
 18h 64 BYTEs	BOOTP VSA data (see #02906)
---getpathinfo command
 18h  8 BYTEs	key
		"TCP_CFG" used by PING.EXE
 20h 128 BYTEs	path
 A0h	WORD	length of path in previous field
---getsockopt/setsockopt commands---
 18h	WORD	option name
		0004h SO_REUSEADDR
		0008h SO_KEEPALIVE
		0080h SO_LINGER
 1Ah	WORD	option value
 1Ch	WORD	"linger"
---getsubnetmask command---
 18h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	sockaddr structure (WORD port + DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address. subnet mask)
---ioctl command---
 18h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	argument value
 1Ch	WORD	ioctl number
---listen command---
 18h	WORD	maximum allowable connection backlog
---select command---
 18h	WORD	number of sockets
 1Ah		fd_set readfds (bitmap of sockets)
		fd_set writefds
		fd_set expectionfds
	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	timeout in clock ticks
---shutdown command---
 18h	WORD	shutdown type
---socket command---
 18h	WORD	protocol (1 = ICMP, 6 = TCP(Transmission Control Protocol) A higher level (session layer) of the TCP/IP protocol suite.  See also IP, TCP/IP., 17 = UDP)
---I/O commands (recv,recvfrom,send,sendto)---
 18h	WORD	flags
 1Ah  6 BYTEs	sockaddr from/to
		WORD	port number
		DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	IP(Internet Protocol) The lower level (transport layer) of the TCP/IP protocol suite.	See also TCP, TCP/IP. address
 20h	WORD	length of packet sent/received
 22h	WORD	number of pointer/length pairs following (max 8)
 24h 6N BYTEs	buffer descriptors, each
		Offset	Size	Description
		 00h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	pointer to buffer
		 04h	WORD	length of buffer
---getsnmpinfo command---
 18h	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	(ret) -> ??? data in TCPIP code segment
--getifn command---
 18h	WORD	interface number
 1Ah	WORD	MLID instance number
 1Ch 128 BYTEs	MLID name
---getipinfo/setipinfo commands---
 18h	WORD	interface number (00h = default)
 1Ah	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	IP(Internet Protocol) The lower level (transport layer) of the TCP/IP protocol suite.	See also TCP, TCP/IP. address
 1Eh	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	IP(Internet Protocol) The lower level (transport layer) of the TCP/IP protocol suite.	See also TCP, TCP/IP. netmask
 22h  3 DWORDs	router addresses (00000000h = unused entry)
---getdnsinfo/setdnsinfo commands---
 18h	WORD	interface number (00h = default)
 1Ah  3 DWORDs	name server IP(Internet Protocol) The lower level (transport layer) of the TCP/IP protocol suite.	See also TCP, TCP/IP. addresses (00000000h = unused entry)
 26h 128 BYTEs	domain name
---getroutes/setroutes/removeroutes commands---
 18h	WORD	number of route entries to follow (max 5)
 1Ah 10N BYTEs	route entries
		DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	destination host/net IP(Internet Protocol) The lower level (transport layer) of the TCP/IP protocol suite.	See also TCP, TCP/IP. address
		DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	IP(Internet Protocol) The lower level (transport layer) of the TCP/IP protocol suite.	See also TCP, TCP/IP. address of first router
		WORD	route type
---getarpe/setarpe/removearpe commands---
 18h	WORD	number of ARP entries to follow (max 16)
 1Ah 10N BYTEs	ARP entries
		DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address.	destination IP(Internet Protocol) The lower level (transport layer) of the TCP/IP protocol suite.	See also TCP, TCP/IP. address
		6 BYTEs	destination hardware address
---other commands---
 18h  4 WORDs	parameter words 0 to 3 (see #02902 for usage)


(Table 02905)
Values for NetWare 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. status:
 00h	successful
 04h	would block
 09h	invalid socket
 23h	would block
 24h	operation in progress
 25h	already in progress
 26h	not a socket
 27h	destination address required
 28h	message too long
 29h	wrong protocol type for socket
 2Ah	protocol not available
 2Bh	protocol not supported
 2Ch	socket type not supported
 2Dh	operation not supported on socket
 2Eh	protocol family not supported
 2Fh	address family not supported by protocol family
 30h	address already in use
 31h	unable to assign requested address
 32h	network is down
 33h	network is unreachable
 34h	network dropped connection
 35h	software caused connection abort
 36h	connection reset by peer
 37h	no buffer space
 38h	socket is already connected
 39h	socket is not connected
 3Ah	socket is in shutdown mode
 3Bh	too many references
 3Ch	connection timed out
 3Dh	connection refused
 3Eh	too many levels of symbolic links
 3Fh	file name too long
 40h	host is down
 41h	host unreachable
 42h	protocol stack not installed
 43h	asynchronous operation not supported
 44h	synchronous operation not supported
 45h	no RCB available
 FFh	blocking (call has not yet returned)
SeeAlso: #02904


Format of BOOTP data (stored in parameter block):
Offset	Size	Description	(Table 02906)
 18h  4 BYTEs	???
 1Ch	BYTE	??? (01h)
 1Dh	BYTE	address length (04h)
 1Eh  4 BYTEs	subnet mask
 22h	BYTE	??? (03h)
 23h	BYTE	??? (04h)
 24h  4 BYTEs	IP(Internet Protocol) The lower level (transport layer) of the TCP/IP protocol suite.	See also TCP, TCP/IP. address of nearest router
 28h	BYTE	??? (06h)
 29h	BYTE	length of following data (08h)
 2Ah  4 BYTEs	IP(Internet Protocol) The lower level (transport layer) of the TCP/IP protocol suite.	See also TCP, TCP/IP. address of nameserver 1
 2Eh  4 BYTEs	IP(Internet Protocol) The lower level (transport layer) of the TCP/IP protocol suite.	See also TCP, TCP/IP. address of nameserver 2
 32h	BYTE	??? (0Ch)
 33h	BYTE	length of local name
 34h  N BYTEs	local host name
	BYTE	FFh (end marker)
SeeAlso: #02904,#02902