diff options
Diffstat (limited to 'src/lib/libcrypto/sha/sha.h')
-rw-r--r-- | src/lib/libcrypto/sha/sha.h | 58 |
1 files changed, 34 insertions, 24 deletions
diff --git a/src/lib/libcrypto/sha/sha.h b/src/lib/libcrypto/sha/sha.h index 4cf0ea0225..cd6960ee1a 100644 --- a/src/lib/libcrypto/sha/sha.h +++ b/src/lib/libcrypto/sha/sha.h | |||
@@ -63,45 +63,55 @@ | |||
63 | extern "C" { | 63 | extern "C" { |
64 | #endif | 64 | #endif |
65 | 65 | ||
66 | #define SHA_CBLOCK 64 | 66 | #ifdef NO_SHA |
67 | #error SHA is disabled. | ||
68 | #endif | ||
69 | |||
70 | /* | ||
71 | * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
72 | * ! SHA_LONG has to be at least 32 bits wide. If it's wider, then ! | ||
73 | * ! SHA_LONG_LOG2 has to be defined along. ! | ||
74 | * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
75 | */ | ||
76 | |||
77 | #if defined(WIN16) || defined(__LP32__) | ||
78 | #define SHA_LONG unsigned long | ||
79 | #elif defined(_CRAY) || defined(__ILP64__) | ||
80 | #define SHA_LONG unsigned long | ||
81 | #define SHA_LONG_LOG2 3 | ||
82 | #else | ||
83 | #define SHA_LONG unsigned int | ||
84 | #endif | ||
85 | |||
67 | #define SHA_LBLOCK 16 | 86 | #define SHA_LBLOCK 16 |
68 | #define SHA_BLOCK 16 | 87 | #define SHA_CBLOCK (SHA_LBLOCK*4) /* SHA treats input data as a |
69 | #define SHA_LAST_BLOCK 56 | 88 | * contiguous array of 32 bit |
70 | #define SHA_LENGTH_BLOCK 8 | 89 | * wide big-endian values. */ |
90 | #define SHA_LAST_BLOCK (SHA_CBLOCK-8) | ||
71 | #define SHA_DIGEST_LENGTH 20 | 91 | #define SHA_DIGEST_LENGTH 20 |
72 | 92 | ||
73 | typedef struct SHAstate_st | 93 | typedef struct SHAstate_st |
74 | { | 94 | { |
75 | unsigned long h0,h1,h2,h3,h4; | 95 | SHA_LONG h0,h1,h2,h3,h4; |
76 | unsigned long Nl,Nh; | 96 | SHA_LONG Nl,Nh; |
77 | unsigned long data[SHA_LBLOCK]; | 97 | SHA_LONG data[SHA_LBLOCK]; |
78 | int num; | 98 | int num; |
79 | } SHA_CTX; | 99 | } SHA_CTX; |
80 | 100 | ||
81 | #ifndef NOPROTO | 101 | #ifndef NO_SHA0 |
82 | void SHA_Init(SHA_CTX *c); | 102 | void SHA_Init(SHA_CTX *c); |
83 | void SHA_Update(SHA_CTX *c, unsigned char *data, unsigned long len); | 103 | void SHA_Update(SHA_CTX *c, const unsigned char *data, unsigned long len); |
84 | void SHA_Final(unsigned char *md, SHA_CTX *c); | 104 | void SHA_Final(unsigned char *md, SHA_CTX *c); |
85 | unsigned char *SHA(unsigned char *d, unsigned long n,unsigned char *md); | 105 | unsigned char *SHA(const unsigned char *d, unsigned long n,unsigned char *md); |
86 | void SHA_Transform(SHA_CTX *c, unsigned char *data); | 106 | void SHA_Transform(SHA_CTX *c, unsigned char *data); |
107 | #endif | ||
108 | #ifndef NO_SHA1 | ||
87 | void SHA1_Init(SHA_CTX *c); | 109 | void SHA1_Init(SHA_CTX *c); |
88 | void SHA1_Update(SHA_CTX *c, unsigned char *data, unsigned long len); | 110 | void SHA1_Update(SHA_CTX *c, const unsigned char *data, unsigned long len); |
89 | void SHA1_Final(unsigned char *md, SHA_CTX *c); | 111 | void SHA1_Final(unsigned char *md, SHA_CTX *c); |
90 | unsigned char *SHA1(unsigned char *d, unsigned long n,unsigned char *md); | 112 | unsigned char *SHA1(const unsigned char *d, unsigned long n,unsigned char *md); |
91 | void SHA1_Transform(SHA_CTX *c, unsigned char *data); | 113 | void SHA1_Transform(SHA_CTX *c, unsigned char *data); |
92 | #else | ||
93 | void SHA_Init(); | ||
94 | void SHA_Update(); | ||
95 | void SHA_Final(); | ||
96 | unsigned char *SHA(); | ||
97 | void SHA_Transform(); | ||
98 | void SHA1_Init(); | ||
99 | void SHA1_Update(); | ||
100 | void SHA1_Final(); | ||
101 | unsigned char *SHA1(); | ||
102 | void SHA1_Transform(); | ||
103 | #endif | 114 | #endif |
104 | |||
105 | #ifdef __cplusplus | 115 | #ifdef __cplusplus |
106 | } | 116 | } |
107 | #endif | 117 | #endif |