#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