r6:Function:freelist guaranteed pop
Jump to navigation
Jump to search
Source Files
/src/freelist/freelist_pop_push.c /inc/liblfds.h
Prototype
struct freelist_element *freelist_guaranteed_pop( struct freelist_state *fs, struct freelist_element **fe );
Parameters
struct freelist_state *fs
- A freelist state as allocated by freelist_new.
struct freelist_element **fe
- A pointer to a freelist element pointer which will be set to point to a freshly allocated struct freelist. Set to NULL if allocation fails.
Return Value
Returns a pointer to the address of the freelist element (e.g. the value *fe is set to). Returns NULL if element creation failed. This element is actually allocated, rather than being taken from the freelist, and so will always succeed, unless malloc or the user initialisation function fail. The user initialisation function used is that which was passed to freelist_new when the freelist was instantiated.
Notes
To obtain the user data void pointer from the element, use freelist_get_user_data_from_element.