start of new file
[IRC.git] / Robust / src / Runtime / Queue.h
1 #ifndef QUEUE_H
2 #define QUEUE_H
3
4 struct Queue {
5   struct QueueItem * head;
6   struct QueueItem * tail;
7 };
8
9 struct QueueItem {
10   void * objectptr;
11   struct Queue * queue;
12   struct QueueItem * next;
13   struct QueueItem * prev;
14 };
15
16 void freeQueue(struct Queue * q);
17 struct Queue * createQueue();
18 struct QueueItem * addNewItem(struct Queue * queue, void * ptr);
19 #ifdef RAW
20 struct QueueItem * addNewItem_I(struct Queue * queue, void * ptr);
21 #endif
22 struct QueueItem * findItem(struct Queue * queue, void * ptr);
23 void removeItem(struct Queue * queue, struct QueueItem * item);
24 int isEmpty(struct Queue *queue);
25 struct QueueItem * getTail(struct Queue * queue);
26
27
28 #endif