summaryrefslogtreecommitdiffstats
path: root/src/zix/digest.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2020-09-26 10:54:19 +0200
committerDavid Robillard <d@drobilla.net>2020-09-26 10:54:19 +0200
commita433992d150f22c2fdff2c13801a74b31b726b55 (patch)
tree43a8561600e702ae3469d681b7ec528b3b3caedd /src/zix/digest.h
parent81e138633076c2d7ef7e1691845757208d02f478 (diff)
downloadsord-a433992d150f22c2fdff2c13801a74b31b726b55.tar.gz
sord-a433992d150f22c2fdff2c13801a74b31b726b55.tar.bz2
sord-a433992d150f22c2fdff2c13801a74b31b726b55.zip
Update zix
Diffstat (limited to 'src/zix/digest.h')
-rw-r--r--src/zix/digest.h26
1 files changed, 25 insertions, 1 deletions
diff --git a/src/zix/digest.h b/src/zix/digest.h
index 264c918..16ba9b9 100644
--- a/src/zix/digest.h
+++ b/src/zix/digest.h
@@ -1,5 +1,5 @@
/*
- Copyright 2012 David Robillard <http://drobilla.net>
+ Copyright 2012-2020 David Robillard <http://drobilla.net>
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
@@ -26,12 +26,36 @@
extern "C" {
#endif
+/**
+ Return an initial empty digest value.
+*/
ZIX_API uint32_t
zix_digest_start(void);
+/**
+ Update `hash` to include `buf`, a buffer of `len` bytes.
+
+ This can be used for any size or alignment.
+*/
ZIX_API uint32_t
zix_digest_add(uint32_t hash, const void* buf, size_t len);
+/**
+ Update `hash` to include `buf`, a 64-bit aligned buffer of `len` bytes.
+
+ Both `buf` and `len` must be evenly divisible by 8 (64 bits).
+*/
+ZIX_API uint32_t
+zix_digest_add_64(uint32_t hash, const void* buf, size_t len);
+
+/**
+ Update `hash` to include `ptr`.
+
+ This hashes the value of the pointer itself, and does not dereference `ptr`.
+*/
+ZIX_API uint32_t
+zix_digest_add_ptr(uint32_t hash, const void* ptr);
+
#ifdef __cplusplus
} /* extern "C" */
#endif