Up ] Docs Home ]

Format of DOS device driver header

Back ] Next ]

Offset Size Description

00h

DWORD

pointer to next driver, offset=FFFFh if last driver

04h

WORD

device attributes (see #01647,#01648)

06h

WORD

device strategy entry point
Call: ES:BX request header (see #02597 at 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

normally unused; sometimes contains signature to indicate specific drivers:
"$PCMATA" PCMCIA driver PCMATA.SYS (see AX=440Dh"DOS 3.2+")
"AHADDVR" Adaptec SCSI disk driver ASPIDISK.SYS
"DBLSPAC" MS DoubleSpace or DriveSpace
"DSKREET" NortonUtils v5+ Diskreet (see INT 2F/AX=FE00h)
"GFS____" LapLink III device driver DD.BIN
"SIDExxx" PCMCIA driver ATADRV.EXE (see AX=440Dh"DOS 3.2+")
"STAC-CD" Stacker/Stacker Anywhere (see AX=4404h"Stacker")

---DoubleSpace/DriveSpace---

12h

2 BYTEs

signature ",." (2Ch 2Eh)

14h

var

preloading API entry point

---CD-ROM---

12h

WORD

reserved, must be 0000h
appears to be another device chain

14h

BYTE

drive letter, 01h=A:, etc. (must initially be 00h; this byte is set by MSCDEX when it loads)

15h

BYTE

number of units

16h

6 BYTEs

signature 'MSCDnn' where 'nn' is version (currently '00') (this field does not exist in most drivers)

See Also:

#02550 at INT 25/AX=CDCDh,#02845 at INT 2F/AX=5600h