limb 0.2.0

2024-01-09

pipe_internal(3)
limb manual
pipe_internal(3)

NAME

pipe_internal, pipecoe, pipenb, pipenbcpe - create a pipe

SYNOPSIS

#include <limb/djbunix.h>
int pipe_internal(int *fds, unsigned int flags)

int pipecoe(int *fds)
int pipenb(int *fds)
int pipenbcoe(int *fds)

DESCRIPTION

The pipe_internal() creates a pipe and places two file descriptors in fds[0] and fds[1], the reading and writing ends, respectively, of the pipe.

The created pipe will have its O_NONBLOCK and O_CLOEXEC flags cleared, unless specified (as a bitwise OR value) in flags.

The pipecoe() macro is similar to pipe_internal() with O_CLOEXEC set.

The pipenb() macro is similar to pipe_internal() with O_NONBLOCK set.

The pipenbcoe() macro is similar to pipe_internal() with both O_CLOEXEC | O_NONBLOCK set.

RETURN VALUE

These functions return 0 on success. Otherwise they return -1 and set errno to indicate the error.

ERRORS

These functions may fail and set errno for any of the errors specified for pipe2(3) when available, pipe(3), coe(3) and ndelay_on(3) when not.

limb 0.2.0
2024-01-09
pipe_internal(3)