jabberd2  2.3.4
Macros
mio_epoll.h File Reference
#include <sys/epoll.h>

Go to the source code of this file.

Macros

#define MIO_FUNCS
 
#define MIO_FD_VARS   uint32_t events;
 
#define MIO_VARS
 
#define MIO_INIT_VARS(m)
 
#define MIO_FREE_VARS(m)
 
#define MIO_ALLOC_FD(m, rfd)   _mio_alloc_fd(m, rfd)
 
#define MIO_FREE_FD(m, mfd)   if(mfd)free(mfd)
 
#define MIO_REMOVE_FD(m, mfd)
 
#define MIO_CHECK(m, t)   _mio_poll(m, t)
 
#define MIO_SET_READ(m, mfd)
 
#define MIO_SET_WRITE(m, mfd)
 
#define MIO_UNSET_READ(m, mfd)
 
#define MIO_UNSET_WRITE(m, mfd)
 
#define MIO_CAN_READ(m, iter)   (MIO(m)->res_event[iter].events & (EPOLLIN|EPOLLERR|EPOLLHUP))
 
#define MIO_CAN_WRITE(m, iter)   (MIO(m)->res_event[iter].events & EPOLLOUT)
 
#define MIO_CAN_FREE(m)   (!MIO(m)->defer_free)
 
#define MIO_INIT_ITERATOR(iter)   int iter
 
#define MIO_ITERATE_RESULTS(m, retval, iter)   for(MIO(m)->defer_free = 1, iter = 0; (iter < retval) || ((MIO(m)->defer_free = 0)); iter++)
 
#define MIO_ITERATOR_FD(m, iter)   (MIO(m)->res_event[iter].data.ptr)
 

Macro Definition Documentation

#define MIO_FUNCS

Definition at line 25 of file mio_epoll.h.

#define MIO_FD_VARS   uint32_t events;

Definition at line 50 of file mio_epoll.h.

#define MIO_VARS
Value:
int defer_free; \
int epoll_fd; \
struct epoll_event res_event[32];

Definition at line 53 of file mio_epoll.h.

#define MIO_INIT_VARS (   m)
Value:
do { \
MIO(m)->defer_free = 0; \
if ((MIO(m)->epoll_fd = epoll_create(maxfd)) < 0) \
{ \
mio_debug(ZONE,"unable to initialize epoll mio"); \
free(m); \
return NULL; \
} \
} while(0)
#define mio_debug
Definition: mio_impl.h:80
#define MIO(m)
Definition: mio_impl.h:71
#define ZONE
Definition: mio_impl.h:76

Definition at line 58 of file mio_epoll.h.

Referenced by _mio_new().

#define MIO_FREE_VARS (   m)
Value:
do { \
close(MIO(m)->epoll_fd); \
} while(0)
#define MIO(m)
Definition: mio_impl.h:71

Definition at line 69 of file mio_epoll.h.

Referenced by _mio_free().

#define MIO_ALLOC_FD (   m,
  rfd 
)    _mio_alloc_fd(m, rfd)

Definition at line 75 of file mio_epoll.h.

Referenced by _mio_setup_fd().

#define MIO_FREE_FD (   m,
  mfd 
)    if(mfd)free(mfd)

Definition at line 76 of file mio_epoll.h.

Referenced by _mio_accept(), _mio_close(), and _mio_run().

#define MIO_REMOVE_FD (   m,
  mfd 
)
Value:
do { \
struct epoll_event event; \
event.events = 0; \
event.data.u64 = 0; \
event.data.ptr = mfd; \
epoll_ctl(MIO(m)->epoll_fd, EPOLL_CTL_DEL, \
mfd->mio_fd.fd, &event); \
} while (0)
#define MIO(m)
Definition: mio_impl.h:71

Definition at line 78 of file mio_epoll.h.

Referenced by _mio_accept(), and _mio_close().

#define MIO_CHECK (   m,
 
)    _mio_poll(m, t)

Definition at line 88 of file mio_epoll.h.

Referenced by _mio_run().

#define MIO_SET_READ (   m,
  mfd 
)

Definition at line 90 of file mio_epoll.h.

Referenced by _mio_read().

#define MIO_SET_WRITE (   m,
  mfd 
)

Definition at line 104 of file mio_epoll.h.

Referenced by _mio_connect(), and _mio_write().

#define MIO_UNSET_READ (   m,
  mfd 
)

Definition at line 118 of file mio_epoll.h.

Referenced by _mio_run().

#define MIO_UNSET_WRITE (   m,
  mfd 
)

Definition at line 132 of file mio_epoll.h.

Referenced by _mio__connect(), and _mio_run().

#define MIO_CAN_READ (   m,
  iter 
)    (MIO(m)->res_event[iter].events & (EPOLLIN|EPOLLERR|EPOLLHUP))

Definition at line 147 of file mio_epoll.h.

Referenced by _mio_run().

#define MIO_CAN_WRITE (   m,
  iter 
)    (MIO(m)->res_event[iter].events & EPOLLOUT)

Definition at line 150 of file mio_epoll.h.

Referenced by _mio_run().

#define MIO_CAN_FREE (   m)    (!MIO(m)->defer_free)

Definition at line 153 of file mio_epoll.h.

Referenced by _mio_close().

#define MIO_INIT_ITERATOR (   iter)    int iter

Definition at line 155 of file mio_epoll.h.

Referenced by _mio_run().

#define MIO_ITERATE_RESULTS (   m,
  retval,
  iter 
)    for(MIO(m)->defer_free = 1, iter = 0; (iter < retval) || ((MIO(m)->defer_free = 0)); iter++)

Definition at line 158 of file mio_epoll.h.

Referenced by _mio_run().

#define MIO_ITERATOR_FD (   m,
  iter 
)    (MIO(m)->res_event[iter].data.ptr)

Definition at line 161 of file mio_epoll.h.

Referenced by _mio_run().