MP8 Web Server
All Data Structures Files Functions Variables Pages
queue.h
Go to the documentation of this file.
1 
2 #ifndef __QUEUE_H__
3 #define __QUEUE_H__
4 
8 /*struct queue_node {
9  void *item; ///<Stored value
10  struct queue_node *next; ///<Link to next node
11 };*/
12 
16 typedef struct {
17  struct queue_node *head;
18  struct queue_node *tail;
19  unsigned int size;
20 } queue_t;
21 
22 void queue_init(queue_t *q);
23 void queue_destroy(queue_t *q);
24 
25 void *queue_dequeue(queue_t *q);
26 void *queue_at(queue_t *q, int pos);
27 void *queue_remove_at(queue_t *q, int pos);
28 void queue_enqueue(queue_t *q, void *item);
29 unsigned int queue_size(queue_t *q);
30 
31 void queue_iterate(queue_t *q, void (*iter_func)(void *, void *), void *arg);
32 
33 #endif