limb 0.2.0

2024-01-09

open_read_closeat(3)
limb manual
open_read_closeat(3)

NAME

open_read_closeat, open_read_close, open_saread_closeat, open_saread_close - open, read & close a file

SYNOPSIS

#include <limb/djbunix.h>
ssize_t open_read_closeat(char *dst, size_t dlen, int fd, const char *file)
ssize_t open_read_close(char *dst, size_t dlen, const char *file)

int open_saread_closeat(stralloc *sa, int fd, const char *file)
int open_saread_close(stralloc *sa, const char *file)

DESCRIPTION

The open_read_closeat() function will open the file named file for reading in blocking mode. If file describes a relative path, it is relative to the directory associated with the file descriptor fd, which may be AT_FDCWD to use the current working directory.

The content of the file will be read and copied into the memory pointed by dst up to a maximum of dlen bytes, and the file be closed.

The open_read_close() macro is similar to open_read_closeat() only relative paths are relative to the current working directory.

The open_saread_closeat() function is to open_read_closeat(), except the entirety of the file will be placed into the stralloc pointed by sa, allocating as much memory as needed.

The open_saread_close() macro is similar to open_saread_closeat() only relative paths are relative to the current working directory.

RETURN VALUE

The open_read_close() and open_read_closeat() functions return the amount of data read from the file, and written into dst, on success. Otherwise they return -1 and set errno to indicate the error.

The open_saread_close() and open_saread_closeat() functions return 1 on success. Otherwise they return 0 and set errno to indicate the error.

ERRORS

These functions may fail and set errno for the errors described for openb_readat(3).

The open_read_close() and open_read_closeat() functions may also fail if :

ENOBUFS

Not enough space available in dst to store the entire file.

The open_read_close() and open_read_closeat() functions may also fail and set errno for the errors described for allread(3).

The open_saread_close() and open_saread_closeat() fucntions may also fail and set errno for the errors described for sa_read(3).

limb 0.1.0
2023-07-24
open_read_closeat(3)