Function 10H (16): Output Until Busy

The output-until-busy function is supported only under MS-DOS versions 3.0 and later, and only on character devices; in block-device drivers it should do nothing except set the done flag. This function transfers data from the specified memory buffer to a device, continuing to transfer bytes until the device is busy. It is called only if bit 13 of the device attribute word is set in the device header.

This function is an optimization included specifically for the use of print spoolers. It is not an error for this function to return a number of bytes transferred that is less than the number of bytes requested.

The output-until-busy function is called with

RH + 2 BYTE Command code = 16 (10H)

RH + 14 DWORD Transfer address

RH + 18 WORD Byte count

It returns

RH + 3 WORD Status

RH + 18 WORD Actual bytes transferred