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