0.3.1
Memory Block Allocator (MEMB)

Data Structures

struct  memb_ref
 Not yet documented. More...
 
struct  memb
 Not yet documented. More...
 

Macros

#define MEMB(name, structure, count, align)
 Statically declare a block pool.
 

Typedefs

typedef struct memb_ref memb_ref_t
 Not yet documented.
 
typedef enum memb_type memb_type_t
 Not yet documented.
 
typedef struct memb memb_t
 Not yet documented.
 

Enumerations

enum  memb_type
 Not yet documented. More...
 

Functions

void memb_init (memb_t *memb)
 Not yet documented.
 
int memb_memb_init (memb_t *memb, void *pool, uint32_t block_count, uint32_t block_size)
 Not yet documented.
 
int memb_memb_alloc (memb_t *memb, uint32_t block_count, uint32_t block_size, uint32_t align)
 Not yet documented.
 
void memb_memb_free (memb_t *memb)
 Not yet documented.
 
void * memb_alloc (memb_t *memb)
 Not yet documented.
 
void * memb_contiguous_alloc (memb_t *memb, uint32_t count)
 Not yet documented.
 
int memb_free (memb_t *memb, void *addr)
 Not yet documented.
 
uint32_t memb_size_get (const memb_t *memb)
 Not yet documented.
 
uint32_t memb_capacity_count_get (const memb_t *memb)
 Not yet documented.
 
uint32_t memb_allocated_count_get (const memb_t *memb)
 Not yet documented.
 
bool memb_bounds (memb_t *memb, const void *addr)
 Not yet documented.
 

Detailed Description

Description goes here.


Data Structure Documentation

◆ memb_ref

struct memb_ref

Not yet documented.

Data Fields
uint16_t count Not yet documented.

Macro Definition Documentation

◆ MEMB

#define MEMB (   name,
  structure,
  count,
  align 
)
Value:
static struct memb_ref \
__CONCAT(name, _memb_ref)[((count) <= 0) ? 1 : (count)]; \
\
static __aligned(((align) <= 0) ? 4 : (align)) \
structure __CONCAT1(name, _memb_mem)[((count) <= 0) ? 1 : (count)]; \
\
static memb_t name = { \
sizeof(structure), \
((count) <= 0) ? 1 : (count), \
&__CONCAT(name, _memb_ref)[0], \
0, \
0, \
(void *)&__CONCAT(name, _memb_mem)[0], \
NULL \
}
uint16_t count
Not yet documented.
Definition: memb.h:71
@ MEMB_TYPE_STATIC
Not yet documented.
Definition: memb.h:77
Not yet documented.
Definition: memb.h:69
Not yet documented.
Definition: memb.h:85

Statically declare a block pool.

Parameters
name
structure
count
align

Enumeration Type Documentation

◆ memb_type

enum memb_type

Not yet documented.

Enumerator
MEMB_TYPE_STATIC 

Not yet documented.

MEMB_TYPE_DYNAMIC 

Not yet documented.

MEMB_TYPE_SET 

Not yet documented.

Function Documentation

◆ memb_init()

void memb_init ( memb_t memb)

Not yet documented.

Parameters
memb

◆ memb_memb_init()

int memb_memb_init ( memb_t memb,
void *  pool,
uint32_t  block_count,
uint32_t  block_size 
)

Not yet documented.

Parameters
memb
pool
block_count
block_size
Returns
Not yet documented.

◆ memb_memb_alloc()

int memb_memb_alloc ( memb_t memb,
uint32_t  block_count,
uint32_t  block_size,
uint32_t  align 
)

Not yet documented.

Parameters
memb
block_count
block_size
align
Returns
Not yet documented.

◆ memb_memb_free()

void memb_memb_free ( memb_t memb)

Not yet documented.

Parameters
memb

◆ memb_alloc()

void * memb_alloc ( memb_t memb)

Not yet documented.

Parameters
memb
Returns
Not yet documented.

◆ memb_contiguous_alloc()

void * memb_contiguous_alloc ( memb_t memb,
uint32_t  count 
)

Not yet documented.

Parameters
memb
count
Returns
Not yet documented.

◆ memb_free()

int memb_free ( memb_t memb,
void *  addr 
)

Not yet documented.

Parameters
memb
addr
Returns
Not yet documented.

◆ memb_size_get()

uint32_t memb_size_get ( const memb_t memb)

Not yet documented.

Parameters
[in]memb
Returns
Not yet documented.

◆ memb_capacity_count_get()

uint32_t memb_capacity_count_get ( const memb_t memb)

Not yet documented.

Parameters
[in]memb
Returns
Not yet documented.

◆ memb_allocated_count_get()

uint32_t memb_allocated_count_get ( const memb_t memb)

Not yet documented.

Parameters
[in]memb
Returns
Not yet documented.

◆ memb_bounds()

bool memb_bounds ( memb_t memb,
const void *  addr 
)

Not yet documented.

Parameters
memb
addr
Returns
Not yet documented.