aboutsummaryrefslogtreecommitdiffstats
path: root/libhashsum_init_sha1_hasher.3
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2024-08-31 07:41:27 +0200
committerMattias Andrée <maandree@kth.se>2024-08-31 07:41:27 +0200
commitd1acc40f9361cf5d1f0e92a0a2569b518b29b1cf (patch)
treea0538a97e06b8783f07eeed5cc3d686e3a8a686f /libhashsum_init_sha1_hasher.3
parentAdd more tests + m fixes (diff)
downloadlibhashsum-d1acc40f9361cf5d1f0e92a0a2569b518b29b1cf.tar.gz
libhashsum-d1acc40f9361cf5d1f0e92a0a2569b518b29b1cf.tar.bz2
libhashsum-d1acc40f9361cf5d1f0e92a0a2569b518b29b1cf.tar.xz
Add support for extended hash + add support for output hash to custom buffer when supported
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'libhashsum_init_sha1_hasher.3')
-rw-r--r--libhashsum_init_sha1_hasher.319
1 files changed, 16 insertions, 3 deletions
diff --git a/libhashsum_init_sha1_hasher.3 b/libhashsum_init_sha1_hasher.3
index 4669f81..fb4d18d 100644
--- a/libhashsum_init_sha1_hasher.3
+++ b/libhashsum_init_sha1_hasher.3
@@ -16,6 +16,7 @@ libhashsum_init_sha1_hasher - initialise state for SHA-1 hashing
size_t (*\fIprocess\fP)(struct libhashsum_hasher *\fPthis\fP, const void *\fPdata\fP, size_t \fPbytes\fP);
int (*\fIfinalise_const\fP)(struct libhashsum_hasher *\fPthis\fP, const void *\fPdata\fP, size_t \fPbytes\fP, unsigned \fPextra_bits\fP);
int (*\fIfinalise\fP)(struct libhashsum_hasher *\fPthis\fP, void *\fPdata\fP, size_t \fPbytes\fP, unsigned \fPextra_bits\fP, size_t \fPsize\fP);
+ void (*\fIstretch\fP)(struct libhashsum_hasher *\fPthis\fP, int \fPskip\fP, void *\fPbuffer\fP);
void (*\fIdestroy\fP)(struct libhashsum_hasher *\fPthis\fP);
union libhashsum_state { /* definition omitted */ } \fIstate\fP;
};
@@ -89,7 +90,7 @@ no greater than
.I hasher->finalise_const
will be set to a pointer to the function to call
once the entire text being hashed has been loaded,
-and to get the hash of the text. It's parameter
+and to get the hash of the text. Its parameter
.I this
shall be set to
.IR hasher .
@@ -115,8 +116,16 @@ to a pointer to a buffer in
containing the binary hash of the processed data.
Otherwise, the function will return -1, and set
.I errno
-to indicate the error. The function will failure
-if:
+to indicate the error. However, if the user has
+already set
+.I hasher->hash_output
+to a
+.RI non- NULL
+pointer, the function will output the binary hash
+to that pointer instead without redirecting
+.I hasher->hash_output
+(the application must make sure this buffer is
+sufficiently large). The function will failure if:
.RS
.TP
.B EINVAL
@@ -148,6 +157,10 @@ shall be set to the size of the buffer
is otherwise identical to
.IR *hasher->finalise_const .
.PP
+.I hasher->stretch
+will be set to
+.IR NULL .
+.PP
.I hasher->destroy
will be set to
.IR NULL .