|
#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
|