ID Number: Q32732
2.x 3.x 4.00 4.00a 4.01 4.01a 5.00
MS-DOS
Summary:
Character devices have two modes that have significance when
performing input/output through the Read Handle and Write Handle calls
(Functions 3FH and 40H): "raw" and "cooked" modes. A device driver can
be set to raw mode with the IOCTL Function Request 44H.
Cooked mode input is buffered input with echoing to the screen (if
console) and CTRL+C checking. Cooked mode input containing a certain
number of characters will return when the specified number of
characters is returned or a carriage return is typed. Cooked mode
output performs CTRL+C checking between characters.
Raw mode I/O is very fast. When raw mode I/O of "n" characters is
requested, MS-DOS passes the request directly to the indicated device
driver. The device driver does not return to MS-DOS until the I/O has
completed. Characters are written or read directly from the process
buffer. No checking of any kind is performed. No characters have any
significance, including CTRL+C.
For example, if the requesting program puts a device in raw mode and
requests a write of 50,000 characters to the AUX device, the device
driver will get a request from MS-DOS to write 50,000 characters from
the buffer located at the DWORD transfer address. The driver will not
return until the request has completed.
In cooked mode, MS-DOS performs a CTRL+C check at the console after
every character write. This is an overhead of 50,000 CTRL+C checks.
Additional reference words: 2.x 3.x 4.00 4.00a 4.01 4.01a 5.00