19#ifndef WINPR_LIBWINPR_SYNCH_POLLSET_H_
20#define WINPR_LIBWINPR_SYNCH_POLLSET_H_
22#include <winpr/wtypes.h>
23#include <winpr/synch.h>
25#include <winpr/config.h>
29#ifdef WINPR_HAVE_POLL_H
32#include <sys/select.h>
43#ifdef WINPR_HAVE_POLL_H
44 struct pollfd* pollset;
45 struct pollfd staticSet[MAXIMUM_WAIT_OBJECTS];
62BOOL pollset_init(WINPR_POLL_SET* set,
size_t nhandles);
63void pollset_uninit(WINPR_POLL_SET* set);
64void pollset_reset(WINPR_POLL_SET* set);
65BOOL pollset_add(WINPR_POLL_SET* set,
int fd, ULONG mode);
66int pollset_poll(WINPR_POLL_SET* set, DWORD dwMilliseconds);
68BOOL pollset_isSignaled(WINPR_POLL_SET* set,
size_t idx);
69BOOL pollset_isReadSignaled(WINPR_POLL_SET* set,
size_t idx);
70BOOL pollset_isWriteSignaled(WINPR_POLL_SET* set,
size_t idx);