Device Driver Attribute Values (brief)
|F|E|D|C|B|A-7|6|5|4|3|2|1|0|
| | | | | | | | | | | | `-- 1 = character device is stdin
| | | | | | | | | | | | 1 = block dev supports generic IOCTL
| | | | | | | | | | | `--- 1 = character device is stdout
| | | | | | | | | | | 1 = block dev supports generic IOCTL
| | | | | | | | | | `---- 1 = current NUL device
| | | | | | | | | `----- 1 = current clock device
| | | | | | | `-------- reserved by DOS
| | | | | | `--------- 1 = supports Get/Set logical device
| | | | | `----------- reserved (must be zero)
| | | | `------------- 1 = supports removable media
| | | `-------------- reserved (must be zero)
| | `--------------- 1 = non-IBM format (block device)
| | 1 = output until busy (char device)
| `---------------- 1 = supports IOCTL strings
`----------------- 1 = character device, 0 = block device
- true bit values are described, a false indicates opposite
- see INT 21,44 or IOCTL,n where "n" is an IOCTL function
Device Driver Attribute Bit Values (detailed)
0 standard input device: used by character devices to
tell DOS a character device driver is the standard
input device. For block devices, a 1 indicates generic
IOCTL supported
1 standard output device: used by character devices to tell DOS a
character device driver is the standard output device. For
block devices, a 1 indicates generic IOCTL supported
2 NUL attribute: used for character devices only. Tells
DOS the character device driver is a NUL device. This bit
is used by DOS to determine if the NUL device is being used.
The NUL device cannot be reassigned.
3 clock device: set to 1 to tell DOS this is the new CLOCK$ device.
0B open/close removable media: set to 1 tells DOS the device
driver can handle removable media. (DOS 3.x)
0D non-IBM format: for block devices, indicates the method
the driver uses to determine media type. Set to 1 for
drivers that use the BPB to determine media type, set to
zero for drivers that use the media descriptor byte. For
character devices (usually printers), set to 1 if the
driver supports output until busy, set to 0 otherwise.
0E IOCTL bit: used with both character and block devices.
Indicates if the device driver can handle control strings
through the IOCTL. Zero if a device driver can't process
control strings. If an attempt to send/receive an IOCTL
control strings, is made without this bit set, an error code
is returned. The IOCTL functions allow data to be sent to
and from the driver without doing normal reads or writes.
The device driver can use the data for information. It is
up to the device to interpret the string, but the information
must not be treated as a normal I/O request. Affects
only IOCTL functions AL=2 and AL=5.
0F device type: used to indicate block or character device.