1#ifndef __MEM_POOL_H
2#define __MEM_POOL_H
3
4#define NODE_NUM 5000
5#define LIST_NUM 2
6//#define EIGHT_NUM 10000
7//#define EIGHT_NUM 10000
8
9typedef struct _list_node
10{
11   void *addr;
12   struct _list_node *next_node;
13}list_node;
14
15typedef struct _manager_node
16{
17   list_node *start_node;
18   list_node *last_node;
19   unsigned int addr_start;
20   unsigned int addr_end;
21   int node_num;
22   int available_num;
23}manager_node;
24
25//manager_node manager_list[LIST_NUM];
26//
27//list_node list_8_node[NODE_NUM];
28//list_node list_64_node[NODE_NUM];
29//list_node list_16_node[NODE_NUM];
30//list_node list_32_node[NODE_NUM];
31
32int mem_pool_init();
33void * mem_alloc(int num);
34void mem_free(void *addr);
35void mem_pool_destroy();
36
37#define assert_param(param)          if(param==NULL) return 0;
38#endif
39