40 lines
919 B
C
40 lines
919 B
C
#ifndef IO_WATCHER_H_
|
|
#define IO_WATCHER_H_
|
|
|
|
#include "hloop.h"
|
|
|
|
#include "hplatform.h"
|
|
#if !defined(EVENT_SELECT) && \
|
|
!defined(EVENT_POLL) && \
|
|
!defined(EVENT_EPOLL) && \
|
|
!defined(EVENT_KQUEUE) && \
|
|
!defined(EVENT_IOCP) && \
|
|
!defined(EVENT_PORT) && \
|
|
!defined(EVENT_NOEVENT)
|
|
#ifdef OS_WIN
|
|
#if WITH_WEPOLL
|
|
#define EVENT_EPOLL // wepoll -> iocp
|
|
#else
|
|
#define EVENT_POLL // WSAPoll
|
|
#endif
|
|
#elif defined(OS_LINUX)
|
|
#define EVENT_EPOLL
|
|
#elif defined(OS_MAC)
|
|
#define EVENT_KQUEUE
|
|
#elif defined(OS_BSD)
|
|
#define EVENT_KQUEUE
|
|
#elif defined(OS_SOLARIS)
|
|
#define EVENT_PORT
|
|
#else
|
|
#define EVENT_SELECT
|
|
#endif
|
|
#endif
|
|
|
|
int iowatcher_init(hloop_t* loop);
|
|
int iowatcher_cleanup(hloop_t* loop);
|
|
int iowatcher_add_event(hloop_t* loop, int fd, int events);
|
|
int iowatcher_del_event(hloop_t* loop, int fd, int events);
|
|
int iowatcher_poll_events(hloop_t* loop, int timeout);
|
|
|
|
#endif
|