Welcome to little lamb

Code » limb » master » tree

[master] / src / doc / allreadwrite.h / allreadwrite.h.0.md

% limb manual
% allreadwrite.h(0)
% limb 0.1.0
% 2023-07-24

# NAME

allreadwrite.h - safe I/O interface


# SYNOPSIS

    #include <limb/allreadwrite.h>


# DESCRIPTION

The header defines the needed functions to perform safe I/O operations.

<inc skalibs.md>

! INFO: Low-level API
! Note that you probably don't want/need to use the functions below, and should
! probably use a higher-level interface such as [buffer.h](0).

## Functions

The following functions/macros are defined :

: [allread](3)
:: Read from given file descriptor until requested length as been reached.

: [allreadv](3)
:: Similar to [allread](3) but using vectors.

: [allwrite](3)
:: Write to given file descriptor until requested length as been reached.

: [allwritev](3)
:: Similar to [allwrite](3) but using vectors.


: [allreadwrite](3)
:: Perform specified I/O operation until requested length as been reached.

: [allreadwritev](3)
:: Similar to [allreadwrite](3) but using vectors.


: [fd_read](3)
:: Safe wrapper around [read](3), i.e. can't be interrupted by signals.

: [fd_readv](3)
:: Safe wrapper around [readv](3), i.e. can't be interrupted by signals.

: [fd_write](3)
:: Safe wrapper around [write](3), i.e. can't be interrupted by signals.

: [fd_writev](3)
:: Safe wrapper around [writev](3), i.e. can't be interrupted by signals.


: [sanitize_read](3)
:: Sanitize return code from functions such as [read](3).

: [unsanitize_read](3)
:: Reverse the operation performed by [sanitize_read](3).