00001 00004 #ifndef RAZORBACK_QUEUE_LIST_H 00005 #define RAZORBACK_QUEUE_LIST_H 00006 #include <razorback/visibility.h> 00007 #include <razorback/queue.h> 00008 #include <razorback/list.h> 00009 00010 #ifdef __cplusplus 00011 extern "C" { 00012 #endif 00013 00017 struct QueueListEntry 00018 { 00019 struct Queue *pQueue; 00020 uuid_t uuiKey; 00021 struct QueueListEntry *pNext; 00022 }; 00023 00027 SO_PUBLIC extern struct List * QueueList_Create (void); 00028 00034 SO_PUBLIC extern struct Queue *QueueList_Find (struct List *p_pList, 00035 const uuid_t p_pId); 00036 00042 SO_PUBLIC extern bool QueueList_Add (struct List *p_pList, 00043 struct Queue *p_pQ, const uuid_t p_pId); 00044 00050 SO_PUBLIC extern bool QueueList_Remove (struct List *p_pList, 00051 const uuid_t p_pId); 00052 00056 SO_PUBLIC extern struct QueueListEntry *QueueList_First (const struct List 00057 *p_pList); 00058 00063 SO_PUBLIC extern struct QueueListEntry *QueueList_Next (const struct List *p_pList, 00064 const struct QueueListEntry 00065 *p_pCurrent); 00066 #ifdef __cplusplus 00067 } 00068 #endif 00069 #endif