|
Embedded Artistry Framework
Embedded Systems C++ Framework
|


Classes | |
| struct | ll_head |
| Linked list struct. More... | |
Macros | |
| #define | container_of(ptr, type, member) ((type*)((uintptr_t)(ptr)-offsetof(type, member))) |
| Define offsetof if we don't have it already. More... | |
Get Containers | |
| #define | list_entry(ptr, type, member) container_of(ptr, type, member) |
| Get the container for a list entry. More... | |
| #define | list_first_entry(head, type, member) list_entry((head)->next, type, member) |
| Get the container for the first item in the list. More... | |
Foreach Operations | |
| #define | list_for_each(pos, head) for(pos = (head)->next; pos != (head); pos = pos->next) |
| Declare a foreach loop which iterates over the list. More... | |
| #define | list_for_each_safe(pos, n, head) for(pos = (head)->next, n = pos->next; pos != (head); pos = n, n = pos->next) |
| Declare a foreach loop which iterates over the list, copy current node pointer. More... | |
| #define | list_for_each_entry(pos, head, member) |
| Declare a for loop which operates on each node in the list using the container value. More... | |
| #define | list_for_each_entry_safe(pos, n, head, member) |
| Declare a for loop which operates on each node in the list using a copy of the container value. More... | |
Initialization | |
| #define | ll_head_INIT(name) |
| Initialize a linked list so it points to itself. More... | |
| #define | LIST_INIT(name) struct ll_head name = ll_head_INIT(name) |
| Initialize a linked list. More... | |
Typedefs | |
| typedef struct ll_head | ll_t |
| Linked list struct. More... | |
Functions | |
Addition | |
| static void | list_insert (struct ll_head *n, struct ll_head *prev, struct ll_head *next) |
| Insert a new element between two existing elements. More... | |
| static void | list_add (struct ll_head *n, struct ll_head *head) |
| Add a node to the front of the list. More... | |
| static void | list_add_tail (struct ll_head *n, struct ll_head *head) |
| Add a node to the end of the list. More... | |
Deletion | |
| static void | list_join_nodes (struct ll_head *prev, struct ll_head *next) |
| Remove the node between two element pointers. More... | |
| static void | list_del (struct ll_head *entry) |
| Remove an entry from the list. More... | |
1.8.15