jabberd2
2.2.16
|
Go to the source code of this file.
Defines | |
#define | WM_MIO_EVENT (WM_APP + 100) |
#define | MIO_FUNCS |
#define | MIO_FD_VARS |
#define | MIO_VARS |
#define | MIO_INIT_VARS(m) |
#define | MIO_FREE_VARS(m) |
#define | MIO_ALLOC_FD(m, rfd) _mio_alloc_fd(MIO(m), rfd) |
#define | MIO_FREE_FD(m, mfd) _mio_free_fd(m, mfd) |
#define | MIO_DEQUEUE(m, mfd) |
#define | MIO_REMOVE_FD(m, mfd) MIO_DEQUEUE(m, mfd) |
#define | MIO_CHECK(m, t) _mio_select(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) (iter->revent & (FD_READ|FD_ACCEPT|FD_CONNECT|FD_CLOSE)) |
#define | MIO_CAN_WRITE(m, iter) ((iter->revent & FD_WRITE) || !(iter->revent & FD_READ) && (iter->revent & (FD_CONNECT|FD_CLOSE))) |
#define | MIO_CAN_FREE(m) (!MIO(m)->defer_free) |
#define | MIO_INIT_ITERATOR(iter) mio_priv_fd_t iter = NULL |
#define | MIO_ITERATE_RESULTS(m, retval, iter) for(MIO(m)->defer_free = 1, iter = MIO(m)->select_fd; iter || ((MIO(m)->defer_free = 0)); iter = _mio_peek(m)) |
#define | MIO_ITERATOR_FD(m, iter) (&iter->mio_fd) |
#define WM_MIO_EVENT (WM_APP + 100) |
Definition at line 26 of file mio_wsasync.h.
#define MIO_FUNCS |
Definition at line 28 of file mio_wsasync.h.
#define MIO_FD_VARS |
struct mio_priv_fd_st *next_free; \ long event; \ long revent; \ int idx;
Definition at line 82 of file mio_wsasync.h.
#define MIO_VARS |
HWND hwnd; \ UINT_PTR timer; \ int defer_free; \ int count; \ mio_priv_fd_t select_fd; \ mio_priv_fd_t fds; \ mio_priv_fd_t next_free;
Definition at line 88 of file mio_wsasync.h.
#define MIO_INIT_VARS | ( | m | ) |
Definition at line 97 of file mio_wsasync.h.
#define MIO_FREE_VARS | ( | m | ) |
Definition at line 142 of file mio_wsasync.h.
#define MIO_ALLOC_FD | ( | m, | |
rfd | |||
) | _mio_alloc_fd(MIO(m), rfd) |
Definition at line 148 of file mio_wsasync.h.
#define MIO_FREE_FD | ( | m, | |
mfd | |||
) | _mio_free_fd(m, mfd) |
Definition at line 149 of file mio_wsasync.h.
#define MIO_DEQUEUE | ( | m, | |
mfd | |||
) |
if(mfd->event) { \ MSG msg; \ WSAAsyncSelect(mfd->mio_fd.fd, MIO(m)->hwnd, WM_MIO_EVENT + mfd->idx, 0); \ while(PeekMessage(&msg, MIO(m)->hwnd, WM_MIO_EVENT + mfd->idx, WM_MIO_EVENT + mfd->idx, PM_REMOVE)); \ } \
Definition at line 151 of file mio_wsasync.h.
#define MIO_REMOVE_FD | ( | m, | |
mfd | |||
) | MIO_DEQUEUE(m, mfd) |
Definition at line 158 of file mio_wsasync.h.
#define MIO_CHECK | ( | m, | |
t | |||
) | _mio_select(m, t) |
Definition at line 160 of file mio_wsasync.h.
#define MIO_SET_READ | ( | m, | |
mfd | |||
) |
if(!(mfd->event & FD_READ)) { \ MIO_DEQUEUE(m, mfd); \ WSAAsyncSelect(mfd->mio_fd.fd, MIO(m)->hwnd, WM_MIO_EVENT + mfd->idx, (mfd->event |= FD_READ|FD_ACCEPT|FD_CONNECT|FD_CLOSE)); \ }
Definition at line 162 of file mio_wsasync.h.
#define MIO_SET_WRITE | ( | m, | |
mfd | |||
) |
if(!(mfd->event & FD_WRITE)) { \ MIO_DEQUEUE(m, mfd); \ WSAAsyncSelect(mfd->mio_fd.fd, MIO(m)->hwnd, WM_MIO_EVENT + mfd->idx, (mfd->event |= FD_WRITE|FD_CONNECT|FD_CLOSE)); \ }
Definition at line 167 of file mio_wsasync.h.
#define MIO_UNSET_READ | ( | m, | |
mfd | |||
) |
if(mfd->event & FD_READ) { \ mfd->event &= ~(FD_READ|FD_ACCEPT|FD_CONNECT|FD_CLOSE); \ if(mfd->event & FD_WRITE) \ mfd->event = FD_WRITE|FD_CONNECT|FD_CLOSE; \ MIO_DEQUEUE(m, mfd); \ WSAAsyncSelect(mfd->mio_fd.fd, MIO(m)->hwnd, WM_MIO_EVENT + mfd->idx, mfd->event); \ }
Definition at line 173 of file mio_wsasync.h.
#define MIO_UNSET_WRITE | ( | m, | |
mfd | |||
) |
if(mfd->event & FD_WRITE) { \ mfd->event &= ~FD_WRITE; \ if(!(mfd->event & FD_READ)) \ mfd->event = 0; \ MIO_DEQUEUE(m, mfd); \ WSAAsyncSelect(mfd->mio_fd.fd, MIO(m)->hwnd, WM_MIO_EVENT + mfd->idx, mfd->event); \ }
Definition at line 181 of file mio_wsasync.h.
#define MIO_CAN_READ | ( | m, | |
iter | |||
) | (iter->revent & (FD_READ|FD_ACCEPT|FD_CONNECT|FD_CLOSE)) |
Definition at line 190 of file mio_wsasync.h.
#define MIO_CAN_WRITE | ( | m, | |
iter | |||
) | ((iter->revent & FD_WRITE) || !(iter->revent & FD_READ) && (iter->revent & (FD_CONNECT|FD_CLOSE))) |
Definition at line 191 of file mio_wsasync.h.
#define MIO_CAN_FREE | ( | m | ) | (!MIO(m)->defer_free) |
Definition at line 192 of file mio_wsasync.h.
#define MIO_INIT_ITERATOR | ( | iter | ) | mio_priv_fd_t iter = NULL |
Definition at line 194 of file mio_wsasync.h.
#define MIO_ITERATE_RESULTS | ( | m, | |
retval, | |||
iter | |||
) | for(MIO(m)->defer_free = 1, iter = MIO(m)->select_fd; iter || ((MIO(m)->defer_free = 0)); iter = _mio_peek(m)) |
Definition at line 197 of file mio_wsasync.h.
#define MIO_ITERATOR_FD | ( | m, | |
iter | |||
) | (&iter->mio_fd) |
Definition at line 200 of file mio_wsasync.h.