summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2021-06-14 07:58:30 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2021-06-14 07:58:30 +0000
commit2bb6dc4b762a4574d658d543ab1a56c92d90ef0c (patch)
treeb277d8b8cbb91cedbcb002184d3866bdd3b19330 /doc
parent659918a7eb3ed94e8519ebf3327493e05a29c4d2 (diff)
downloadskalibs-2bb6dc4b762a4574d658d543ab1a56c92d90ef0c.tar.xz
doc: allreadwrite: document scatter/gatter functions
Signed-off-by: Jesse Young <jlyo@jlyo.org>
Diffstat (limited to 'doc')
-rw-r--r--doc/libstddjb/allreadwrite.html53
1 files changed, 53 insertions, 0 deletions
diff --git a/doc/libstddjb/allreadwrite.html b/doc/libstddjb/allreadwrite.html
index 2619153..1c31022 100644
--- a/doc/libstddjb/allreadwrite.html
+++ b/doc/libstddjb/allreadwrite.html
@@ -52,6 +52,18 @@ and
</p>
<p>
+<code> typedef ssize_t iovfunc_t (int fd, struct iovec const *v, unsigned int vlen) </code> <br />
+This is the simplified type of IO functions such as
+<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/readv.html">readv()</a>
+and
+<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/writev.html">writev()</a>,
+where the content to perform IO on is specified as a
+<a href="siovec.html">scatter/gather array</a> of <em>vlen</em>
+elements instead of a single string.
+</p>
+
+
+<p>
<code> typedef size_t alliofunc_t (int fd, char *buf, size_t len) </code> <br />
This is the type of an IO operation that expects <em>all</em> of its
<em>len</em> bytes to be sent or received, and that will loop around a
@@ -83,6 +95,11 @@ on reading.)
</p>
<p>
+<code> ssize_t unsanitize_read (ssize_t r) </code> <br />
+Returns the inverse of <code>sanitize_read</code>.
+</p>
+
+<p>
<code> size_t allreadwrite (iofunc_t *f, int fd, char *s, size_t len) </code> <br />
*<em>f</em> must be a basic reading or writing function such as
<tt>fd_read</tt> or <tt>fd_write</tt>. <tt>allreadwrite()</tt> performs
@@ -95,6 +112,14 @@ set errno to EWOULDBLOCK or EAGAIN.
</p>
<p>
+<code> size_t allreadwritev (iovfunc_t *f, int fd, struct iovec const *v, unsigned int vlen) </code> <br />
+Like <code> allreadwrite </code>
+but the content to perform IO on is specified as a
+<a href="siovec.html">scatter/gather array</a> of <em>vlen</em>
+elements instead of a single string.
+</p>
+
+<p>
<code> ssize_t fd_read (int fd, char *s, size_t len) </code> <br />
<a href="safewrappers.html">Safe wrapper</a> around the
<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/read.html">read()</a>
@@ -107,6 +132,20 @@ function.
<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/write.html">write()</a>
function.
</p>
+<p>
+
+<code> ssize_t fd_readv (int fd, struct iovec const *v, unsigned int vlen) </code> <br />
+<a href="safewrappers.html">Safe wrapper</a> around the
+<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/readv.html">readv()</a>
+function.
+</p>
+
+<p>
+<code> ssize_t fd_writev (int fd, struct iovec const *v, unsigned int vlen) </code> <br />
+<a href="safewrappers.html">Safe wrapper</a> around the
+<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/writev.html">writev()</a>
+function.
+</p>
<p>
<code> ssize_t fd_recv (int fd, char *s, size_t len, unsigned int flags) </code> <br />
@@ -138,5 +177,19 @@ around <tt>fd_write()</tt> if necessary, until either <em>len</em> bytes are
written or an error occurs.
</p>
+<p>
+<code> size_t allreadv (int fd, struct iovec *v, unsigned int vlen) </code> <br />
+Like <tt>allread</tt>, but the bytes from <em>fd</em> are read into a
+<a href="siovec.html">scatter/gather array</a> of <em>vlen</em>
+elements instead of a single string.
+</p>
+
+<p>
+<code> size_t allwritev (int fd, struct iovec const *v, unsigned int vlen) </code> <br />
+Like <tt>allwrite</tt>, but the content to write is taken from a
+<a href="siovec.html">scatter/gather array</a> of <em>vlen</em>
+elements instead of a single string.
+</p>
+
</body>
</html>