36#define queue_free(q) queue_destroy((q), free)
#define data
Definition hash.c:38
qnode_t q_t
Definition queue.h:32
void queue_destroy(q_t *q, void(*callback)(void *))
Definition queue.c:181
void * dequeue(q_t *q)
Definition queue.c:163
qnode_t * enqueue(q_t *q, void *data)
Definition queue.c:57
qnode_t * queue_move_to_tail(q_t *q, qnode_t *node)
Move existing node to tail (MRU) without reallocation.
Definition queue.c:123
qnode_t * queue_move_to_tail_of(q_t *from_q, q_t *to_q, qnode_t *node)
Move node from one queue to another without memory reallocation.
Definition queue.c:86
q_t * queue_init(void)
Definition queue.c:44
qnode_t * prequeue(q_t *q, void *data)
Definition queue.c:146
void * data
Definition queue.h:29
struct qnode * next
Definition queue.h:28
struct qnode * prev
Definition queue.h:27