Device Request 03H: IOCTL Input

Blk► Chr► IRW► 
 This tells the driver to send some IOCTL data to DOS.

  Offset Size Contents
  ▀▀▀▀▀▀ ▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
   +0      1  bLen         14H (length of this request packet)
   +1      1  bUnitNo      unit number
   +2      1  bCmd         03H (command code)
   +3      2  rStatus      OUTPUT: Device Status Word must fill before exit
   +5H     8  res          (reserved)
  +0dH     1  bData        (not used)
  +0eH     4  pfBuffer     INPUT: buffer address
  +12H     2  wLen         INPUT: size of data requested (in bytes)
                           OUTPUT: actual size of data being returned
          20               size of this structure

     rStatus  On exit, the driver must place a DevStatusWord here.  Always
              set the Done bit (bit 8).  On an error, set the Done bit and
              the Error bit (bit 15) and put a Device Error Code in the low

    pfBuffer  is the address of a buffer in which the driver may place the
              requested data.  You must not store more than wLen bytes here.

        wLen  On entry, this specifies the size of the data DOS is
              requesting, in bytes.

              On exit, you must store the actual size of the data that you

   Notes: ■ The layout of the data in pfBuffer is entirely device-specific
            and will vary from device to device.

          ■ There is no way to specify just what type of data is requested.
            See DvRq 13H (generic IOCTL) for a more flexible system.

          ■ This is the device driver "catch-point" for DOS fns 4402H and
            4404H (receive IOCTL data).

See Also: Device Requests
          Installable Device Drivers