Int 2F/AX=7A40h

lup.gif ldown.gif Interrups Categories Contents

rbline.gif

Novell NetWare - TCP/IP 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/IP 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

See Also: AX=7A41h - INT 15/AX=DE2Eh - INT 60"Excelan"

(Table 02902) Values for NetWare TCP/IP 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 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 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 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 information 1Bh "getipinfo" get 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

See Also: #02904

(Table 02903) Call NetWare TCP/IP entry point with:. ES:SI -> parameter block (see #02904)

Return:
ES:SI parameter block updated DX may be destroyed

Format of NetWare TCP/IP Request Control Block (RCB): Offset Size Description (Table 02904) 00h DWORD -> next RCB 04h DWORD -> previous RCB 08h DWORD -> 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 + DWORD 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 DWORD sockaddr structure (WORD port + DWORD subnet mask) ---ioctl command--- 18h DWORD 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. DWORD timeout in clock ticks ---shutdown command--- 18h WORD shutdown type ---socket command--- 18h WORD protocol (1 = ICMP, 6 = TCP, 17 = UDP) ---I/O commands (recv,recvfrom,send,sendto)--- 18h WORD flags 1Ah 6 BYTEs sockaddr from/to WORD port number DWORD 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 DWORD pointer to buffer 04h WORD length of buffer ---getsnmpinfo command--- 18h DWORD (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 DWORD IP address 1Eh DWORD 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 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 DWORD destination host/net IP address DWORD 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 DWORD destination 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/IP 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)

See Also: #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 address of nearest router 28h BYTE ??? (06h) 29h BYTE length of following data (08h) 2Ah 4 BYTEs IP address of nameserver 1 2Eh 4 BYTEs IP address of nameserver 2 32h BYTE ??? (0Ch) 33h BYTE length of local name 34h N BYTEs local host name. BYTE FFh (end marker)

See Also: #02904 - #02902

Category: Netware - Int 2Fh - N

rbline.gif

lup.gif ldown.gif Interrups Categories Contents