winamp/Src/replicant/nu/nodelist.h
2024-09-24 14:54:57 +02:00

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