aboutsummaryrefslogtreecommitdiff
path: root/sha2.h
diff options
context:
space:
mode:
authorPaul Duncan <pabs@pablotron.org>2019-07-19 16:19:33 -0400
committerPaul Duncan <pabs@pablotron.org>2019-07-19 16:19:33 -0400
commit49ae79d294ac27ba837c4d734f396b5cb4bd182e (patch)
tree3e7c55468f6db831dcc4fd5e30bd66725fc01406 /sha2.h
parent8f1738bfca64236a5973a717f22d4eb6555c448b (diff)
downloadsha2-49ae79d294ac27ba837c4d734f396b5cb4bd182e.tar.bz2
sha2-49ae79d294ac27ba837c4d734f396b5cb4bd182e.zip
sprinkle void * and restrict, support upper sha512/sha384 lengths, remove cruft
Diffstat (limited to 'sha2.h')
-rw-r--r--sha2.h29
1 files changed, 15 insertions, 14 deletions
diff --git a/sha2.h b/sha2.h
index c3ede29..6494700 100644
--- a/sha2.h
+++ b/sha2.h
@@ -6,7 +6,7 @@ extern "C" {
#endif /* __cplusplus */
#include <stdint.h> // uint32_t, uint8_t
-#include <stdlib.h> // size_t
+#include <stddef.h> // size_t
#define SHA256_HASH_SIZE 32
@@ -17,9 +17,9 @@ typedef struct {
} sha256_t;
void sha256_init(sha256_t * const);
-void sha256_push(sha256_t * const, const uint8_t *, size_t);
-void sha256_fini(sha256_t * const, uint8_t * const);
-void sha256(const uint8_t * const, const size_t, uint8_t * const);
+void sha256_push(sha256_t * const, const void *, size_t);
+void sha256_fini(sha256_t * const, void * const);
+void sha256(const void * const restrict, const size_t, void * const restrict);
#define SHA224_HASH_SIZE 28
@@ -28,9 +28,9 @@ typedef struct {
} sha224_t;
void sha224_init(sha224_t * const);
-void sha224_push(sha224_t * const, const uint8_t *, size_t);
-void sha224_fini(sha224_t * const, uint8_t * const);
-void sha224(const uint8_t * const, const size_t, uint8_t * const);
+void sha224_push(sha224_t * const, const void *, size_t);
+void sha224_fini(sha224_t * const, void * const);
+void sha224(const void * const restrict, const size_t, void * const restrict);
#define SHA512_HASH_SIZE 64
@@ -38,13 +38,14 @@ void sha224(const uint8_t * const, const size_t, uint8_t * const);
typedef struct {
uint8_t buf[128];
uint64_t h[8];
- uint64_t num_bytes;
+ uint64_t num_bytes_lo,
+ num_bytes_hi;
} sha512_t;
void sha512_init(sha512_t * const);
-void sha512_push(sha512_t * const, const uint8_t *, size_t);
-void sha512_fini(sha512_t * const, uint8_t * const);
-void sha512(const uint8_t * const, const size_t, uint8_t * const);
+void sha512_push(sha512_t * const, const void *, size_t);
+void sha512_fini(sha512_t * const, void * const);
+void sha512(const void * const restrict, const size_t, void * const restrict);
#define SHA384_HASH_SIZE 48
@@ -53,9 +54,9 @@ typedef struct {
} sha384_t;
void sha384_init(sha384_t * const);
-void sha384_push(sha384_t * const, const uint8_t *, size_t);
-void sha384_fini(sha384_t * const, uint8_t * const);
-void sha384(const uint8_t * const, const size_t, uint8_t * const);
+void sha384_push(sha384_t * const, const void *, size_t);
+void sha384_fini(sha384_t * const, void * const);
+void sha384(const void * const restrict, const size_t, void * restrict const);
#ifdef __cplusplus
};