📄 interrup.m
字号:
AX = 7A22h
DL = function
21h ('!') broadcast waiting for workstation
40h ('@') SFT3 server-change inform
BX = transport type
0021h IPX
0022h TCP
ES:SI -> transport-specific data block
(ECB for IPX, undefined for TCP)
interrupts disabled
Return: AX = 0000h if event handled, unchanged if not
interrupts disabled
Note: this callback is made from within a hardware interrupt handler; a
separate call to AX=7A21h is made once the system is in a safe
state for receiving the message
SeeAlso: AX=7A21h
--------N-2F7A2F-----------------------------
INT 2F - Novell NetWare - IPXODI v2.12 - GET GNMA SUPPORT
AX = 7A2Fh
Return: AX = 0000h if supported and active
BX = support level (0001h)
ES:DI -> GNMA entry point (see #02898)
Program: GNMA is the Generic NetWare Management Agent
Note: IPXODI v2.12 is distributed as part of the Personal NetWare system
bundled with Novell DOS 7
SeeAlso: INT 7A/BX=001Fh
(Table 02898)
Call IPXODI GNMA entry point with:
BX = function
0000h Register Responder
ES:SI -> responder structure (see #02899)
Return: CF clear if successful
CF set on error
AX = status
FFFFh if specified responder is already registered
interrupts enabled
all other registers except DS, CS:IP, SS:SP destroyed
Note: the responder structure must not be deallocated until
the responder is deregistered
0001h Deregister Responder
AX = type of responder to deregister
Return: AX = status
FFFFh if specified responder not registered
interrupts enabled
ES:SI buffer from original registration may now be
freed
all other registers except DS, CS:IP, SS:SP destroyed
0002h Get Responders
Return: ES:SI -> head of responder structure list (read-only)
interrupts enabled
all other registers except DS, CS:IP, SS:SP destroyed
Note: the returned list may change as tasks are swapped in
and out
0003h Send Acknowledgement
AL = completion code
00h successful
01h-FCh responder-specific
FDh invalid function
CX = length of return data (0000h if none)
DX:SI -> return data
Return: interrupts enabled
all other registers except DS, CS:IP, SS:SP destroyed
Format of NetWare GNMA responder structure:
Offset Size Description (Table 02899)
00h DWORD -> next responder structure (used by GNMA)
04h DWORD -> responder's request handler (called by GNMA) (see #02900)
08h WORD responder ID
0Ah WORD number of functions supported by responder
0Ch DWORD reserved for use by GNMA
SeeAlso: #02898
(Table 02900)
Values GNMA responder's request handler is called with:
AL = function
00h responder request
CX = length of request data (not including header) (see #02901)
DS:DI -> request data (see #02901)
DS:BX -> 528-byte reply buffer
ES:SI -> responder structure (see #02899) from registration
DF clear
interrupts disabled
Return: AH = acknowledement status
00h acknowledgment being returned synchronously
nonzero: acknowledgment will be sent via GNMA
function 0003h (see #02898)
CX = length of acknowledement data
DX:BX -> acknowledgment (may use provided
buffer or another buffer)
AL = completion code
00h successful
01h-FCh responder-specific
FDh invalid request
DF clear
interrupts disabled
other registers may be destroyed
01h responder acknowledgement complete
ES:SI -> responder structure (see #02899) from registration
DF clear
interrupts disabled
Return: DF clear
interrupts disabled
all registers (except SS:SP) may be destroyed
Note: this function is called if function 00h returned a
responder-provided data buffer; once this function
is called, the responder may deallocate the buffer
02h responder reset
ES:SI -> responder structure (see #02899) from registration
DF clear
interrupts disabled
Return: DF clear
interrupts disabled
all registers (except SS:SP) may be destroyed
Note: called whenever a network managment application
terminates
Note: the responder handler should switch to a local stack if it enables
interrupts or uses more than a few words of stack space
SeeAlso: #02899
Format of GNMA responder request data:
Offset Size Description (Table 02901)
00h WORD responder's assigned ID
02h WORD function number (defined by responder)
04h N BYTEs data for request (max 528 bytes; actual amount is determined
by CX)
SeeAlso: #02900
--------N-2F7A2FBX0EDC-----------------------
INT 2F U - Personal NetWare - HRMIB - UNINSTALL
AX = 7A2Fh
BX = 0EDCh ('EDC' = Novell European Development Center)
Return: ???
SeeAlso: AX=7AA0h
--------N-2F7A40-----------------------------
INT 2F - 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
SeeAlso: 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
SeeAlso: #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)
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 address of nearest router
28h BYTE ??? (06h)
29h BYTE length of following data (08h)
2Ah
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -