xref: /xnu-10002.1.13/bsd/man/man4/fd.4 (revision 1031c584a5e37aff177559b9f69dbd3c8c3fd30a)
1*1031c584SApple OSS Distributions.\"	$NetBSD: fd.4,v 1.3 1994/11/30 16:22:13 jtc Exp $
2*1031c584SApple OSS Distributions.\"
3*1031c584SApple OSS Distributions.\" Copyright (c) 1990, 1991, 1993
4*1031c584SApple OSS Distributions.\"	The Regents of the University of California.  All rights reserved.
5*1031c584SApple OSS Distributions.\"
6*1031c584SApple OSS Distributions.\" Redistribution and use in source and binary forms, with or without
7*1031c584SApple OSS Distributions.\" modification, are permitted provided that the following conditions
8*1031c584SApple OSS Distributions.\" are met:
9*1031c584SApple OSS Distributions.\" 1. Redistributions of source code must retain the above copyright
10*1031c584SApple OSS Distributions.\"    notice, this list of conditions and the following disclaimer.
11*1031c584SApple OSS Distributions.\" 2. Redistributions in binary form must reproduce the above copyright
12*1031c584SApple OSS Distributions.\"    notice, this list of conditions and the following disclaimer in the
13*1031c584SApple OSS Distributions.\"    documentation and/or other materials provided with the distribution.
14*1031c584SApple OSS Distributions.\" 3. All advertising materials mentioning features or use of this software
15*1031c584SApple OSS Distributions.\"    must display the following acknowledgement:
16*1031c584SApple OSS Distributions.\"	This product includes software developed by the University of
17*1031c584SApple OSS Distributions.\"	California, Berkeley and its contributors.
18*1031c584SApple OSS Distributions.\" 4. Neither the name of the University nor the names of its contributors
19*1031c584SApple OSS Distributions.\"    may be used to endorse or promote products derived from this software
20*1031c584SApple OSS Distributions.\"    without specific prior written permission.
21*1031c584SApple OSS Distributions.\"
22*1031c584SApple OSS Distributions.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
23*1031c584SApple OSS Distributions.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24*1031c584SApple OSS Distributions.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25*1031c584SApple OSS Distributions.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
26*1031c584SApple OSS Distributions.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27*1031c584SApple OSS Distributions.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28*1031c584SApple OSS Distributions.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29*1031c584SApple OSS Distributions.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30*1031c584SApple OSS Distributions.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31*1031c584SApple OSS Distributions.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32*1031c584SApple OSS Distributions.\" SUCH DAMAGE.
33*1031c584SApple OSS Distributions.\"
34*1031c584SApple OSS Distributions.\"     @(#)fd.4	8.1 (Berkeley) 6/9/93
35*1031c584SApple OSS Distributions.\"
36*1031c584SApple OSS Distributions.Dd June 9, 1993
37*1031c584SApple OSS Distributions.Dt FD 4
38*1031c584SApple OSS Distributions.Os
39*1031c584SApple OSS Distributions.Sh NAME
40*1031c584SApple OSS Distributions.Nm fd ,
41*1031c584SApple OSS Distributions.Nm stdin ,
42*1031c584SApple OSS Distributions.Nm stdout ,
43*1031c584SApple OSS Distributions.Nm stderr
44*1031c584SApple OSS Distributions.Nd file descriptor files
45*1031c584SApple OSS Distributions.Sh DESCRIPTION
46*1031c584SApple OSS DistributionsThe files
47*1031c584SApple OSS Distributions.Pa /dev/fd/0
48*1031c584SApple OSS Distributionsthrough
49*1031c584SApple OSS Distributions.Pa /dev/fd/#
50*1031c584SApple OSS Distributionsrefer to file descriptors which can be accessed through the file
51*1031c584SApple OSS Distributionssystem.
52*1031c584SApple OSS DistributionsIf the file descriptor is open and the mode the file is being opened
53*1031c584SApple OSS Distributionswith is a subset of the mode of the existing descriptor, the call:
54*1031c584SApple OSS Distributions.Bd -literal -offset indent
55*1031c584SApple OSS Distributionsfd = open("/dev/fd/0", mode);
56*1031c584SApple OSS Distributions.Ed
57*1031c584SApple OSS Distributions.Pp
58*1031c584SApple OSS Distributionsand the call:
59*1031c584SApple OSS Distributions.Bd -literal -offset indent
60*1031c584SApple OSS Distributionsfd = fcntl(0, F_DUPFD, 0);
61*1031c584SApple OSS Distributions.Ed
62*1031c584SApple OSS Distributions.Pp
63*1031c584SApple OSS Distributionsare equivalent.
64*1031c584SApple OSS Distributions.Pp
65*1031c584SApple OSS DistributionsOpening the files
66*1031c584SApple OSS Distributions.Pa /dev/stdin ,
67*1031c584SApple OSS Distributions.Pa /dev/stdout
68*1031c584SApple OSS Distributionsand
69*1031c584SApple OSS Distributions.Pa /dev/stderr
70*1031c584SApple OSS Distributionsis equivalent to the following calls:
71*1031c584SApple OSS Distributions.Bd -literal -offset indent
72*1031c584SApple OSS Distributionsfd = fcntl(STDIN_FILENO,  F_DUPFD, 0);
73*1031c584SApple OSS Distributionsfd = fcntl(STDOUT_FILENO, F_DUPFD, 0);
74*1031c584SApple OSS Distributionsfd = fcntl(STDERR_FILENO, F_DUPFD, 0);
75*1031c584SApple OSS Distributions.Ed
76*1031c584SApple OSS Distributions.Pp
77*1031c584SApple OSS DistributionsFlags to the
78*1031c584SApple OSS Distributions.Xr open 2
79*1031c584SApple OSS Distributionscall other than
80*1031c584SApple OSS Distributions.Dv O_RDONLY ,
81*1031c584SApple OSS Distributions.Dv O_WRONLY
82*1031c584SApple OSS Distributionsand
83*1031c584SApple OSS Distributions.Dv O_RDWR
84*1031c584SApple OSS Distributionsare ignored.
85*1031c584SApple OSS Distributions.Sh FILES
86*1031c584SApple OSS Distributions.Bl -tag -width /dev/stderr -compact
87*1031c584SApple OSS Distributions.It Pa /dev/fd/#
88*1031c584SApple OSS Distributions.It Pa /dev/stdin
89*1031c584SApple OSS Distributions.It Pa /dev/stdout
90*1031c584SApple OSS Distributions.It Pa /dev/stderr
91*1031c584SApple OSS Distributions.El
92*1031c584SApple OSS Distributions.Sh SEE ALSO
93*1031c584SApple OSS Distributions.Xr tty 4
94