NAME
siov_gather, siov_gather0, siov_seek_gather, siov_seek_gather0 - gather data from an array of vectors into a byte array
SYNOPSIS
#include <limb/siovec.h>
size_t siov_gather(char *dst, size_t dlen, const struct iovec *v, unsigned int n) size_t siov_gather0(char *dst, size_t dlen, const struct iovec *v, unsigned int n) size_t siov_seek_gather(char *dst, size_t dlen, const struct iovec *v, unsigned int n, size_t offset) size_t siov_seek_gather0(char *dst, size_t dlen, const struct iovec *v, unsigned int n, size_t offset)
DESCRIPTION
The siov_gather() function gathers data scattered across the array v of n
vectors into the byte array pointed by dst of dlen bytes.
You can think of it as the opposite of siov_scatter(3).
The siov_gather0() function is similar to siov_gather() but ensures that the
data placed into s is NUL-terminated, meaning that it ends with a NUL byte
(not checking whether there were in the middle of it).
If a trailing NUL byte was already present, it does nothing more than
siov_gather(), else it will add one - possibly overwriting the last character
gathered if dlen was reached.
The siov_seek_gather() function is similar to siov_gather() only skipping
the first offset bytes of data.
The siov_seek_gather0() function is similar to siov_seek_gather() but
similarly ensures the data placed into s is NUL terminated.
RETURN VALUE
These functions return the number of bytes copied into dst (including the
added terminating NUL byte, if any).