mem-pool.hon commit Merge branch 'jc/clean-after-sanity-tests' (1840443)
   1#ifndef MEM_POOL_H
   2#define MEM_POOL_H
   3
   4struct mp_block {
   5        struct mp_block *next_block;
   6        char *next_free;
   7        char *end;
   8        uintmax_t space[FLEX_ARRAY]; /* more */
   9};
  10
  11struct mem_pool {
  12        struct mp_block *mp_block;
  13
  14        /*
  15         * The amount of available memory to grow the pool by.
  16         * This size does not include the overhead for the mp_block.
  17         */
  18        size_t block_alloc;
  19
  20        /* The total amount of memory allocated by the pool. */
  21        size_t pool_alloc;
  22};
  23
  24/*
  25 * Alloc memory from the mem_pool.
  26 */
  27void *mem_pool_alloc(struct mem_pool *pool, size_t len);
  28
  29/*
  30 * Allocate and zero memory from the memory pool.
  31 */
  32void *mem_pool_calloc(struct mem_pool *pool, size_t count, size_t size);
  33
  34#endif