1 /* queue.h */
2 
3 typedef struct _Queue Queue;
4 typedef void *QueueValue;
5 
6 Queue *queue_new(void);
7 void queue_free(Queue *queue);
8 
9 int queue_push_head(Queue *queue, QueueValue data);
10 QueueValue queue_pop_head(Queue *queue);
11 QueueValue queue_peek_head(Queue *queue);
12 
13 int queue_push_tail(Queue *queue, QueueValue data);
14 QueueValue queue_pop_tail(Queue *queue);
15 QueueValue queue_peek_tail(Queue *queue);
16 
17 int queue_is_empty(Queue *queue);
18