upipe/upool.h header reference
Upipe pool of buffers, based on @ref ulifo More
Header inclusion
Members
Types
- struct upool
- typedef void *(*upool_alloc_cb)(struct upool *)
- typedef void (*upool_free_cb)(struct upool *, void *)
Functions
- void upool_clean(struct upool *upool)
- void upool_free(struct upool *upool, void *obj)
- void upool_init(struct upool *upool, uint16_t length, void *extra, upool_alloc_cb alloc_cb, upool_free_cb free_cb)
- void upool_vacuum(struct upool *upool)
Macros
Description
Members detail
This macro is declared in upipe/upool.h source file, line 31.
This struct is declared in upipe/upool.h source file, line 49.
This struct is the implementation of a pool of buffers.
Field | Description |
---|---|
struct ulifo lifo; | lifo |
upool_alloc_cb alloc_cb; | call-back to allocate new elements |
upool_free_cb free_cb; | call-back to release unused elements |
This macro is declared in upipe/upool.h source file, line 98.
This macro allocates an elements from the upool.
Parameters list:
- upool: pointer to a upool structure
- type: type of the opaque pointer
The return value is allocated element, or NULL in case of allocation error
typedef void *(*upool_alloc_cb)(struct upool *)
This typedef is declared in upipe/upool.h source file, line 44.
This typedef is a call-back to allocate new elements
void upool_clean(struct upool *upool)
This function is declared in upipe/upool.h source file, line 129.
This function empties and cleans up a upool.
Parameters list:
- upool: pointer to a upool structure
void upool_free(struct upool *upool, void *obj)
This function is declared in upipe/upool.h source file, line 107.
This function frees an element.
Parameters list:
- upool: pointer to a upool structure
- obj: element to free
typedef void (*upool_free_cb)(struct upool *, void *)
This typedef is declared in upipe/upool.h source file, line 46.
This typedef is a call-back to release unused elements
void upool_init(struct upool *upool, uint16_t length, void *extra, upool_alloc_cb alloc_cb, upool_free_cb free_cb)
This function is declared in upipe/upool.h source file, line 74.
This function initializes a upool.
Parameters list:
- upool: pointer to a upool structure
- length: maximum number of elements in the pool
- extra: mandatory extra space allocated by the caller, with the size returned by upool_sizeof
This macro is declared in upipe/upool.h source file, line 62.
This macro returns the required size of extra data space for upool.
Parameters list:
- length: maximum number of elements in the LIFO
The return value is size in octets to allocate
void upool_vacuum(struct upool *upool)
This function is declared in upipe/upool.h source file, line 118.
This function empties a upool.
Parameters list:
- upool: pointer to a upool structure
void * upool_alloc_internal(struct upool *upool)
This function is for internal use only.
This function is declared in upipe/upool.h source file, line 86.
This function allocates an elements from the upool.
Parameters list:
- upool: pointer to a upool structure
The return value is allocated element, or NULL in case of allocation error