]> git.lizzy.rs Git - dragonstd.git/blob - queue.h
48829cbda5da05158adb7289a6c195ce8517bd63
[dragonstd.git] / queue.h
1 #ifndef _DRAGONSTD_QUEUE_H_
2 #define _DRAGONSTD_QUEUE_H_
3
4 #include <pthread.h>
5 #include "list.h"
6
7 typedef struct
8 {
9         List list;
10         pthread_mutex_t mtx;
11 } Queue;
12
13 Queue *queue_create();
14 void queue_delete(Queue *queue);
15 void queue_enqueue(Queue *queue, void *elem);
16 void *queue_dequeue(Queue *queue);
17 void *queue_dequeue_callback(Queue *queue, void (*callback)(void *elem));
18
19 #endif