git: 9front

ref: c0bb687a5bd16396e0aaefad5d4ba3fd253e0985
dir: /sys/man/3/stream/

View raw version
.TH STREAM 3 
.SH NAME
stream \- fast sequential file access
.SH SYNOPSIS
.nf
.B bind #¶ /fd

.B /fd/0stream
.B /fd/1stream
\&...
.fi
.SH DESCRIPTION
The
.I stream
device serves a one-level directory containing files of the form
.IR N stream
where
.I N
is a file descriptor of the current process.
.PP
An
.IR open (2)
returns a stream file descriptor connected to the original file
refered to by the file descriptor
.IR N .
When a stream was opend for reading, the device will start
continuously reading the file in the background until it reaches
the end of the file. A
.IR read (2)
on the stream consumes the prefetched data in sequential order.
.PP
When a stream is opend for writing, writes to the stream will
return immidiately without waiting for the data to be written
to the file. A zero-length write can be used to wait for the
buffered data to drain and return any previous write errors.
.SH SEE ALSO
.IR dup (3),
.IR pipe (3)
.SH SOURCE
.B /sys/src/9/port/devstream.c