This structure is used in the following IOCTL fns:
440dH 40H (set device parameters)
440dH 60H (query device parameter)
DvRq 13H  (generic IOCTL for block devices)

IoctlDeviceParmsRec
Offset Size Contents
                                                                          
+0     1  rSpclFns     bit flags select options
+1     1  bDevType     device type code (returned from driver)
+2     2  rDevAttr     bit 0: 0=removable; 1=non-removable
bit 1: 0=change-line not supported; 1=is
+4     2  wCylCnt      number of cylinders (returned from driver)
+6     1  bDevMedia    bit 0: 0=accepts high density (1.2MB) media
1=accepts low-density (320K/360K) media
+7    19H rDevBPB      Same as a BPBRec (25 bytes)
+20H    ?  rTrkLayout   variable-length TrackLayoutRec
?+20H           size of an IoctlDeviceParmsRec

rSpclFns  contain bit flags that specify options for fn 440dH 40H:
bit 0: 0=use rDevBPB to set new defaults
1=use current BPB
bit 1: 0=use all fields of this record
1=use just the rTrkLayout data
bit 2: 0=(never use)
1=sectors are all the same size and sector numbers
begin with 0 (always set this bit)

bDevType  identifies the device and medium.  It is one of:

00H = 320/360K 5-м inch drive
01H = 1.2M 5-м inch drive
02H = 720K 3-л inch drive
03H = 8 inch single density drive
04H = 8 inch double density drive
05H = hard disk
06H = tape drive
07H = 1.44 MB
08H = 2.88 MB
09H = other

rDevAttr  some more device info flags:
bit 0: 0=removable
1=non-removable
bit 1: 0=change-line not supported
1=is supported (can sense when drive door opened)

wCylCnt  maximum cylinder supported (e.g., for 440dH 41H Write Track)

bMedia  one bit of media info:
bit 0: 0=accepts high density (1.2MB) media
1=accepts low-density (320K/360K) media

rDevBPB  an entire BPBRec structure (all 25 bytes).
If rSpclFns bit 0 is clear, then this data is taken as the new
default settings for the drive.
If rSpclFns bit 1 is set, then this data is to be used by the
driver when it gets a DvRq 02H (Build BPB) request.

rTrkLayout  an entire TrackLayoutRec structure (variable length).
If rSpclFns bit 1 is set, then only this track layout
information is used.

See Also: fn 440dH (Generic IOCTL for block devices)
- -

IoctlDeviceParmsRec