14af44a922a70686bc96c4477c3ca202761b947e
[fio.git] / crc / sha1.h
1 #ifndef FIO_SHA1
2 #define FIO_SHA1
3
4 /*
5  * Based on the Mozilla SHA1 (see mozilla-sha1/sha1.h),
6  * optimized to do word accesses rather than byte accesses,
7  * and to avoid unnecessary copies into the context array.
8  */
9
10 struct fio_sha1_ctx {
11         uint32_t *H;
12         unsigned int W[16];
13         unsigned long long size;
14 };
15
16 void fio_sha1_init(struct fio_sha1_ctx *);
17 void fio_sha1_update(struct fio_sha1_ctx *, const void *dataIn, unsigned long len);
18 void fio_sha1_final(unsigned char hashout[20], struct fio_sha1_ctx *);
19
20 #endif