SEcube
SEcube Open Source Library - Device
se3_memory.h
Go to the documentation of this file.
1 
7 #pragma once
8 #include "se3c0.h"
9 
11 typedef struct se3_mem_ {
12  size_t max_count;
13  uint8_t** ptr;
14  uint8_t* dat;
15  size_t dat_size;
16  size_t used;
17 } se3_mem;
18 
19 enum {
22 };
23 
31 void se3_mem_init(se3_mem* mem, size_t index_size, uint8_t** index, size_t buf_size, uint8_t* buf);
32 
38 int32_t se3_mem_alloc(se3_mem* mem, size_t size);
39 
45 uint8_t* se3_mem_ptr(se3_mem* mem, int32_t id);
46 
52 void se3_mem_free(se3_mem* mem, int32_t id);
53 
58 void se3_mem_reset(se3_mem* mem);
void se3_mem_free(se3_mem *mem, int32_t id)
release single entry
Definition: se3_memory.c:247
L0 structures and functions.
int32_t se3_mem_alloc(se3_mem *mem, size_t size)
allocate one entry
Definition: se3_memory.c:133
memory alignment
Definition: se3_memory.h:21
struct se3_mem_ se3_mem
memory allocator structure
void se3_mem_init(se3_mem *mem, size_t index_size, uint8_t **index, size_t buf_size, uint8_t *buf)
initialize memory allocator
Definition: se3_memory.c:36
uint8_t * se3_mem_ptr(se3_mem *mem, int32_t id)
get pointer to entry in buffer
Definition: se3_memory.c:229
entry header size
Definition: se3_memory.h:20
memory allocator structure
Definition: se3_memory.h:11
void se3_mem_reset(se3_mem *mem)
release all entries
Definition: se3_memory.c:18