| 
| struct Buffered_LIFO_chunk *  | Buffered_LIFO_chunk_new (size_t sizeof_payload, uint64_t chunk_size, struct Buffered_LIFO_chunk *prev) | 
|   | Allocates an empty Buffered_LIFO_chunk pointing to prev.  More...
  | 
|   | 
| void  | Buffered_LIFO_chunk_release (struct Buffered_LIFO_chunk *chunk, size_t sizeof_payload, void(*free_func)(void *)) | 
|   | Releases a Buffered_LIFO_chunk note that it does not recurses over previous chunks.  More...
  | 
|   | 
| struct Buffered_LIFO_chunk *  | Buffered_LIFO_chunk_push (struct Buffered_LIFO_chunk *chunk, void *elem, size_t sizeof_payload, uint64_t chunk_size) | 
|   | Push a new elem in the Buffered_LIFO_chunk.  More...
  | 
|   | 
| struct Buffered_LIFO_chunk *  | Buffered_LIFO_chunk_pop (struct Buffered_LIFO_chunk *chunk, size_t sizeof_payload, uint64_t chunk_size, void *elem, int *did_ret) | 
|   | Get an element from the Buffered_LIFO_chunk.  More...
  | 
|   | 
| void *  | Buffered_LIFO_chunk_head (struct Buffered_LIFO_chunk *chunk, size_t sizeof_payload) | 
|   | Get a pointer to the Buffered_LIFO_chunk head eleme (NULL if none)  More...
  | 
|   | 
| void  | Buffered_LIFO_init (struct Buffered_LIFO *lifo, size_t sizeof_payload, uint64_t chunk_size) | 
|   | Initializes a Buffered_LIFO ready to contains elems of size sizeof_payload with chunk_size chunks.  More...
  | 
|   | 
| void  | Buffered_LIFO_release (struct Buffered_LIFO *lifo, void(*free_func)(void *)) | 
|   | Releases a Buffered_LIFO and all its chunks.  More...
  | 
|   | 
| void  | Buffered_LIFO_push (struct Buffered_LIFO *lifo, void *elem) | 
|   | Push an element of size sizeof_payload in the Buffered_LIFO.  More...
  | 
|   | 
| void *  | Buffered_LIFO_pop (struct Buffered_LIFO *lifo, void *elem) | 
|   | Push an element of size sizeof_payload in the Buffered_LIFO.  More...
  | 
|   | 
| void *  | Buffered_LIFO_head (struct Buffered_LIFO *lifo) | 
|   | Get a reference to the head element of the Buffered_LIFO note that as no lock is held this reference can be invalidated by another thread. In such context you can use Buffered_LIFO_head_locked instead.  More...
  | 
|   | 
| void *  | Buffered_LIFO_head_locked (struct Buffered_LIFO *lifo) | 
|   | Get a reference to the head element of the Buffered_LIFO but keeps the LIFO locked in order to allow thread safe manipulation of the head. Note that Buffered_LIFO_head_unlock must be called to unlock the LIFO after !  More...
  | 
|   | 
| void  | Buffered_LIFO_head_unlock (struct Buffered_LIFO *lifo) | 
|   | Unlocks the Buffered_LIFO after a call to Buffered_LIFO_head.  More...
  | 
|   |