SmartSnippets DA1459x SDK
sdk_list.h
Go to the documentation of this file.
1 
34 #ifndef SDK_LIST_H_
35 #define SDK_LIST_H_
36 
37 #include <stdbool.h>
38 #include <stddef.h>
39 #include <stdint.h>
40 
48 struct list_elem {
49  struct list_elem *next;
50 };
51 
59 typedef void (* list_elem_cb_t) (const void *elem, const void *ud);
60 
70 typedef bool (* list_elem_match_t) (const void *elem, const void *ud);
71 
81 void list_add(void **head, void *elem);
82 
91 void *list_pop_back(void **head);
92 
101 void *list_peek_back(void **head);
102 
111 uint8_t list_size(void *head);
112 
122 void list_append(void **head, void *elem);
123 
134 void *list_find(void *head, list_elem_match_t match, const void *ud);
135 
146 void *list_unlink(void **head, list_elem_match_t match, const void *ud);
147 
156 void list_remove(void **head, list_elem_match_t match, const void *ud);
157 
166 void list_filter(void **head, list_elem_match_t match, const void *ud);
167 
176 void list_foreach(void *head, list_elem_cb_t cb, const void *ud);
177 
186 void list_free(void **head, list_elem_cb_t cb, const void *ud);
187 
188 #endif /* SDK_LIST_H_ */
list_elem
Definition: sdk_list.h:48
list_remove
void list_remove(void **head, list_elem_match_t match, const void *ud)
list_append
void list_append(void **head, void *elem)
list_free
void list_free(void **head, list_elem_cb_t cb, const void *ud)
list_pop_back
void * list_pop_back(void **head)
list_elem_cb_t
void(* list_elem_cb_t)(const void *elem, const void *ud)
Definition: sdk_list.h:59
list_filter
void list_filter(void **head, list_elem_match_t match, const void *ud)
list_find
void * list_find(void *head, list_elem_match_t match, const void *ud)
list_add
void list_add(void **head, void *elem)
list_foreach
void list_foreach(void *head, list_elem_cb_t cb, const void *ud)
list_unlink
void * list_unlink(void **head, list_elem_match_t match, const void *ud)
list_peek_back
void * list_peek_back(void **head)
list_elem_match_t
bool(* list_elem_match_t)(const void *elem, const void *ud)
Definition: sdk_list.h:70
list_size
uint8_t list_size(void *head)