Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
sha.h
00001 /* sha.h for openssl */ 00002 00003 00004 #ifndef CYASSL_SHA_H_ 00005 #define CYASSL_SHA_H_ 00006 00007 #include <cyassl/ctaocrypt/settings.h> 00008 00009 #ifdef YASSL_PREFIX 00010 #include "prefix_sha.h" 00011 #endif 00012 00013 #ifdef __cplusplus 00014 extern "C" { 00015 #endif 00016 00017 00018 typedef struct CYASSL_SHA_CTX { 00019 int holder[24]; /* big enough to hold ctaocrypt sha, but check on init */ 00020 } CYASSL_SHA_CTX; 00021 00022 CYASSL_API void CyaSSL_SHA_Init(CYASSL_SHA_CTX*); 00023 CYASSL_API void CyaSSL_SHA_Update(CYASSL_SHA_CTX*, const void*, unsigned long); 00024 CYASSL_API void CyaSSL_SHA_Final(unsigned char*, CYASSL_SHA_CTX*); 00025 00026 /* SHA1 points to above, shouldn't use SHA0 ever */ 00027 CYASSL_API void CyaSSL_SHA1_Init(CYASSL_SHA_CTX*); 00028 CYASSL_API void CyaSSL_SHA1_Update(CYASSL_SHA_CTX*, const void*, unsigned long); 00029 CYASSL_API void CyaSSL_SHA1_Final(unsigned char*, CYASSL_SHA_CTX*); 00030 00031 enum { 00032 SHA_DIGEST_LENGTH = 20 00033 }; 00034 00035 00036 typedef CYASSL_SHA_CTX SHA_CTX; 00037 00038 #define SHA_Init CyaSSL_SHA_Init 00039 #define SHA_Update CyaSSL_SHA_Update 00040 #define SHA_Final CyaSSL_SHA_Final 00041 00042 #define SHA1_Init CyaSSL_SHA1_Init 00043 #define SHA1_Update CyaSSL_SHA1_Update 00044 #define SHA1_Final CyaSSL_SHA1_Final 00045 00046 00047 typedef struct CYASSL_SHA256_CTX { 00048 int holder[28]; /* big enough to hold ctaocrypt sha, but check on init */ 00049 } CYASSL_SHA256_CTX; 00050 00051 CYASSL_API void CyaSSL_SHA256_Init(CYASSL_SHA256_CTX*); 00052 CYASSL_API void CyaSSL_SHA256_Update(CYASSL_SHA256_CTX*, const void*, 00053 unsigned long); 00054 CYASSL_API void CyaSSL_SHA256_Final(unsigned char*, CYASSL_SHA256_CTX*); 00055 00056 enum { 00057 SHA256_DIGEST_LENGTH = 32 00058 }; 00059 00060 00061 typedef CYASSL_SHA256_CTX SHA256_CTX; 00062 00063 #define SHA256_Init CyaSSL_SHA256_Init 00064 #define SHA256_Update CyaSSL_SHA256_Update 00065 #define SHA256_Final CyaSSL_SHA256_Final 00066 00067 00068 #ifdef CYASSL_SHA384 00069 00070 typedef struct CYASSL_SHA384_CTX { 00071 long long holder[32]; /* big enough, but check on init */ 00072 } CYASSL_SHA384_CTX; 00073 00074 CYASSL_API void CyaSSL_SHA384_Init(CYASSL_SHA384_CTX*); 00075 CYASSL_API void CyaSSL_SHA384_Update(CYASSL_SHA384_CTX*, const void*, 00076 unsigned long); 00077 CYASSL_API void CyaSSL_SHA384_Final(unsigned char*, CYASSL_SHA384_CTX*); 00078 00079 enum { 00080 SHA384_DIGEST_LENGTH = 48 00081 }; 00082 00083 00084 typedef CYASSL_SHA384_CTX SHA384_CTX; 00085 00086 #define SHA384_Init CyaSSL_SHA384_Init 00087 #define SHA384_Update CyaSSL_SHA384_Update 00088 #define SHA384_Final CyaSSL_SHA384_Final 00089 00090 #endif /* CYASSL_SHA384 */ 00091 00092 #ifdef CYASSL_SHA512 00093 00094 typedef struct CYASSL_SHA512_CTX { 00095 long long holder[36]; /* big enough, but check on init */ 00096 } CYASSL_SHA512_CTX; 00097 00098 CYASSL_API void CyaSSL_SHA512_Init(CYASSL_SHA512_CTX*); 00099 CYASSL_API void CyaSSL_SHA512_Update(CYASSL_SHA512_CTX*, const void*, 00100 unsigned long); 00101 CYASSL_API void CyaSSL_SHA512_Final(unsigned char*, CYASSL_SHA512_CTX*); 00102 00103 enum { 00104 SHA512_DIGEST_LENGTH = 64 00105 }; 00106 00107 00108 typedef CYASSL_SHA512_CTX SHA512_CTX; 00109 00110 #define SHA512_Init CyaSSL_SHA512_Init 00111 #define SHA512_Update CyaSSL_SHA512_Update 00112 #define SHA512_Final CyaSSL_SHA512_Final 00113 00114 #endif /* CYASSL_SHA512 */ 00115 00116 00117 00118 00119 #ifdef __cplusplus 00120 } /* extern "C" */ 00121 #endif 00122 00123 00124 #endif /* CYASSL_SHA_H_ */ 00125
Generated on Tue Jul 12 2022 20:12:51 by
