⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 interrup.m

📁 A Programmer s Reference to BIOS, DOS, and Third-Party Calls
💻 M
📖 第 1 页 / 共 5 页
字号:
	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 + -