Modules/UDI - Moved UDI headers to /UDI/include
[tpg/acess2.git] / UDI / include / udi / queues.h
1 /**
2  * \file udi_queues.h
3  * \brief Queue Management Utility Functions
4  */
5 #ifndef _UDI_QUEUES_H_
6 #define _UDI_QUEUES_H_
7
8 typedef struct udi_queue        udi_queue_t;
9
10 struct udi_queue
11 {
12         struct udi_queue *next;
13         struct udi_queue *prev;
14 };
15
16 extern void udi_enqueue(udi_queue_t *new_el, udi_queue_t *old_el);
17 extern udi_queue_t *udi_dequeue(udi_queue_t *element);
18
19 #define UDI_QUEUE_INIT(listhead)        ((listhead)->next = (listhead)->prev = (listhead))
20 #define UDI_QUEUE_EMPTY(listhead)       ((listhead)->next == (listhead)->prev)
21 // TODO: other queue macros
22
23 #endif
24

UCC git Repository :: git.ucc.asn.au