Manual Page Search Parameters
stderr, fd, stdin, stdout(4) file descriptor files
fd, stderr, stdin, stdout(4) file descriptor files
stdin, fd, stderr, stdout(4) file descriptor files
stdout, fd, stderr, stdin(4) file descriptor files

FD(4) MidnightBSD Kernel Interfaces Manual FD(4)

fd, stdin, stdout, stderrfile descriptor files

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.

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.

/dev/fd/#
 
/dev/stdin
 
/dev/stdout
 
/dev/stderr
 

tty(4), devfs(5), fdescfs(5)

June 9, 1993 midnightbsd-3.1