aboutsummaryrefslogtreecommitdiffstats
path: root/libkeccak_zerocopy_update.3
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2021-12-24 21:24:00 +0100
committerMattias Andrée <maandree@kth.se>2021-12-24 21:24:00 +0100
commite974f623f88c3f38209117408c6db9cdb9d7c080 (patch)
tree5b544fcf23462e5a3ae0d6105086f6017333fcf8 /libkeccak_zerocopy_update.3
parentUpdate library version number (diff)
downloadlibkeccak-e974f623f88c3f38209117408c6db9cdb9d7c080.tar.gz
libkeccak-e974f623f88c3f38209117408c6db9cdb9d7c080.tar.bz2
libkeccak-e974f623f88c3f38209117408c6db9cdb9d7c080.tar.xz
Add man pages for zero-copy functions
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to '')
-rw-r--r--libkeccak_zerocopy_update.380
1 files changed, 80 insertions, 0 deletions
diff --git a/libkeccak_zerocopy_update.3 b/libkeccak_zerocopy_update.3
new file mode 100644
index 0000000..4c3f006
--- /dev/null
+++ b/libkeccak_zerocopy_update.3
@@ -0,0 +1,80 @@
+.TH LIBKECCAK_ZEROCOPY_UPDATE 3 LIBKECCAK
+.SH NAME
+libkeccak_zerocopy_update - Partially hash a message without copying
+.RB ( ADVANCED )
+.SH SYNOPSIS
+.nf
+#include <libkeccak.h>
+
+void libkeccak_zerocopy_update(struct libkeccak_state *\fIstate\fP, const void *\fImsg\fP, size_t \fImsglen\fP);
+.fi
+.PP
+Link with
+.IR -lkeccak .
+.SH DESCRIPTION
+The
+.BR libkeccak_zerocopy_update ()
+function continues (or starts) hashing a message.
+The current state of the hashing is stored in
+.IR *state ,
+and will be updated. The message specified by the
+.I msg
+parameter with the byte-size specified by the
+.I msglen
+parameter, will be hashed.
+.PP
+As a restriction specific to the
+.BR libkeccak_zerocopy_update ()
+function, the
+.I msglen
+argument must be an integer multiple of the bitrate
+divided by eight. This is returned by the
+.BR libkeccak_zerocopy_chunksize (3)
+function. The
+.BR libkeccak_update (3)
+or
+.BR libkeccak_fast_update (3)
+functions can be used to avoid this restriction,
+but these, unlike the
+.BR libkeccak_zerocopy_update ()
+function, will copy the message and move around
+copied data.
+.SH RETURN VALUES
+The
+.BR libkeccak_zerocopy_update ()
+function does not return a value.
+.SH ERRORS
+The
+.BR libkeccak_zerocopy_update ()
+function cannot fail.
+.SH NOTES
+Neither parameter by be
+.I NULL
+or 0.
+.PP
+It is safe call the
+.BR libkeccak_zerocopy_update ()
+function before the
+.BR libkeccak_update (3),
+.BR libkeccak_fast_update (3)
+.BR libkeccak_digest (3)
+and
+.BR libkeccak_fast_digest (3)
+functions with the same
+.I state
+argument. However, calling the
+.BR libkeccak_zerocopy_update ()
+function after the
+.BR libkeccak_update (3)
+or
+.BR libkeccak_fast_update (3)
+functions may cause the message
+to be misread.
+.SH SEE ALSO
+.BR libkeccak_state_initialise (3),
+.BR libkeccak_zerocopy_chunksize (3),
+.BR libkeccak_fast_update (3),
+.BR libkeccak_update (3),
+.BR libkeccak_fast_digest (3),
+.BR libkeccak_zerocopy_digest (3),
+.BR libkeccak_digest (3)