1 #ifndef _DRAGONSTD_QUEUE_H_
2 #define _DRAGONSTD_QUEUE_H_
18 Queue *queue_create();
19 void queue_delete(Queue *queue);
20 void queue_enqueue(Queue *queue, void *elem);
21 void *queue_dequeue(Queue *queue);
22 void *queue_dequeue_callback(Queue *queue, void (*callback)(void *elem));
23 void queue_cancel(Queue *queue); // disallow dequeing
24 void queue_finish(Queue *queue); // disallow enqueing, wait until consumption finished