|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 = open("/dev/fd/0", mode);
and the call:
fd = fcntl(0, F_DUPFD, 0);
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|