summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/sha/sha.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/sha/sha.h')
-rw-r--r--src/lib/libcrypto/sha/sha.h58
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 @@
63extern "C" { 63extern "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
73typedef struct SHAstate_st 93typedef 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
82void SHA_Init(SHA_CTX *c); 102void SHA_Init(SHA_CTX *c);
83void SHA_Update(SHA_CTX *c, unsigned char *data, unsigned long len); 103void SHA_Update(SHA_CTX *c, const unsigned char *data, unsigned long len);
84void SHA_Final(unsigned char *md, SHA_CTX *c); 104void SHA_Final(unsigned char *md, SHA_CTX *c);
85unsigned char *SHA(unsigned char *d, unsigned long n,unsigned char *md); 105unsigned char *SHA(const unsigned char *d, unsigned long n,unsigned char *md);
86void SHA_Transform(SHA_CTX *c, unsigned char *data); 106void SHA_Transform(SHA_CTX *c, unsigned char *data);
107#endif
108#ifndef NO_SHA1
87void SHA1_Init(SHA_CTX *c); 109void SHA1_Init(SHA_CTX *c);
88void SHA1_Update(SHA_CTX *c, unsigned char *data, unsigned long len); 110void SHA1_Update(SHA_CTX *c, const unsigned char *data, unsigned long len);
89void SHA1_Final(unsigned char *md, SHA_CTX *c); 111void SHA1_Final(unsigned char *md, SHA_CTX *c);
90unsigned char *SHA1(unsigned char *d, unsigned long n,unsigned char *md); 112unsigned char *SHA1(const unsigned char *d, unsigned long n,unsigned char *md);
91void SHA1_Transform(SHA_CTX *c, unsigned char *data); 113void SHA1_Transform(SHA_CTX *c, unsigned char *data);
92#else
93void SHA_Init();
94void SHA_Update();
95void SHA_Final();
96unsigned char *SHA();
97void SHA_Transform();
98void SHA1_Init();
99void SHA1_Update();
100void SHA1_Final();
101unsigned char *SHA1();
102void SHA1_Transform();
103#endif 114#endif
104
105#ifdef __cplusplus 115#ifdef __cplusplus
106} 116}
107#endif 117#endif