Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- DOS 5.0 Ref. - Norton Guide http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]

struc DeviceHeader
 dhLink         dd ?            ; Link to next driver (last = 0FFFFh)
 dhAttributes   dw ?            ; Device attributes
 dhStrategy     dw ?            ; Strategy-routine offset
 dhInterrupt    dw ?            ; Interrupt-routine offset
 dhNameOrUnits  db "????????"   ; Logical device name (char device only)
                                ; or Number of units (block device only)
ends                            ; = 18d bytes
;
;       ; dhAttributes for character devices; bit 15=1
;       Bit     Description
;       0       1 = Standard input (STDIN) device
;       1       1 = Standard output (STDOUT) device
;       2       1 = NUL device
;       3       1 = Clock device
;       4       1 = Special device (driver supports fast char. output)
;       5,8,9,10,12 Reserved bits (0)
;       6       1 = Driver supports device function 13h (Generic IOCTL)
;       7       1 = Driver supports device function 19h (IOCTL query)
;       11      1 = Driver supports device functions 0Dh and 0Eh
;                   (Open Device and Close Device)
;       13      1 = Driver supports device function 10h
;                   (Output Until Busy)
;       14      1 = Driver supports device functions 03h and 0Ch
;                   (IOCTL Read and IOCTL Write)
;       15      1 = Character device
;
;       
;       ; dhAttributes for block devices; bit 15=0
;       Bit     Description
;       0,2,3,4,5,8,9,10,12  Reserved bits (0)
;       1       0 = Driver supports 16-bit sector addressing
;               1 = Driver supports 32-bit sector addressing
;       6       1 = Driver supports device functions 13h, 17h and 18h
;                   (Generic IOCTL, Get/Set Logical Device)
;       7       1 = Driver supports device function 19h (IOCTL query)
;       11      1 = Driver supports device functions 0Dh,0Eh, and 0Fh
;                   (Open Device, Close Device, and Removable Media)
;       13      1 = Driver requires DOS to supply the first 512 bytes
;                   of the file allocation table (FAT) when it calls
;                   Build BPB (device function 02h)
;       14      1 = Driver supports device functions 03h and 0Ch
;                   (IOCTL Read and IOCTL Write)
;       15      0 = Block device
;
;
;       ; dhLink
;       0000h:offset   pointer to next DeviceHeader, or
;       0ffffh:0ffffh  if no other DeviceHeader in file
;
;       ; dhNameOrUnits
;       Char-device:  Space-padded ASCII device name (no colon)
;       Block-device: 1st byte = no. of units (drives), rest reserved

See Also: 4400h Dev*

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