SEcube
SEcube Open Source Library - Device
Data Structures | Typedefs | Enumerations | Functions
se3_memory.h File Reference

Memory management (session allocator) More...

#include "se3c0.h"

Go to the source code of this file.

Data Structures

struct  se3_mem_
 memory allocator structure More...
 

Typedefs

typedef struct se3_mem_ se3_mem
 memory allocator structure
 

Enumerations

enum  { SE3_MEM_HEADER = 4, SE3_MEM_BLOCK = 32 }
 

Functions

void se3_mem_init (se3_mem *mem, size_t index_size, uint8_t **index, size_t buf_size, uint8_t *buf)
 initialize memory allocator More...
 
int32_t se3_mem_alloc (se3_mem *mem, size_t size)
 allocate one entry More...
 
uint8_t * se3_mem_ptr (se3_mem *mem, int32_t id)
 get pointer to entry in buffer More...
 
void se3_mem_free (se3_mem *mem, int32_t id)
 release single entry More...
 
void se3_mem_reset (se3_mem *mem)
 release all entries More...
 

Detailed Description

Memory management (session allocator)

Author
Nicola Ferri

Enumeration Type Documentation

anonymous enum
Enumerator
SE3_MEM_HEADER 

entry header size

SE3_MEM_BLOCK 

memory alignment

Function Documentation

int32_t se3_mem_alloc ( se3_mem mem,
size_t  size 
)

allocate one entry

Parameters
memmemory buffer object
sizeallocation size
void se3_mem_free ( se3_mem mem,
int32_t  id 
)

release single entry

Parameters
memmemory buffer object
idof the entry
void se3_mem_init ( se3_mem mem,
size_t  index_size,
uint8_t **  index,
size_t  buf_size,
uint8_t *  buf 
)

initialize memory allocator

Parameters
memmemory buffer object
index_sizenumber of elements in index
indexpointer to the index buffer (array[index_size] of pointers)
buf_sizenumber of bytes in data buffer
bufpointer to data buffer
uint8_t* se3_mem_ptr ( se3_mem mem,
int32_t  id 
)

get pointer to entry in buffer

Parameters
memmemory buffer object
idof the entry
void se3_mem_reset ( se3_mem mem)

release all entries

Parameters
memmemory buffer object