39 lines
780 B
C
39 lines
780 B
C
#ifndef MEM_VAR_H
|
|
#define MEM_VAR_H
|
|
|
|
#include "typedef.h"
|
|
#include "generic/list.h"
|
|
|
|
struct mem_var_element {
|
|
u16 crc;
|
|
u16 checksum;
|
|
u16 len;
|
|
u8 buf[0];
|
|
};
|
|
|
|
struct mem_var {
|
|
struct list_head head;
|
|
struct mem_var_element var;
|
|
};
|
|
|
|
struct mem_var_head {
|
|
struct list_head head;
|
|
int total_mem_size;
|
|
int items;
|
|
int use_mem_size;
|
|
int hits;
|
|
u8 debug;
|
|
};
|
|
|
|
extern struct mem_var_head var_list;
|
|
|
|
void mem_var_init(u32 size, u8 debug);
|
|
int mem_var_add(u32 index, u32 type, u32 id, u32 page, u32 prj, u8 *buf, u16 len);
|
|
void mem_var_free();
|
|
int mem_var_del(struct mem_var *var);
|
|
void mem_var_get(struct mem_var *var, u8 *buf, u16 len);
|
|
struct mem_var *mem_var_search(u32 index, u32 type, u32 id, u32 page, u32 prj);
|
|
void mem_var_stat();
|
|
|
|
#endif
|