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

📄 interrup.m

📁 A Programmer s Reference to BIOS, DOS, and Third-Party Calls
💻 M
📖 第 1 页 / 共 5 页
字号:
 89F0h	illegal wildcard
 89F1h	invalid bindery security level
 89F2h	not allowed to read object
 89F3h	not allowed to write/rename object
 89F4h	not allowed to delete object
 89F5h	not allowed to create object
 89F6h	not allowed to delete property
 89F7h	not allowed to create property; attempt to use non-local drive
 89F8h	not allowed to write property; already attached to server
 89F9h	not allowed to read property; no free connection slots
 89FAh	temporary remap error; no more server slots
 89FBh	no such property; invalid parameters
 89FCh	no such object; internet packet request canceled; unknown file server
 89FDh	bad station number; lock collision
 89FEh	directory locked; bindery locked; timeout
 89FFh	general error; hard error; lock error
Note:	some server-generated error codes have multiple interpretations; use
	  the one appropriate to the failing call

(Table 02861)
Values for VLM identifier:
 0001h	VLM.EXE		Virtual Loadable Modules manager (see also #02864)
 0010h	CONN.VLM	connection table manager (see also #02867)
 0020h	TRAN.VLM	transport protocol multiplexor (see also #02871)
 0021h	IPXNCP.VLM	transport protocol implementation using IPX (see #02873)
 0022h	TCPNCP.VLM	TCP/IP transport
 0030h	NWP.VLM		NetWare protocol multiplexor (see also #02875)
 0031h	BIND.VLM	bindery
 0032h	NDS.VLM		NetWare Directory Services (see also #02877)
 0033h	PNW.VLM		Personal NetWare
 0034h	RSA.VLM		RSA encryption for directory services re-authentication
 0040h	REDIR.VLM	DOS redirector (see also #02879)
 0041h	FIO.VLM		file I/O (see also #02882)
 0042h	PRINT.VLM	printer redirector (see also #02884)
 0043h	GENERAL.VLM	misc functions for NETx and REDIR (see also #02888)
 0050h	NETX.VLM	NetWare shell compatibility (see also #02890)
 0060h	AUTO.VLM	auto-reconnect/auto-retry
 0061h	SECURITY.VLM	enhanced security module (see #02892)
 0100h	NMR.VLM		NetWare management responder
 09F2h	DRVPRN.VLM	Desktop SNMP Services - Drive/Printer Mappings
 09F5h	SAA.VLM		SAA client API for Netware
 09F6h	IPXMIB.VLM	SNMP IPX-monitoring Module???
 09F7h	PNWMIB.VLM	Personal Netware SNMP Instrumentation Module
 09F8h	PNWTRAP.VLM	Personal Netware SNMP Trap Module
 09F9h	MIB2PROT.VLM	MIB-II Protocol Groups
 09FAh	MIB2IF.VLM	MIB-II Interfaces Group
 09FBh	NVT.VLM		???
 09FCh	WSTRAP.VLM	Desktop SNMP Services - Trap Module
 09FDh	WSREG.VLM	Desktop SNMP Services - Registration Module
 09FEh	WSASN1.VLM	Desktop SNMP Services - ASN.1 Module
 09FFh	WSSNMP.VLM	Desktop SNMP Services - Agent Module

Format of VLM header:
Offset	Size	Description	(Table 02862)
 00h	DWORD	-> initialization entry point
 04h	DWORD	-> VLM API entry point
 08h	DWORD	-> ??? entry point
 0Ch	DWORD	-> ??? entry point
 10h	DWORD	-> ??? entry point
	...
 var	DWORD	00000000h (end of entry point list)
      4 BYTEs	signature "NVlm"
	WORD	VLM identifier (see #02861)
---v1.20+ ---
 1Eh	WORD	???
 20h	WORD	Transient Switch Count
 22h	WORD	VLM Call Count
 24h	WORD	Offset ControlBlocks (See #02863)
 26h	WORD	Current VLMID
 28h	BYTE	Memory Type
		00h=Conventional 02h=EMS 04h=XMS
 29h	BYTE	Modules Loaded
 2Ah	WORD	BlockId
 2Ch	WORD	Transient Block
 2Eh	WORD	Global Segment
 30h  3	DWORDs	pointers to AsyncQueue head, tail, and s???
 3Ch  3	DWORDs	pointers BusyQueue head, tail, and s???
 48h	WORD	ReEntrance Level
 4Ah	WORD	Full Map Count
 4Ch	WORD	???
 4Eh 80 BYTEs	ASCIZ configuration file filename
Note:	the number of entry points in the header is reported as "Func" in the
	  VLM /D display.

Format of VLM Control Block for VLM v1.20 [array]:
Offset	Size	Description	(Table 02863)
 00h	WORD	Flag
 02h	WORD	VLM Identifier (See #02861)
 04h	WORD	Func
 06h	WORD	Maps
 08h	WORD	number of times called
 0Ah	WORD	???
 0Ch	WORD	Transient Segment
 0Eh	WORD	Global Segment
 10h	WORD	Address Low
 12h	WORD	Address High
 14h	WORD	TSegSize
 16h	WORD	GSegSize
 18h	WORD	SSegSize
 1Ah	BYTE	VLMName[9] ASCIZ
Note:	this information is shown in VLM /d under the dashed line. There are
	  as many 35-byte blocks as modules loaded
SeeAlso: #02862

(Table 02864)
Call VLM Manager (VLM.EXE, ID 0001h) with:
Func	Description/Registers
 01h	VLM Notify
	BX = function
	    0000h get version
		Return: AX = status (see #02860)
			BX = major version of VLM supported (0001h)
			CX = minor version of VLM supported (0000h)
 03h	VLM Statistics
	CX = length of buffer
	ES:DI -> buffer for statistics (see #02865)
	Return: AX = status (0000h if successful)
		buffer filled if successful
 04h	VLM internal use
	BX = function
	    0000h get interrupt vector (calls INT 21/AH=35h)
	    0001h begin critical section (calls INT 2F/AX=1681h)
	    0002h end critical section (calls INT 2F/AX=1682h)
	    0003h ???

Format of VLM.EXE statistics:
Offset	Size	Description	(Table 02865)
 00h	WORD	size of statistics record in bytes (including this word)
 02h	WORD	number of times a VLM has been mapped into memory
 04h	WORD	number of times a VLM has been called
 06h	WORD	offset of vcbArray buffer
 08h	WORD	VLM ID of VLM currently mapped into memory
 0Ah	BYTE	memory type: conventional/EMS/XMS
 0Bh	BYTE	number of loaded VLMs
 0Ch	WORD	EMS/XMS handle or 0000h if conventional memory
 0Eh	WORD	start segment for conventional memory swap
 10h	WORD	segment for global memory, or 0000h if conventional memory
 12h 12 BYTEs	queue structure for asynchronous calls (see #02866)
 1Eh 12 BYTEs	queue structure for synchronous calls (see #02866)
 2Ah	WORD	current re-entrance level
 2Ch	WORD	number of times EMS/XMS map-out performed
 2Eh	BYTE	stack switch control
 2Fh	BYTE	flag: nonzero if switcher loaded
 30h 80 BYTEs	pathname of configuration file
SeeAlso: #02864

Format of VLM.EXE queue structure:
Offset	Size	Description	(Table 02866)
 00h	DWORD	queue head (initially 00000000h)
 04h	DWORD	queue tail (initialized to be same as head)
 08h	WORD	current queue size (number of nodes in queue)
 0Ah	WORD	maximum queue size (in nodes)
SeeAlso: #02865

(Table 02867)
Call Connection Manager (CONN.VLM, ID 0010h) with:
Func	Description/Registers
 01h	Conn Get Version
	BX = function
	    0000h get version
		Return: AX = status (see #02860)
			BX = major version of VLM supported (0001h)
			CX = minor version of VLM supported (0000h)
 03h	Conn Statistics
	CX = length of buffer
	ES:DI -> buffer for connection statistics (see #02868)
	Return: AX = status (0000h successful)
 04h	Conn Alloc Handle
	Return: AX = status (0000h successful)
		CX = connection handle
 05h	Conn Validate Handle
	CX = connection handle
	Return: AX = 0000h if valid handle
 06h	Conn Free Handle
	CX = connection handle
	Return: AX = status (0000h successful)
 07h	Conn Get Entry Field
	BH = connection parameter (see #02870)
	CX = connection handle
	DX = value if BH is non-array parameter
	DH = offset in array if BH is array parameter
	DL = number of bytes to copy if BH is array
	ES:DI -> return buffer if BH is array
	Return: AX = 0000h if successful
		DL/DX = value if non-array parameter
		DH = maximum number of bytes in buffer if array parameter
		DL = number of bytes copied if array
		BX destroyed
 08h	Conn Set Entry Field
	BH = connection parameter (see #02870)
	CX = connection handle
	DL/DX = value if BH is non-array parameter
	DH = offset in array if BH is array parameter
	DL = number of bytes to copy if BH is array
	DS:SI -> buffer if BH is array
	Return: AX = 0000h if successful
		DH = maximum number of bytes in buffer
		DL = number of bytes copied
		BX destroyed
 09h	Conn Reset Entry Field
	BH = connection parameter (see #02870)
	CX = connection handle
	Return: AX = 0000h if successful
		BX,DX destroyed
 0Ah	Conn Lookup Handle
	BL = lookup type (00h equal, 40h not equal)
	BH = connection parameter (see #02870)
	CX = connection handle, 0000h if first
	DL/DX = value if BH is non-array parameter
	DH = offset in array if BH is array parameter
	DL = number of bytes to copy if BH is array
	DS:SI (ES:DI???) -> buffer if BH is array
	Return: AX = 0000h if successful
		CX = handle matching given parameters
 0Dh	Conn Name Lookup
	CX = connection handle
	ES:DI -> 49-byte buffer for server name or 0000h:0000h
	Return: AX = 0000h if successful
		BX = length of server name
		ES:DI buffer filled if pointer not 0000h:0000h
 0Eh	Conn Name To Handle
	DS:SI -> uppercased server name
	CX = length of server name, 0000h if ASCIZ name
	Return: AX = error code or 0000h if successful
		    CX = connection handle if successful
 0Fh	Conn Get Num Connections
	Return: AX = status (0000h if successful)
		DX = number of connections
		CX = segment of connection table
		    first entry in table (See #02869)

Format of VLM connection statistics:
Offset	Size	Description	(Table 02868)
 00h	WORD	total length of statistics record (including this word)
 02h	WORD	number of connection handles allocated
 04h	WORD	average name length (configured in NET.CFG)
 06h	WORD	maximum number of tasks (configured in NET.CFG)
 08h	WORD	number of failed "allocate handle" calls
 0Ah	WORD	number of failed "add name" calls
 0Ch	WORD	number of failed task calls
Note:	some versions of the NetWare requester reportedly do not implement
	  this correctly
SeeAlso: #02867

Format of NetWare VLM Connection Table [array]:
Offset	Size	Description	(Table 02869)
 00h	WORD	Protocol VLMid	  0032(NDS) 0031(BIND)		Func 07 equiv.
				  0033(PNW) 0000(unused)       BH=01h
 02h	BYTE	(connection status)
		bit 6: connection locked		       BH=16h
		bit 5: authenticated			       BH=03h
		bit 4: permanent			       BH=02h
		bit 2: broadcast msg waiting		       BH=12h
 03h	BYTE	(connection capabilities)
		bit 5: Large Internet Packets		       none
		bit 3: Packet Burst Reset		       BH=07h
		bit 2: Max I/O				       BH=06h
		bit 1: SFT3 change			       BH=05h
		bit 0: Packet Burst Support		       BH=04h
 04h	WORD	reference count				       BH=09h
 06h	WORD	soft resource count			       BH=15h
 08h	BYTE	NCP Order Number			       BH=0Eh
 09h	BYTE	Server security options			       BH=14h
		bit 0: CRC enabled
		bit 1: packet signing required
		bit 5: packet signing enabled
 0Ah	BYTE	OS Major Version			       BH=08h
 0Bh	BYTE	OS Minor Version			       BH=08h
 0Ch	WORD	Hops to Server				       BH=0Ah
 0Eh	WORD	Maximum Packet Size for this connection	       BH=0Bh
 10h	WORD	LIP Parameters				       BH=13h
 12h	WORD	NCP Request Type			       BH=10h
 14h	BYTE	NCP Sequence				       BH=0Ch
 15h	WORD	Connection Number			       BH=0Dh
 17h	BYTE	???					       none
 18h	WORD	Transport VLMid 21(IPXNCP) 22(TCPNCP)	       BH=0Fh
 1Ah	BYTE	Node Address[4]				       BH=11h
 1Eh	BYTE	Network[6]				       BH=11h
 24h	BYTE	Socket[2]				       BH=11h
 26h	BYTE	Local Target[6]				       BH=11h
 2Ch	WORD	Round Trip Time				       BH=11h
 2Eh	WORD	???					       none
SeeAlso: #02867

(Table 02870)
Values for NetWare Connection Manager CEI (Connection Entry Information):
 number	flags	description
 00h	FR	error
 01h	WL	VLM id of transport protocol (NDS/BIND/PNW)
		00h = wildcard
 02h	FR	permanent flag (01h if connection is permanent)
 03h	F	authenticated flag (01h if connection is authenticated)
 04h	F	packet burst supported
 05h	FR	SFT3 change status
 06h	FR	connection needs maximum I/O transmission
 07h	FR	packet burst reset needed
 08h	W	server version
 09h	W	reference count (tasks using connection, 00h = dynamic)
 0Ah	W	distance to server associated with connection
 0Bh	W	maximum packet size supported by transport protocol
 0Ch	B	NCP sequence number
 0Dh	W	connection number
 0Eh	B	NCP order number
 0Fh	WL	VLM id for transport protocol
		00h = wildcard, 21h = IPX, 22h = TCP
 10h	W	NCP request type
 11h	A	transport specific buffer
		12 byte server address
		6 byte	router address
		2 byte round trip time
 12h	FR	broadcast message waiting
 13h	W	large internet packets supported
 14h	B	security options
		bit 0: CRC enabled
		bit 1: packet signing enabled
		bit 5: packet signing active
 15h	W	soft resource count
 16h	FR	connection locked
Note:	flag meanings
	    F=flag value
	    B=byte value
	    W=word value
	    A=array
	    R=resettable
	    L=settable only before authentication
	    others=read only
SeeAlso: #02867

(Table 02871)
Call TRAN.VLM (VLM ID 0020h) with:
Func	Description/Registers
 01h	TRAN Get Version
	BX = function
	    0000h get version
		Return: AX = status (see #02860)
			BX = major version of VLM supported (0001h)
			CX = minor version of VLM supported (0000h)
 03h	TRAN Statistics
 06h	TRAN Request Reply (see INT 21/AH=F2h)
	AL = NCP request code (see #02095 at INT 21/AH=F2h)
	BH = error handler flag
	    00h default error handler
	    01h return network errors to caller
	    02h handle network errors in requester
	BL = request list length (max 5 fragments) (see #02872)
	CX = connection handle
	DH = 00h (reserved)
	DL = reply list length (max 5 fragments) (see #02872)
	DS:SI -> address list (each element is DWORD address + WORD length)
	ES:DI -> address list
	Return: AX = error code, 0000h if successful (see #02860)
		BX,DX destroyed
		ES:DI buffer filled with reply packet fragments
 08h	TRAN Schedule/Cancel Event
	BX = subfunction
	    0000h schedule event
		AX = number of timer ticks to delay before calling function
		ES:SI -> event control block (including valid call address)
	    0001h cancel event
		ES:SI -> event control block (including call address)
	Return: AX = status (0000h = successful) (see #02860)
 09h	TRAN Get Max Phys Size

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -