/home/dko/projects/mobilec/tags/MobileC-v1.10.2/MobileC-v1.10.2/src/security/xyssl-0.9/include/xyssl/sha2.h

Go to the documentation of this file.
00001 
00004 #ifndef XYSSL_SHA2_H
00005 #define XYSSL_SHA2_H
00006 
00010 typedef struct
00011 {
00012     unsigned long total[2];     
00013     unsigned long state[8];     
00014     unsigned char buffer[64];   
00016     unsigned char ipad[64];     
00017     unsigned char opad[64];     
00018     int is224;                  
00019 }
00020 sha2_context;
00021 
00022 #ifdef __cplusplus
00023 extern "C" {
00024 #endif
00025 
00032 void sha2_starts( sha2_context *ctx, int is224 );
00033 
00041 void sha2_update( sha2_context *ctx, unsigned char *input, int ilen );
00042 
00049 void sha2_finish( sha2_context *ctx, unsigned char output[32] );
00050 
00059 void sha2( unsigned char *input, int ilen,
00060            unsigned char output[32], int is224 );
00061 
00072 int sha2_file( char *path, unsigned char output[32], int is224 );
00073 
00082 void sha2_hmac_starts( sha2_context *ctx, unsigned char *key, int keylen,
00083                        int is224 );
00084 
00092 void sha2_hmac_update( sha2_context *ctx, unsigned char *input, int ilen );
00093 
00100 void sha2_hmac_finish( sha2_context *ctx, unsigned char output[32] );
00101 
00112 void sha2_hmac( unsigned char *key, int keylen,
00113                 unsigned char *input, int ilen,
00114                 unsigned char output[32], int is224 );
00115 
00121 int sha2_self_test( int verbose );
00122 
00123 #ifdef __cplusplus
00124 }
00125 #endif
00126 
00127 #endif /* sha2.h */

Generated on Fri Jul 11 17:59:45 2008 for Mobile-C by  doxygen 1.5.4