r6.0.1:lfds601_freelist_guaranteed_pop

From liblfds.org
Revision as of 14:07, 4 January 2015 by Admin (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Source Files

/liblfds601/src/lfds601_freelist/lfds601_freelist_pop_push.c
/liblfds601/inc/liblfds601.h

Prototype

struct lfds601_freelist_element *lfds601_freelist_guaranteed_pop( struct lfds601_freelist_state *fs, struct lfds601_freelist_element **fe );

Parameters

struct lfds601_freelist_state *fs

A freelist state as allocated by lfds601_freelist_new.

struct lfds601_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 lfds601_freelist_new when the freelist was instantiated.

Notes

To obtain the user data void pointer from the element, use lfds601_freelist_get_user_data_from_element.

See Also