FreeBSD Man Pages

FD(4) FreeBSD Kernel Interfaces Manual FD(4)
NAMEfd, stdin, stdout, stderr - file descriptor files
DESCRIPTION
The files /dev/fd/0 through /dev/fd/# refer to file descriptors which can
be accessed through the file system. If the file descriptor is open and
the mode the file is being opened with is a subset of the mode of the
existing descriptor, the call:
fd = open("/dev/fd/0", mode);
and the call:
fd = fcntl(0, F_DUPFD, 0);
are equivalent.
Opening the files /dev/stdin, /dev/stdout and /dev/stderr is equivalent
to the following calls:
fd = fcntl(STDIN_FILENO, F_DUPFD, 0);
fd = fcntl(STDOUT_FILENO, F_DUPFD, 0);
fd = fcntl(STDERR_FILENO, F_DUPFD, 0);
Flags to the open(2) call other than O_RDONLY, O_WRONLY and O_RDWR are
ignored.
IMPLEMENTATION NOTES
By default, /dev/fd is provided by devfs(5), which provides nodes for the
first three file descriptors. Some sites may require nodes for
additional file descriptors; these can be made available by mounting
fdescfs(5) on /dev/fd.
FILES/dev/fd/#/dev/stdin/dev/stdout/dev/stderrSEE ALSOtty(4), devfs(5), fdescfs(5)
FreeBSD 11.0-PRERELEASE June 9, 1993 FreeBSD 11.0-PRERELEASE