#ifndef EVENTLOOP_H #define EVENTLOOP_H #include "nwedav.h" #include "../platform/pal.h" typedef struct { socket_t fd; event_flags_t events; void *user_data; } event_t; typedef struct event_loop event_loop_t; event_loop_t *event_loop_create(int max_events); void event_loop_destroy(event_loop_t *loop); int event_loop_add(event_loop_t *loop, socket_t fd, event_flags_t events, void *data); int event_loop_modify(event_loop_t *loop, socket_t fd, event_flags_t events); int event_loop_remove(event_loop_t *loop, socket_t fd); int event_loop_wait(event_loop_t *loop, event_t *events, int max, int timeout_ms); #endif