#include #include #include #include #include void pool_init(struct pool *, size_t, u_int, int, int, const char *, struct pool_allocator *); void pool_destroy(struct pool *); void * pool_get(struct pool *, int); void pool_put(struct pool *, void *); int pool_prime(struct pool *, int); void pool_sethiwat(struct pool *, int); void pool_setlowat(struct pool *, int); int pool_sethardlimit(struct pool *, unsigned, const char *, int); void *pool_page_alloc(struct pool *, int, int *); void pool_page_free(struct pool *, void *); struct pool_allocator pool_allocator_single = { pool_page_alloc, pool_page_free, POOL_ALLOC_SIZE(PAGE_SIZE, POOL_ALLOC_ALIGNED) }; struct pool_allocator pool_allocator_multi = { pool_page_alloc, pool_page_free, POOL_ALLOC_SIZE(PAGE_SIZE, POOL_ALLOC_ALIGNED) }; struct pool_allocator pool_allocator_multi_ni = { pool_page_alloc, pool_page_free, POOL_ALLOC_SIZE(PAGE_SIZE, POOL_ALLOC_ALIGNED) }; void pool_init(struct pool *pool, size_t size, u_int align, int ipl, int flags, const char *wmesg, struct pool_allocator *palloc) { pool->pr_size = size; } void pool_destroy(struct pool *pp) { // nothing } void * pool_get(struct pool *pp, int flags) { void *v = NULL; v = malloc(pp->pr_size,0,0); // kernel malloc, ignore last 2 params return (v); } void pool_put(struct pool *pp, void *item) { free(item); } int pool_prime(struct pool *pp, int nitems) { // nothing } void pool_sethiwat(struct pool *pp, int n) { // nothing } void pool_setlowat(struct pool *pp, int n) { // nothing } int pool_sethardlimit(struct pool *pp, unsigned n, const char *warnmess, int ratecap) { // nothing } void *pool_page_alloc(struct pool *pp, int a, int *b) {} void pool_page_free(struct pool *, void *a) {}