00001 00023 #ifndef MBEDTLS_HAVEGE_H 00024 #define MBEDTLS_HAVEGE_H 00025 00026 #include <stddef.h> 00027 00028 #define MBEDTLS_HAVEGE_COLLECT_SIZE 1024 00029 00030 #ifdef __cplusplus 00031 extern "C" { 00032 #endif 00033 00037 typedef struct 00038 { 00039 int PT1, PT2, offset[2]; 00040 int pool[MBEDTLS_HAVEGE_COLLECT_SIZE]; 00041 int WALK[8192]; 00042 } 00043 mbedtls_havege_state; 00044 00050 void mbedtls_havege_init( mbedtls_havege_state *hs ); 00051 00057 void mbedtls_havege_free( mbedtls_havege_state *hs ); 00058 00068 int mbedtls_havege_random( void *p_rng, unsigned char *output, size_t len ); 00069 00070 #ifdef __cplusplus 00071 } 00072 #endif 00073 00074 #endif /* havege.h */