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 */