25 lines
676 B
C
25 lines
676 B
C
#pragma once
|
|
#include "queue_node.h"
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
// non-thread-safe list of queue_node_t objects with _head and _tail
|
|
typedef struct nodelist_s
|
|
{
|
|
queue_node_t *head;
|
|
queue_node_t *tail;
|
|
} nodelist_s, *nodelist_t;
|
|
|
|
void nodelist_init(nodelist_t nodelist);
|
|
void nodelist_push_back(nodelist_t nodelist, queue_node_t *item);
|
|
void nodelist_push_front(nodelist_t nodelist, queue_node_t *item);
|
|
queue_node_t *nodelist_pop_front(nodelist_t nodelist);
|
|
// pushes an item onto the list, but treat it as a whole list rather than a single item
|
|
void nodelist_push_back_list(nodelist_t nodelist, queue_node_t *item);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|