Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Ralf Brown's Interrupt List (Part 1,2) - format of device driver header: http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
Format of device driver header:
Offset  Size    Description
 00h    DWORD   pointer to next driver, offset=FFFFh if last driver
 04h    WORD    device attributes
                Character device:
                   bit 15  set
                   bit 14  IOCTL supported (see AH=44h)
                   bit 13  (DOS 3+) output until busy supported
                   bit 12  reserved
                   bit 11  (DOS 3+) OPEN/CLOSE/RemMedia calls supported
                   bits 10-7 reserved
                   bit 6  (DOS 3.2+) Generic IOCTL call supported (command 13h)
                                (see AX=440Ch,440Dh)
                   bit 5  reserved
                   bit 4  device is special (use INT 29 "fast console output")
                   bit 3  device is CLOCK$ (all reads/writes use transfer
                                record described below)
                   bit 2  device is NUL
                   bit 1  device is standard output
                   bit 0  device is standard input
                Block device:
                   bit 15  clear
                   bit 14  IOCTL supported
                   bit 13  non-IBM format
                   bit 12  reserved
                   bit 11  (DOS 3+) OPEN/CLOSE/RemMedia calls supported
                   bit 10  reserved
                   bit 9   ??? set by DOS 3.3 DRIVER.SYS for "new" drives
                   bit 8   ??? set by DOS 3.3 DRIVER.SYS for "new" drives
                   bit 7   reserved
                   bit 6  (DOS 3.2+) Generic IOCTL call supported (command 13h)
                                implies support for commands 17h and 18h
                                (see AX=440Ch,440Dh,440Eh,440Fh)
                   bits 5-2 reserved
                   bit 1   driver supports 32-bit sector addressing
                   bit 0   reserved
 06h    WORD    device strategy entry point
                call with ES:BX -> request header (see INT 2F/AX=0802h)
 08h    WORD    device interrupt entry point
---character device---
 0Ah  8 BYTEs   blank-padded character device name
---block device---
 0Ah    BYTE    number of subunits (drives) supported by driver
 0Bh  7 BYTEs   unused
---
 12h    WORD    (CD-ROM driver) reserved, must be 0000h
 14h    BYTE    (CD-ROM driver) drive letter (must initially be 00h)
 15h    BYTE    (CD-ROM driver) number of units
 16h  6 BYTEs   (CD-ROM driver) signature 'MSCDnn' where 'nn' is version
                        (currently '00')

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson