--------D-214400-----------------------------
INT 21 - DOS 2+ - IOCTL - GET DEVICE INFORMATION
        AX = 4400h
        BX = handle
Return: CF clear if successful
        DX = device information word (see below)
        AX destroyed
        CF set on error
        AX = error code (01h,05h,06h) (see AH=59h)
Notes:  value in DH corresponds to high byte of device driver's attribute word
        if handle refers to a character device. Novell NetWare reportedly does
        not return a drive number in bits 5-0 for a disk file.
SeeAlso: AX=4401h,INT 2F/AX=122Bh

Bitfields for device information word:
  character device
    bit 14: device driver can process IOCTL requests (see AX=4402h)
    bit 13: output until busy supported
    bit 11: driver supports OPEN/CLOSE calls
    bit  7: set (indicates device)
    bit  6: EOF on input
    bit  5: raw (binary) mode
    bit  4: device is special (uses INT 29)
    bit  3: clock device
    bit  2: NUL device
    bit  1: standard output
    bit  0: standard input
  disk file
    bit 15: file is remote (DOS 3+)
    bit 14: don't set file date/time on closing (DOS 3+)
    bit 11: media not removable
    bit  8: (DOS 4 only) generate INT 24 if no disk space on write or read
          past end of file.
    bit  7: clear (indicates file)
    bit  6: file has not been written
    bits 5-0: drive number (0 = A:)
--------D-214401-----------------------------
INT 21 - DOS 2+ - IOCTL - SET DEVICE INFORMATION
        AX = 4401h
        BX = handle (must refer to character device)
        DX = device information word (see AX=4400h)
        (DH must be zero)
Return: CF clear if successful
        CF set on error
        AX = error code (01h,05h,06h,0Dh) (see AH=59h)
SeeAlso: AX=4400h,INT 2F/AX=122Bh
