next up previous
Next: Implementation Up: Input/Output Previous: Issues

XINU I/O Primitives

getc(descrp): receive a single character from device

putc(descrp, ch): send a single character to device

read(descrp, buff, count): get count number of characters into buff.

write(descrp, buff, count): send count number of characters from buff to device

control(descrp, func, addr, addr2): `control' device

seek(descrp, pos): special form of control that positions device and is applied only to randomly accessed devices.

open(descrp, nam, mode): inform device that data transfer will begin

close(descrp): inform device that data transfer has ended

Not all of these operations apply to all devices. For instance, none of these apply to the clock. These operations apply only to devices that may be considered sequential streams of data. Moreover, open and close are not needed for terminal devices and seek is not possible on such devices.


Prasun Dewan
Tue Feb 12 13:32:55 EST 2002