limb 0.2.0

2024-01-09

open_b(3)
limb manual
open_b(3)

NAME

open_b, open_atb - open a file using given function then clears O_NONBLOCK

SYNOPSIS

#include <limb/djbunix.h>
int open_b(open_fn fn, const char *file)
int open_atb(openat_fn fnat, int fd, const char *file)

DESCRIPTION

The open_b() function calls the function fn with file as its only argument. This function should open the file whose name is pointed by file and return the corresponding file descriptor on success, otherwise it should return -1 and set errno to indicate the error.

After the file has been successfully opened, the open_b() function will ensure that it is in blocking mode, i.e. that it has O_NONBLOCK clear.

The open_atb() function is similar except that it takes an additional argument fd being used along side file as arguments to the function fnat, which must be similar to fn except when file is a relative path, in which case it must be treated as relative to the directory associated with the file descriptor fd, which may be AT_FDCWD to user the current working directory.

RETURN VALUE

On success, these functions return the opened file descriptor, which always has the O_NONBLOCK flag clear. Otherwise they return -1 and set errno to indicate the error.

ERRORS

The open_b() and open_atb() functions may fail and set errno for any of the errors specified for the given fn or fnat function, respectively.

They may also fail and set errno for the errors described for ndelay_off(3).

limb 0.1.0
2023-07-24
open_b(3)