-.\" Hey Emacs! This file is -*- nroff -*- source.
-.\"
.\" Copyright (C) 2005 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
+.\" %%%LICENSE_START(VERBATIM)
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
.\"
.TH PIPE 7 2005-12-08 "Linux" "Linux Programmer's Manual"
.SH NAME
although FIFOs have a pathname in the file system,
I/O on FIFOs does not involve operations on the underlying device
(if there is one).
-.SS "I/O on Pipes and FIFOs"
+.SS I/O on pipes and FIFOs
The only difference between pipes and FIFOs is the manner in which
they are created and opened.
Once these tasks have been accomplished,
It is not possible to apply
.BR lseek (2)
to a pipe.
-.SS "Pipe Capacity"
+.SS Pipe capacity
A pipe has a limited capacity.
If the pipe is full, then a
.BR write (2)
.BR write (2)
to see how many bytes were actually written),
and these bytes may be interleaved with writes by other processes.
-.SS "Open File Status Flags"
+.SS Open file status flags
The only open file status flags that can be meaningfully applied to
a pipe or FIFO are
.B O_NONBLOCK
On Linux,
.B O_ASYNC
is supported for pipes and FIFOs only since kernel 2.6.
-.SS "Portability notes"
+.SS Portability notes
On some systems (but not Linux), pipes are bidirectional:
data can be transmitted in both directions between the pipe ends.
According to POSIX.1-2001, pipes only need to be unidirectional.
Portable applications should avoid reliance on
bidirectional pipe semantics.
-.SH "SEE ALSO"
+.SH SEE ALSO
.BR dup (2),
.BR fcntl (2),
.BR open (2),