#ifndef QUEUE_H #define QUEUE_H #include #include #include #include #include #define EVENT_TYPE_FD 0 #define EVENT_TYPE_TCP_SOCKET 1 struct event { u8 type; // File descriptor | Socket u32 internal_id; }; struct event_queue { struct list events; int wait; process_t *p; }; int queue_create(u32 *id, process_t *p); int queue_add(u32 queue_id, struct event *ev, u32 size); int queue_wait(u32 queue_id); int queue_should_block(struct event_queue *q, int *is_empty); #endif