31 volatile uint32_t
len;
35#define MMPKT_LIST_INIT { NULL, NULL, 0 }
43static inline void mmpkt_list_init(
struct mmpkt_list *list)
99static inline struct mmpkt *mmpkt_list_dequeue_all(
struct mmpkt_list *list)
115static inline bool mmpkt_list_is_empty(
struct mmpkt_list *list)
117 return (list->
head == NULL);
139static inline struct mmpkt *mmpkt_list_peek_tail(
struct mmpkt_list *list)
149void mmpkt_list_clear(
struct mmpkt_list *list);
159#define MMPKT_LIST_WALK(_lst, _wlk, _nxt) \
160 if ((_lst)->head != NULL) \
161 for (_wlk = (_lst)->head, _nxt = mmpkt_get_next(_wlk); \
163 _wlk = _nxt, _nxt = _wlk ? mmpkt_get_next(_wlk) : NULL)
Structure that can be used as the head of a linked list of mmpkts that counts its length.
struct mmpkt *volatile tail
Last mmpkt in the list.
volatile uint32_t len
Length of the list.
struct mmpkt *volatile head
First mmpkt in the list.
Core mmpkt data structure.