This asks the driver to identify whether it supports a particular generic
IOCTL function. Generic IOCTL fns have a variety of uses, ranging from
setting up code page fonts to formatting a hard disk.
+0 1 bLen ??H (length of this request packet)
+1 1 bUnitNo unit number (block devices only)
+2 1 bCmd 19H (command code)
+0dH 1 bCategory INPUT: device category
+0eH 1 bMinorCode INPUT: minor code
+13H 4 pfIoctlData (not used; do not modify)
23 size of this structure
rStatus On exit, the driver must place a DevStatusWord here. Always
set the Done bit (bit 8).
If you don't support the specified category/MinorCode, set the
function) in the low byte.
bCategory is the device category as passed in CH from DOS 440cH or 440dH
03H=console (screen + keyboard) (DOS 3.3+)
05H=parallel printer (DOS 3.2+)
bMinorCode is a subfn code, as passed in CL from DOS 440cH (Generic IOCTL
45H (set iteration count) 3.3+
4aH (select a prepared code page) 3.3+
4cH (begin preparing a code page) 3.3+
4dH (done preparing a code page) 3.3+
5fH (set display information) 4.0+
65H (query retry iteration count) 3.3+
6aH (query active code page) 3.3+
6bH (get list of prepared code pages) 3.3+
7fH (query display information) 4.0+
or a subfn code, as passed in CL from DOS 440dH (Generic IOCTL
40H (set device parameters) 3.2+
42H (format and verify track) 3.2+
47H (set disk access flag) 4.0 only
60H (get device parameters) 3.2+
66H (query media ID) 4.0+
67H (query disk access flag) 4.0 only
68H (sense media type) 5.0+
Notes: Only device drivers capable of handling generic IOCTL requests
The driver must interpret the bCategory and bMinorCode fields
and if the specified combination is not supported, set rStatus