summaryrefslogtreecommitdiff
path: root/crc/sha1.h
diff options
context:
space:
mode:
Diffstat (limited to 'crc/sha1.h')
-rw-r--r--crc/sha1.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/crc/sha1.h b/crc/sha1.h
new file mode 100644
index 00000000..af4165af
--- /dev/null
+++ b/crc/sha1.h
@@ -0,0 +1,20 @@
+#ifndef FIO_SHA1
+#define FIO_SHA1
+
+/*
+ * Based on the Mozilla SHA1 (see mozilla-sha1/sha1.h),
+ * optimized to do word accesses rather than byte accesses,
+ * and to avoid unnecessary copies into the context array.
+ */
+
+struct sha1_ctx {
+ uint32_t *H;
+ unsigned int W[16];
+ unsigned long long size;
+};
+
+void sha1_init(struct sha1_ctx *);
+void sha1_update(struct sha1_ctx *, const void *dataIn, unsigned long len);
+void sha1_final(unsigned char hashout[20], struct sha1_ctx *);
+
+#endif