int pipe(int pipefd[2], int flags);
This syscalls creates a pipe with the passed flags and returns the registered
file descriptors in pipefd
. Index 0
is the reader end, 1
is the writing one.
The only available flag for use is O_NONBLOCK
.
The syscall returns 0
on success and -1
on failure, with the
following errno:
EFAULT
: pipefd
points to bogus memory.
EMFILE
: No available file descriptor slots.