X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=ucw%2Feltpool.h;h=0f65186586d38bcf573900ef4655e9afae77f2bd;hb=a6368763d08042207963c941b1c52b5fafcb0cb3;hp=a3a4e427a517d29d92be92c5c88a3866d03ba57f;hpb=026358b2c904d3e5677928fefc625ca52a0c90a1;p=libucw.git diff --git a/ucw/eltpool.h b/ucw/eltpool.h index a3a4e427..0f651865 100644 --- a/ucw/eltpool.h +++ b/ucw/eltpool.h @@ -10,6 +10,13 @@ #ifndef _UCW_ELTPOOL_H #define _UCW_ELTPOOL_H +#ifdef CONFIG_UCW_CLEAN_ABI +#define ep_alloc_slow ucw_ep_alloc_slow +#define ep_delete ucw_ep_delete +#define ep_new ucw_ep_new +#define ep_total_size ucw_ep_total_size +#endif + /*** * [[defs]] * Definitions @@ -23,11 +30,11 @@ struct eltpool { struct eltpool_chunk *first_chunk; struct eltpool_free *first_free; - uns elt_size; - uns chunk_size; - uns elts_per_chunk; - uns num_allocated; // Just for debugging - uns num_chunks; + uint elt_size; + uint chunk_size; + uint elts_per_chunk; + uint num_allocated; // Just for debugging + uint num_chunks; }; struct eltpool_chunk { @@ -50,8 +57,10 @@ struct eltpool_free { * The pool will allocate chunks of at least @elts_per_chunk elements. * Higher numbers lead to better allocation times but also to bigger * unused memory blocks. Call @ep_delete() to free all pool's resources. + * + * Element pools can be treated as <>, see <>. **/ -struct eltpool *ep_new(uns elt_size, uns elts_per_chunk); +struct eltpool *ep_new(uint elt_size, uint elts_per_chunk); /** * Release a memory pool created by @ep_new() including all @@ -79,7 +88,7 @@ void *ep_alloc_slow(struct eltpool *pool); /* Internal. Do not call directly. */ static inline void *ep_alloc(struct eltpool *pool) { pool->num_allocated++; -#ifdef CONFIG_FAKE_ELTPOOL +#ifdef CONFIG_UCW_FAKE_ELTPOOL return xmalloc(pool->elt_size); #else struct eltpool_free *elt; @@ -99,7 +108,7 @@ static inline void *ep_alloc(struct eltpool *pool) static inline void ep_free(struct eltpool *pool, void *p) { pool->num_allocated--; -#ifdef CONFIG_FAKE_ELTPOOL +#ifdef CONFIG_UCW_FAKE_ELTPOOL (void) pool; xfree(p); #else