00001 00038 #ifndef MEMPOOL_H_INCLUDED 00039 #define MEMPOOL_H_INCLUDED 00040 00041 #include <types.h> 00042 00056 struct physmem_pool; 00057 00061 struct mem_pool_object; 00062 00069 struct mem_pool { 00074 struct mem_pool_object *freelist; 00075 }; 00076 00077 extern void mem_pool_init(struct mem_pool *pool, void *start, 00078 size_t size, size_t objsize, unsigned int align_order); 00079 00080 extern void mem_pool_init_physmem(struct mem_pool *mempool, 00081 struct physmem_pool *phys_pool, unsigned int nr_objects, 00082 size_t objsize, unsigned int align_order); 00083 00084 void *mem_pool_alloc(struct mem_pool *pool); 00085 void mem_pool_free(struct mem_pool *pool, const void *obj); 00086 00088 00089 #endif /* MEMPOOL_H_INCLUDED */
1.6.3