Remove randpool_load function. Add *data in randpool_init prototype.
[bertos.git] / algos / randpool.h
index e996fa3cd93abc8d7f6561a6b95209d25a68f604..af9edc449d9e8614dbbabc3dd4db66eb0019d561 100755 (executable)
@@ -1,7 +1,7 @@
 /**
  * \file
  * <!--
- * Copyright 2007 Develer S.r.l. (http://www.develer.com/)
+ * Copyright 2007 Develer S.r.l. (http://www.develer.com/);
  * This file is part of DevLib - See README.devlib for information.
  * -->
  *
 
 /*#*
  *#* $Log$
+ *#* Revision 1.7  2007/02/12 09:40:43  asterix
+ *#* Remove randpool_load function. Add *data in randpool_init prototype.
+ *#*
+ *#* 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
  *#*
@@ -21,7 +30,7 @@
  *#* Typos.
  *#*
  *#* Revision 1.2  2007/02/08 11:53:03  asterix
- *#* Add EntrPool struct. Typos.
+ *#* Add EntropyPool struct. Typos.
  *#*
  *#* Revision 1.1  2007/02/08 11:13:41  asterix
  *#* Add function prototypes.
 #include <cfg/compiler.h>
 #include <appconfig.h>
 
+#define NUM_STIR_LOOP  CONFIG_SIZE_ENTROPY_POOL / CONFIG_MD2_BLOCK_LEN
+
 /**
  * Sturct data of entropy pool.
  */
-typedef struct EntrPool 
+typedef struct EntropyPool 
 {
-       size_t entropy;                                  ///< Actual value of entropy (In bit).
-       size_t pool_pos_add;                             ///< Size of byte insert in entropy pool.
-       size_t pool_pos_get;                             ///< Size of byte take in entropy pool.
+       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.
 
-} EntrPool;
+} EntropyPool;
+
 
-void init_pool(EntrPool *pool);
-void add_data(EntrPool *pool, void *data, size_t n_bit);
-size_t pool_size(EntrPool *pool);
-void get_bit(EntrPool *pool, void *data, size_t n_bit);
-void get_bit_n(EntrPool *pool, void *data, size_t n_bit);
-bool save_pool(void *data);
-uint8_t *load_pool(void);
+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);
+bool randpool_save(void *data);
 
 #endif /* RANDPOOL_H */