summaryrefslogtreecommitdiffstats
path: root/sbe/sbefw/pool.H
blob: 2248c007225384cca6acb3d407d5863432099ad6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

#ifndef SBE_VECTOR_POOL_H
#define SBE_VECTOR_POOL_H

namespace SBEVECTORPOOL
{

// Size of a block  for a vector
static const size_t G_BLOCKSIZE = 512;

//Pool size
static const size_t G_POOLSIZE = 4;

typedef struct
{
    size_t refCount;
    uint8_t data[G_BLOCKSIZE];
}vectorMemPool_t;

/**
  * @brief Returns memory pool block.
  *
  * @return  Memory block if available, NULL otherwise.
  */
vectorMemPool_t * allocMem();

/**
  * @brief Release memory pool block.
  *
  * @param[in] i_pool pool pointer.
  */
void releaseMem( vectorMemPool_t * i_pool );

} // namespace SBEVECTORPOOL
#endif //SBE_VECTOR_POOL_H
OpenPOWER on IntegriCloud