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.
This header is a complement to skalibs' own header, intended to be used as a "replacement". However, instead of re-inventing the wheel, it depends/includes skalibs' header, and some of the functions below are actually implemented in skalibs, or macros to such functions.
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 :
Read from given file descriptor until requested length as been reached.
Similar to allread(3) but using vectors.
Write to given file descriptor until requested length as been reached.
Similar to allwrite(3) but using vectors.
Perform specified I/O operation until requested length as been reached.
Similar to allreadwrite(3) but using vectors.
Safe wrapper around read(3), i.e. can't be interrupted by signals.
Safe wrapper around readv(3), i.e. can't be interrupted by signals.
Safe wrapper around write(3), i.e. can't be interrupted by signals.
Safe wrapper around writev(3), i.e. can't be interrupted by signals.
Sanitize return code from functions such as read(3).
Reverse the operation performed by sanitize_read(3).