summaryrefslogtreecommitdiffstats
path: root/sbe/sbefw/pool.H
blob: bc9b002def9881d2f9d7a3681ebf93f4a40d88f8 (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] __attribute__ ((aligned (8)));
}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