queue.h - quark - quark web server
(HTM) git clone git://git.suckless.org/quark
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) LICENSE
---
queue.h (678B)
---
1 #ifndef QUEUE_H
2 #define QUEUE_H
3
4 #include <stddef.h>
5
6 #ifdef __linux__
7 #include <sys/epoll.h>
8
9 typedef struct epoll_event queue_event;
10 #else
11 #include <sys/types.h>
12 #include <sys/event.h>
13 #include <sys/time.h>
14
15 typedef struct kevent queue_event;
16 #endif
17
18 enum queue_event_type {
19 QUEUE_EVENT_IN,
20 QUEUE_EVENT_OUT,
21 };
22
23 int queue_create(void);
24 int queue_add_fd(int, int, enum queue_event_type, int, const void *);
25 int queue_mod_fd(int, int, enum queue_event_type, const void *);
26 int queue_rem_fd(int, int);
27 ssize_t queue_wait(int, queue_event *, size_t);
28
29 void *queue_event_get_data(const queue_event *);
30
31 int queue_event_is_error(const queue_event *e);
32
33 #endif /* QUEUE_H */