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

FD(4) 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.

These devices may not be opened by processes which are tainted as a result of setuid or setgid behaviours, as documented in issetugid(2). In those cases, an error return will occur with errno set to EPERM.




May 31, 2007 OpenBSD-current