]> git.sur5r.net Git - freertos/blob - FreeRTOS-Plus/Source/WolfSSL/cyassl/openssl/sha.h
Rename the CyaSSL directory to WolfSSL
[freertos] / FreeRTOS-Plus / Source / WolfSSL / cyassl / openssl / sha.h
1 /* sha.h for openssl */
2
3
4 #ifndef CYASSL_SHA_H_
5 #define CYASSL_SHA_H_
6
7 #include <cyassl/ctaocrypt/settings.h>
8
9 #ifdef YASSL_PREFIX
10 #include "prefix_sha.h"
11 #endif
12
13 #ifdef __cplusplus
14     extern "C" {
15 #endif
16
17
18 typedef struct CYASSL_SHA_CTX {
19     int holder[24];   /* big enough to hold ctaocrypt sha, but check on init */
20 } CYASSL_SHA_CTX;
21
22 CYASSL_API void CyaSSL_SHA_Init(CYASSL_SHA_CTX*);
23 CYASSL_API void CyaSSL_SHA_Update(CYASSL_SHA_CTX*, const void*, unsigned long);
24 CYASSL_API void CyaSSL_SHA_Final(unsigned char*, CYASSL_SHA_CTX*);
25
26 /* SHA1 points to above, shouldn't use SHA0 ever */
27 CYASSL_API void CyaSSL_SHA1_Init(CYASSL_SHA_CTX*);
28 CYASSL_API void CyaSSL_SHA1_Update(CYASSL_SHA_CTX*, const void*, unsigned long);
29 CYASSL_API void CyaSSL_SHA1_Final(unsigned char*, CYASSL_SHA_CTX*);
30
31 enum {
32     SHA_DIGEST_LENGTH = 20
33 };
34
35
36 typedef CYASSL_SHA_CTX SHA_CTX;
37
38 #define SHA_Init CyaSSL_SHA_Init
39 #define SHA_Update CyaSSL_SHA_Update
40 #define SHA_Final CyaSSL_SHA_Final
41
42 #define SHA1_Init CyaSSL_SHA1_Init
43 #define SHA1_Update CyaSSL_SHA1_Update
44 #define SHA1_Final CyaSSL_SHA1_Final
45
46
47 typedef struct CYASSL_SHA256_CTX {
48     int holder[28];   /* big enough to hold ctaocrypt sha, but check on init */
49 } CYASSL_SHA256_CTX;
50
51 CYASSL_API void CyaSSL_SHA256_Init(CYASSL_SHA256_CTX*);
52 CYASSL_API void CyaSSL_SHA256_Update(CYASSL_SHA256_CTX*, const void*,
53                                          unsigned long);
54 CYASSL_API void CyaSSL_SHA256_Final(unsigned char*, CYASSL_SHA256_CTX*);
55
56 enum {
57     SHA256_DIGEST_LENGTH = 32 
58 };
59
60
61 typedef CYASSL_SHA256_CTX SHA256_CTX;
62
63 #define SHA256_Init   CyaSSL_SHA256_Init
64 #define SHA256_Update CyaSSL_SHA256_Update
65 #define SHA256_Final  CyaSSL_SHA256_Final
66
67
68 #ifdef CYASSL_SHA384
69
70 typedef struct CYASSL_SHA384_CTX {
71     long long holder[32];   /* big enough, but check on init */
72 } CYASSL_SHA384_CTX;
73
74 CYASSL_API void CyaSSL_SHA384_Init(CYASSL_SHA384_CTX*);
75 CYASSL_API void CyaSSL_SHA384_Update(CYASSL_SHA384_CTX*, const void*,
76                                          unsigned long);
77 CYASSL_API void CyaSSL_SHA384_Final(unsigned char*, CYASSL_SHA384_CTX*);
78
79 enum {
80     SHA384_DIGEST_LENGTH = 48 
81 };
82
83
84 typedef CYASSL_SHA384_CTX SHA384_CTX;
85
86 #define SHA384_Init   CyaSSL_SHA384_Init
87 #define SHA384_Update CyaSSL_SHA384_Update
88 #define SHA384_Final  CyaSSL_SHA384_Final
89
90 #endif /* CYASSL_SHA384 */
91
92 #ifdef CYASSL_SHA512
93
94 typedef struct CYASSL_SHA512_CTX {
95     long long holder[36];   /* big enough, but check on init */
96 } CYASSL_SHA512_CTX;
97
98 CYASSL_API void CyaSSL_SHA512_Init(CYASSL_SHA512_CTX*);
99 CYASSL_API void CyaSSL_SHA512_Update(CYASSL_SHA512_CTX*, const void*,
100                                          unsigned long);
101 CYASSL_API void CyaSSL_SHA512_Final(unsigned char*, CYASSL_SHA512_CTX*);
102
103 enum {
104     SHA512_DIGEST_LENGTH = 64 
105 };
106
107
108 typedef CYASSL_SHA512_CTX SHA512_CTX;
109
110 #define SHA512_Init   CyaSSL_SHA512_Init
111 #define SHA512_Update CyaSSL_SHA512_Update
112 #define SHA512_Final  CyaSSL_SHA512_Final
113
114 #endif /* CYASSL_SHA512 */
115
116
117
118
119 #ifdef __cplusplus
120     }  /* extern "C" */ 
121 #endif
122
123
124 #endif /* CYASSL_SHA_H_ */
125