?? interrupg.txt
字號(hào):
Interrupt List, part 7 of 18
Copyright (c) 1989-1999,2000 Ralf Brown
--------D-214400-----------------------------
INT 21 - DOS 2+ - IOCTL - GET DEVICE INFORMATION
AX = 4400h
BX = handle
Return: CF clear if successful
DX = device information word (see #01423)
AX destroyed
CF set on error
AX = error code (01h,05h,06h) (see #01680 at AH=59h/BX=0000h)
Notes: value in DH corresponds to high byte of device driver's attribute word
if handle refers to a character device
Novell NetWare reportedly does not return a drive number in bits 5-0
for a disk file
this function was not supported by Digital Research's DOS Plus
SeeAlso: AX=4401h,INT 2F/AX=122Bh
Bitfields for device information word:
Bit(s) Description (Table 01423)
character device
14 device driver can process IOCTL requests (see AX=4402h"DOS 2+")
13 output until busy supported
11 driver supports OPEN/CLOSE calls
8 ??? (set by MS-DOS 6.2x KEYB)
7 set (indicates device)
6 EOF on input
5 raw (binary) mode
4 device is special (uses INT 29)
3 clock device
2 NUL device
1 standard output
0 standard input
disk file
15 file is remote (DOS 3.0+)
14 don't set file date/time on closing (DOS 3.0+)
11 media not removable
8 (DOS 4 only) generate INT 24 if no disk space on write or read past
end of file
7 clear (indicates file)
6 file has not been written
5-0 drive number (0 = A:)
SeeAlso: INT 29
--------D-214401-----------------------------
INT 21 - DOS 2+ - IOCTL - SET DEVICE INFORMATION
AX = 4401h
BX = handle (must refer to character device)
DX = device information word (see #01423)
(DH must be zero for DOS version prior to 6.x)
Return: CF clear if successful
CF set on error
AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Note: this function was not supported by Digital Research's DOS Plus
SeeAlso: AX=4400h,INT 2F/AX=122Bh
--------D-214402-----------------------------
INT 21 - DOS 2+ - IOCTL - READ FROM CHARACTER DEVICE CONTROL CHANNEL
AX = 4402h
BX = file handle referencing character device
CX = number of bytes to read
DS:DX -> buffer
Return: CF clear if successful
AX = number of bytes actually read
CF set on error
AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
Notes: format of data is driver-specific
(also see separate entries below for some specific cases)
this function was not supported by Digital Research's DOS Plus
SeeAlso: AX=4400h,AX=4403h"DOS",AX=4404h"DOS",INT 2F/AX=122Bh
--------N-214402-----------------------------
INT 21 - Network Driver Interface Specification (NDIS) 2.0.1 - PROTOCOL MANAGER
AX = 4402h
BX = file handle for device "PROTMAN$"
CX = 000Eh (size of request block)
DS:DX -> request block (see #01424,#01425,#01426,#01427,#01428,#01432,#01433)
Return: CF clear if successful
AX = number of bytes actually read
CF set on error
AX = error code (01h,05h,06h,0Dh) (see #01680 at AH=59h/BX=0000h)
SeeAlso: AX=4402h"FTPSOFT"
Format of NDIS request block for GetProtocolManagerInfo:
Offset Size Description (Table 01424)
00h WORD 01h
02h WORD returned status (see #01434)
04h DWORD returned pointer to structure representing parsed user config
08h DWORD unused
0Ch WORD returned BCD version of NDIS on which Protocol Manager is based
SeeAlso: #01425,#01426,#01427,#01428,#01429,#01430,#01431,#01432,#01433
Format of NDIS request block for RegisterModule:
Offset Size Description (Table 01425)
00h WORD 02h
02h WORD returned status (see #01434)
04h DWORD pointer to module's common characteristics table (see #01435)
08h DWORD pointer to list of modules to which the module is to be bound
0Ch WORD unused
SeeAlso: #01424,#01426,#01427,#01428,#01429,#01430,#01431,#01432,#01433
Format of NDIS request block for BindAndStart:
Offset Size Description (Table 01426)
00h WORD 03h
02h WORD returned status (see #01434)
04h DWORD caller's virtual address in FailingModules structure
08h DWORD unused
0Ch WORD unused
SeeAlso: #01424,#01425,#01427,#01428,#01429,#01430,#01431,#01432,#01433
Format of NDIS request block for GetProtocolManagerLinkage:
Offset Size Description (Table 01427)
00h WORD 04h
02h WORD returned status (see #01434)
04h DWORD returned dispatch point
08h DWORD unused
0Ch WORD returned protocol manager DS
Note: the dispatch point may be called as follows instead of using this IOCTL
STACK: WORD protocol manager DS
DWORD pointer to request block
Return: AX = returned status
STACK popped
SeeAlso: #01424,#01425,#01426,#01428,#01429,#01430,#01431,#01432,#01433
Format of NDIS request block for GetProtocolIniPath:
Offset Size Description (Table 01428)
00h WORD 05h
02h WORD returned status (see #01434)
04h DWORD pointer to a buffer for the ASCIZ pathname of PROTOCOL.INI
08h DWORD unused
0Ch WORD buffer length
SeeAlso: #01424,#01425,#01426,#01427,#01429,#01430,#01431,#01432,#01433
Format of NDIS request block for RegisterProtocolManagerInfo:
Offset Size Description (Table 01429)
00h WORD 06h
02h WORD returned status (see #01434)
04h DWORD pointer to structure containing parsed user config file
08h DWORD unused
0Ch WORD length of structure
SeeAlso: #01424,#01425,#01426,#01427,#01428,#01430,#01431,#01432,#01433
Format of NDIS request block for InitAndRegister:
Offset Size Description (Table 01430)
00h WORD 07h
02h WORD returned status (see #01434)
04h DWORD unused
08h DWORD poitner to ASCIZ name of the module to be prebind initialized
0Ch WORD unused
SeeAlso: #01424,#01425,#01426,#01427,#01428,#01429,#01431,#01432,#01433
Format of NDIS request block for UnbindAndStop:
Offset Size Description (Table 01431)
00h WORD 08h
02h WORD returned status (see #01434)
04h DWORD failing modules as for BindAndStart
08h DWORD if not 0000h:0000h, pointer to ASCIZ name of module to unbind
if 0000h:0000h, terminate a set of previously dynamically
bound protocol modules
0Ch WORD unused
SeeAlso: #01424,#01425,#01426,#01427,#01428,#01429,#01430,#01432,#01433
Format of NDIS request block for BindStatus:
Offset Size Description (Table 01432)
00h WORD 09h
02h WORD returned status (see #01434)
04h DWORD must be 0000h:0000h
on return, points to root tree
08h DWORD 0000h:0000h
0Ch WORD unused under DOS
SeeAlso: #01424,#01425,#01426,#01427,#01428,#01429,#01430,#01431,#01433
Format of NDIS request block for RegisterStatus:
Offset Size Description (Table 01433)
00h WORD 0Ah
02h WORD returned status (0000h, 0008h, 002Ch) (see #01434)
04h DWORD 0000h:0000h
08h DWORD pointer to 16-byte ASCIZ module name
0Ch WORD 0000h
Note: not supported by the 10NET v5.0 PROTMAN$ driver
SeeAlso: #01424,#01425,#01426,#01427,#01428,#01429,#01430,#01431,#01432
(Table 01434)
Values for NDIS status code:
0000h success
0001h wait for release--protocol has retained control of the data buffer
0002h request queued
0003h frame not recognized
0004h frame rejected
0005h frame should be forwarded
0006h out of resource
0007h invalid parameter
0008h invalid function
0009h not supported
000Ah hardware error
000Bh transmit error
000Dh buffer too small
0020h already started
0021h binding incomplete
0022h driver not initialized
0023h hardware not found
0024h hardware failure
0025h configuration failure
0026h interrupt conflict
0027h MAC incompatible
0028h initialization failed
0029h no binding
002Ah network may be disconnected
002Bh incompatible OS version
002Ch already registered
002Dh path not found
002Eh insufficient memory
002Fh info not found
00FFh general failure
F000h-FFFFh reserved for vendor-specific codes, treated as general failure
Format of NDIS common characteristics table:
Offset Size Description (Table 01435)
00h WORD size of table in bytes
02h BYTE NDIS major version
03h BYTE NDIS minor version
04h WORD reserved
06h BYTE module major version
07h BYTE module minor version
08h DWORD module function flag bits
bit 0: binding at upper boundary supported
bit 1: binding at lower boundary supported
bit 2: dynamically bound
bits 3-31 reserved, must be 0
0Ch 16 BYTEs ASCIZ module name
1Ch BYTE upper boundary protocol level (see #01436)
1Dh BYTE upper boundary interface type
for MACs: 1 = MAC
for data links and transports: to be defined
for session: 1 = NCB
any level: 0 = private (ISV-defined)
1Eh BYTE lower boundary protocol level (see #01436)
1Fh BYTE lower boundary interface type
same as offset 1Dh
20h WORD module ID filled in by protocol manager
22h WORD module DS
24h DWORD system request entry point
28h DWORD pointer to service-specific characteristics (see #01438,#01440)
0000h:0000h if none
2Ch DWORD pointer to service-specific status, or 0000h:0000h if none
(see #01441)
30h DWORD pointer to upper dispatch table (see #01437)
0000h:0000h if none
34h DWORD pointer to lower dispatch table (see #01437)
0000h:0000h if none
38h 2 DWORDs reserved, must be 0
Note: for compatibility with NDIS 1.x.x, a major version of 00h is
interpreted as 01h
(Table 01436)
Values for NDIS boundary protocol level:
00h physical
01h Media Access Control
02h Data link
03h network
04h transport
05h session
FFh not specified
Format of NDIS dispatch table:
Offset Size Description (Table 01437)
00h DWORD -> common characteristics table (see #01435)
04h 4 BYTEs ???
08h DWORD -> ??? function (called with 12 bytes of stack arguments)
0Ch DWORD -> ??? function (called with 10 bytes of stack arguments)
10h DWORD -> ??? function (called with 16 bytes of stack arguments)
14h DWORD -> ??? function (called with 4 bytes of stack arguments)
18h DWORD -> ??? function (called with 18 bytes of stack arguments)
1Ch DWORD -> ??? function (called with 12 bytes of stack arguments)
Format of MAC Service-Specific Characteristics Table:
Offset Size Description (Table 01438)
00h WORD length of table in bytes
02h 16 BYTEs ASCIZ MAC type name, "802.3", "802.4", "802.5", "802.6", "DIX",
"DIX+802.3", "APPLETALK", "ARCNET", "FDDI", "SDLC", "BSC",
"HDLC", or "ISDN"
12h WORD length of station addresses in bytes
14h 16 BYTEs permanent station address
24h 16 BYTEs current station address
34h DWORD current functional adapter address (00000000h if none)
38h DWORD pointer to multicast address list
3Ch DWORD link speed in bits/sec
40h DWORD service flags (see #01439)
44h WORD maximum frame size which may be both sent and received
46h DWORD total transmit buffer capacity in bytes
4Ah WORD transmit buffer allocation block size in bytes
4Ch DWORD total receive buffer capacity in bytes
50h WORD receive buffer allocation block size in bytes
52h 3 BYTEs IEEE vendor code
55h BYTE vendor adapter code
56h DWORD pointer to ASCIZ vendor adapter description
5Ah WORD IRQ used by adapter
5Ch WORD transmit queue depth
5Eh WORD maximum supported number of data blocks in buffer descriptors
60h N BYTEs vendor-specific info
SeeAlso: #01440
Bitfields for service flags:
Bit(s) Description (Table 01439)
0 supports broadcast
1 supports multicast
2 supports functional/group addressing
3 supports promiscuous mode
4 station address software settable
5 statistics always current
6 supports InitiateDiagnostics
7 supports loopback
8 MAC does primarily ReceiveChain indications instead of ReceiveLookahead
indications
9 supports IBM source routing
10 supports MAC reset
11 supports Open/Close adapter
12 supports interrupt request
13 supports source routing bridge
14 supports GDT virtual addresses (OS/2 version)
15 multiple TransferDatas allowed durign a single indication
16 MAC normally sets FrameSize = 0 in ReceiveLookahead
17-31 reserved, must be 0
Format of NetBIOS Service-Specific Characteristics Table:
Offset Size Description (Table 01440)
00h WORD length of table in bytes
02h 16 BYTEs ASCIZ type name of NetBIOS module
12h WORD NetBIOS module code
14h N BYTEs vendor-specific info
SeeAlso: #01438
Format of MAC Service-Specific Status Table:
Offset Size Description (Table 01441)
00h WORD length of table in bytes
02h DWORD seconds since 0:00 1/1/70 when diagnostics last run
(FFFFFFFFh = never)
06h DWORD MAC status bits (see #01442)
0Ah WORD current packet filter flags (see #01443)
0Ch DWORD pointer to media-specific status table or 0000h:0000h
10h DWORD seconds past 0:00 1/1/70 of last ClearStatistics
14h DWORD total frames received (FFFFFFFFh = not counted)
18h DWORD frames with CRC error (FFFFFFFFh = not counted)
1Ch DWORD total bytes received (FFFFFFFFh = not counted)
20h DWORD frames discarded--no buffer space (FFFFFFFFh = not counted)
24h DWORD multicast frames received (FFFFFFFFh = not counted)
28h DWORD broadcast frames received (FFFFFFFFh = not counted)
2Ch DWORD frames with errors (FFFFFFFFh = not counted)
30h DWORD overly large frames (FFFFFFFFh = not counted)
34h DWORD frames less than minimum size (FFFFFFFFh = not counted)
38h DWORD multicast bytes received (FFFFFFFFh = not counted)
3Ch DWORD broadcast bytes received (FFFFFFFFh = not counted)
40h DWORD frames discarded--hardware error (FFFFFFFFh = not counted)
44h DWORD total frames transmitted (FFFFFFFFh = not counted)
48h DWORD total bytes transmitted (FFFFFFFFh = not counted)
4Ch DWORD multicast frames transmitted (FFFFFFFFh = not counted)
50h DWORD broadcast frames transmitted (FFFFFFFFh = not counted)
54h DWORD broadcast bytes transmitted (FFFFFFFFh = not counted)
58h DWORD multicast bytes transmitted (FFFFFFFFh = not counted)
5Ch DWORD frames not transmitted--timeout (FFFFFFFFh = not counted)
60h DWORD frames not transmitted--hardware error (FFFFFFFFh = not countd)
64h N BYTEs vendor-specific info
Bitfields for MAC status bits:
Bit(s) Description (Table 01442)
0-2 operational status
000 hardware not installed
001 hardware failed startup diagnostics
010 hardware configuration problem
011 hardware fault
100 operating marginally due to soft faults
101 reserved
110 reserved
111 hardware fully operational
3 MAC bound
4 MAC open
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -