sphlib
|
00001 /* $Id: sph_shavite.h 208 2010-06-02 20:33:00Z tp $ */ 00038 #ifndef SPH_SHAVITE_H__ 00039 #define SPH_SHAVITE_H__ 00040 00041 #include <stddef.h> 00042 #include "sph_types.h" 00043 00047 #define SPH_SIZE_shavite224 224 00048 00052 #define SPH_SIZE_shavite256 256 00053 00057 #define SPH_SIZE_shavite384 384 00058 00062 #define SPH_SIZE_shavite512 512 00063 00074 typedef struct { 00075 #ifndef DOXYGEN_IGNORE 00076 unsigned char buf[64]; /* first field, for alignment */ 00077 size_t ptr; 00078 sph_u32 h[8]; 00079 sph_u32 count0, count1; 00080 #endif 00081 } sph_shavite_small_context; 00082 00087 typedef sph_shavite_small_context sph_shavite224_context; 00088 00093 typedef sph_shavite_small_context sph_shavite256_context; 00094 00105 typedef struct { 00106 #ifndef DOXYGEN_IGNORE 00107 unsigned char buf[128]; /* first field, for alignment */ 00108 size_t ptr; 00109 sph_u32 h[16]; 00110 sph_u32 count0, count1, count2, count3; 00111 #endif 00112 } sph_shavite_big_context; 00113 00118 typedef sph_shavite_big_context sph_shavite384_context; 00119 00124 typedef sph_shavite_big_context sph_shavite512_context; 00125 00132 void sph_shavite224_init(void *cc); 00133 00142 void sph_shavite224(void *cc, const void *data, size_t len); 00143 00153 void sph_shavite224_close(void *cc, void *dst); 00154 00168 void sph_shavite224_addbits_and_close( 00169 void *cc, unsigned ub, unsigned n, void *dst); 00170 00177 void sph_shavite256_init(void *cc); 00178 00187 void sph_shavite256(void *cc, const void *data, size_t len); 00188 00198 void sph_shavite256_close(void *cc, void *dst); 00199 00213 void sph_shavite256_addbits_and_close( 00214 void *cc, unsigned ub, unsigned n, void *dst); 00215 00222 void sph_shavite384_init(void *cc); 00223 00232 void sph_shavite384(void *cc, const void *data, size_t len); 00233 00243 void sph_shavite384_close(void *cc, void *dst); 00244 00258 void sph_shavite384_addbits_and_close( 00259 void *cc, unsigned ub, unsigned n, void *dst); 00260 00267 void sph_shavite512_init(void *cc); 00268 00277 void sph_shavite512(void *cc, const void *data, size_t len); 00278 00288 void sph_shavite512_close(void *cc, void *dst); 00289 00303 void sph_shavite512_addbits_and_close( 00304 void *cc, unsigned ub, unsigned n, void *dst); 00305 00306 #endif