pool_alloc.h

説明を見る。
00001 #include <stddef.h>
00002 
00003 #define POOL_CLEAR      (1<<0)          /* zero fill allocations        */
00004 #define POOL_QALIGN     (1<<1)          /* align data to quanta         */
00005 #define POOL_INTERN     (1<<2)          /* Allocate extent structures   */
00006 #define POOL_APPEND     (1<<3)          /*   or appended to extent data */
00007 
00008 typedef void *alloc_pool_t;
00009 
00010 alloc_pool_t pool_create(size_t size, size_t quantum, void (*bomb)(char *), int flags);
00011 void pool_destroy(alloc_pool_t pool);
00012 void *pool_alloc(alloc_pool_t pool, size_t size, char *bomb);
00013 void pool_free(alloc_pool_t pool, size_t size, void *addr);
00014 
00015 #define pool_talloc(pool, type, count, bomb) \
00016         ((type *)pool_alloc(pool, sizeof(type) * count, bomb))
00017 
00018 #define pool_tfree(pool, type, count, addr) \
00019         (pool_free(pool, sizeof(type) * count, addr))
00020 

rsyncに対してSat Dec 5 19:45:41 2009に生成されました。  doxygen 1.4.7