Fix bug in randpool_getN.
[bertos.git] / algos / randpool.h
index 02daafa243aedbe762c9d7ebc725b310268cf72b..9c310c91e7561f7ea21392b1b0dc34ab297a5439 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.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 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.
-       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);
+uint8_t *randpool_pool(EntropyPool *pool);
 
 #endif /* RANDPOOL_H */