diff options
Diffstat (limited to 'src/lib/libcrypto/whrlpool/whrlpool.h')
-rw-r--r-- | src/lib/libcrypto/whrlpool/whrlpool.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/lib/libcrypto/whrlpool/whrlpool.h b/src/lib/libcrypto/whrlpool/whrlpool.h new file mode 100644 index 0000000000..03c91da115 --- /dev/null +++ b/src/lib/libcrypto/whrlpool/whrlpool.h | |||
@@ -0,0 +1,38 @@ | |||
1 | #ifndef HEADER_WHRLPOOL_H | ||
2 | #define HEADER_WHRLPOOL_H | ||
3 | |||
4 | #include <openssl/e_os2.h> | ||
5 | #include <stddef.h> | ||
6 | |||
7 | #ifdef __cplusplus | ||
8 | extern "C" { | ||
9 | #endif | ||
10 | |||
11 | #define WHIRLPOOL_DIGEST_LENGTH (512/8) | ||
12 | #define WHIRLPOOL_BBLOCK 512 | ||
13 | #define WHIRLPOOL_COUNTER (256/8) | ||
14 | |||
15 | typedef struct { | ||
16 | union { | ||
17 | unsigned char c[WHIRLPOOL_DIGEST_LENGTH]; | ||
18 | /* double q is here to ensure 64-bit alignment */ | ||
19 | double q[WHIRLPOOL_DIGEST_LENGTH/sizeof(double)]; | ||
20 | } H; | ||
21 | unsigned char data[WHIRLPOOL_BBLOCK/8]; | ||
22 | unsigned int bitoff; | ||
23 | size_t bitlen[WHIRLPOOL_COUNTER/sizeof(size_t)]; | ||
24 | } WHIRLPOOL_CTX; | ||
25 | |||
26 | #ifndef OPENSSL_NO_WHIRLPOOL | ||
27 | int WHIRLPOOL_Init (WHIRLPOOL_CTX *c); | ||
28 | int WHIRLPOOL_Update (WHIRLPOOL_CTX *c,const void *inp,size_t bytes); | ||
29 | void WHIRLPOOL_BitUpdate(WHIRLPOOL_CTX *c,const void *inp,size_t bits); | ||
30 | int WHIRLPOOL_Final (unsigned char *md,WHIRLPOOL_CTX *c); | ||
31 | unsigned char *WHIRLPOOL(const void *inp,size_t bytes,unsigned char *md); | ||
32 | #endif | ||
33 | |||
34 | #ifdef __cplusplus | ||
35 | } | ||
36 | #endif | ||
37 | |||
38 | #endif | ||