## Physical Device Driver Reference

[prev][next][parent][TOC]

### Device Support

If device drivers are to be used on various system units, keep in mind that different system units can require different device drivers to run the same device. Notice that any device driver can be written to access hardware directly, even on a machine that has some form of BIOS interface. Writing directly to the hardware, however, makes the device driver device-dependent . Consequently, the physical device driver must be rewritten each time the hardware changes. Writing to a BIOS interface that hides device-dependent features allows a physical device driver to be supported across many devices.

Note: Refer to Using Advanced Bios (ABIOS) for information on ABIOS.

Consider how users of the device will make requests to the device. If users are expected to issue DosOpen, DosRead, DosWrite, and DosClose system calls, the physical device driver must support at least the READ and WRITE commands.

If users issue dynamic link calls to a subsystem, and the subsystem in turn issues DosOpen, DosDevIOCtl, and DosClose calls, the device driver must support the generic IOCtl commands.

To let users erase the contents of the physical device driver's I/O buffers , the driver must support the FLUSH INPUT and FLUSH OUTPUT commands. For information on strategy commands, their parameters, and service requirements, see Physical Device Driver Strategy Commands.