X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=algos%2Frandpool.h;h=9c310c91e7561f7ea21392b1b0dc34ab297a5439;hb=45fb90739a9806843719dc9f64b11518e0278ac0;hp=817cf39c77e554d2d5e53157adaead9952a2346b;hpb=77b88716dcd82d0910512567d4849befdbe34405;p=bertos.git diff --git a/algos/randpool.h b/algos/randpool.h index 817cf39c..9c310c91 100755 --- a/algos/randpool.h +++ b/algos/randpool.h @@ -1,7 +1,7 @@ /** * \file * * @@ -14,6 +14,24 @@ /*#* *#* $Log$ + *#* Revision 1.8 2007/02/12 09:47:39 asterix + *#* Remove randpool_save. Add randpool_pool. + *#* + *#* Revision 1.6 2007/02/09 15:49:54 asterix + *#* Fix bug in randpool_stir and randpool_add. Typos. + *#* + *#* Revision 1.5 2007/02/09 09:24:38 asterix + *#* Typos. Add data_len in randpool_add and n_byte in randpool_push pototypes. + *#* + *#* Revision 1.4 2007/02/08 17:18:01 asterix + *#* Write add_data and stir function. Typos + *#* + *#* Revision 1.3 2007/02/08 14:25:56 asterix + *#* Typos. + *#* + *#* Revision 1.2 2007/02/08 11:53:03 asterix + *#* Add EntropyPool struct. Typos. + *#* *#* Revision 1.1 2007/02/08 11:13:41 asterix *#* Add function prototypes. *#* @@ -25,14 +43,28 @@ #include #include +#define NUM_STIR_LOOP CONFIG_SIZE_ENTROPY_POOL / CONFIG_MD2_BLOCK_LEN /** + * Sturct data of entropy pool. */ -void add_entropy(void *data, size_t n_bit); -size_t pool_size(void); -void get_bit(void *data, size_t n_bit); -void get_bit_n(void *data, size_t n_bit); -bool save_pool(void); -uint8_t load_pool(void); +typedef struct EntropyPool +{ + size_t entropy; ///< Actual value of entropy (byte). + size_t pos_add; ///< Number of byte idd in entropy pool. + size_t pos_get; ///< Number of byte get in entropy pool. + size_t counter; ///< Counter. + size_t last_counter; ///< Last timer value. + uint8_t pool_entropy[CONFIG_SIZE_ENTROPY_POOL]; ///< Entropy pool. + +} EntropyPool; + + +void randpool_add(EntropyPool *pool, void *data, size_t data_len, size_t entropy); +void randpool_init(EntropyPool *pool, void *_data, size_t len); +size_t randpool_size(EntropyPool *pool); +void randpool_get(EntropyPool *pool, void *data, size_t n_byte); +void randpool_getN(EntropyPool *pool, void *data, size_t n_byte); +uint8_t *randpool_pool(EntropyPool *pool); #endif /* RANDPOOL_H */