-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 EntrPool
+{
+ size_t entropy; ///< Actual value of entropy.
+ size_t pool_pos; ///< Actual size of entropy pool.
+ size_t counter; ///< Counter.
+ uint8_t pool_entropy[CONFIG_SIZE_ENTROPY_POOL]; ///< Entropy pool.
+
+} EntrPool;
+
+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);