00001 #ifndef BGLIBS__SURFRAND__H__ 00002 #define BGLIBS__SURFRAND__H__ 00003 00004 #include <crypto/surf.h> 00005 00010 struct surfrand 00011 { 00014 unsigned used; 00016 uint32 generated[SURF_OUT_U32]; 00018 uint32 seed[SURF_SEED_U32]; 00020 uint32 counter[SURF_IN_U32]; 00021 }; 00022 00023 void surfrand_init(struct surfrand* c, const uint32* data, unsigned words); 00024 uint32 surfrand_uint32(struct surfrand* c); 00025 double surfrand_double(struct surfrand* c); 00026 void surfrand_fill(struct surfrand* c, unsigned char* buf, unsigned len); 00027 00030 #endif