librfn
An ad-hoc utility library
Data Structures | Macros | Typedefs | Functions
list.h File Reference
#include <stdbool.h>
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  list_node
 
struct  list_t
 
struct  list_iterator_t
 

Macros

#define LIST_NODE_VAR_INIT   { 0 }
 
#define LIST_VAR_INIT   { 0 }
 

Typedefs

typedef struct list_node list_node_t
 
typedef int list_node_compare_t(list_node_t *, list_node_t *)
 

Functions

void list_insert (list_t *list, list_node_t *node)
 
void list_insert_sorted (list_t *list, list_node_t *node, list_node_compare_t *nodecmp)
 
void list_push (list_t *list, list_node_t *node)
 
list_node_tlist_extract (list_t *list)
 
list_node_tlist_iterate (list_t *list, list_iterator_t *iter)
 
list_node_tlist_iterator_next (list_iterator_t *iter)
 
void list_iterator_insert (list_iterator_t *iter, list_node_t *node)
 
list_node_tlist_iterator_remove (list_iterator_t *iter)
 
bool list_contains (list_t *list, list_node_t *node, list_iterator_t *iter)
 
bool list_remove (list_t *list, list_node_t *node)