FreeTDS API
poll.h
Go to the documentation of this file.
1 
5 #if !defined(_tdsguard_g3Yr0q7NdWY6GI4uTB9PNx_) && !defined(HAVE_POLL)
6 #define _tdsguard_g3Yr0q7NdWY6GI4uTB9PNx_
7 
8 #include <freetds/pushvis.h>
9 
10 #ifndef _WIN32
11 /* poll flags */
12 # define POLLIN 0x0001
13 # define POLLOUT 0x0004
14 # define POLLERR 0x0008
15 
16 /* synonyms */
17 # define POLLNORM POLLIN
18 # define POLLPRI POLLIN
19 # define POLLRDNORM POLLIN
20 # define POLLRDBAND POLLIN
21 # define POLLWRNORM POLLOUT
22 # define POLLWRBAND POLLOUT
23 
24 /* ignored */
25 # define POLLHUP 0x0010
26 # define POLLNVAL 0x0020
27 typedef struct pollfd {
28  int fd; /* file descriptor to poll */
29  short events; /* events of interest on fd */
30  short revents; /* events that occurred on fd */
31 } pollfd_t;
32 
33 #else /* Windows */
34 /*
35  * Windows use different constants than Unix
36  * Newer version have a WSAPoll which is equal to Unix poll
37  */
38 # if !defined(POLLRDNORM) && !defined(POLLWRNORM)
39 # define POLLIN 0x0300
40 # define POLLOUT 0x0010
41 # define POLLERR 0x0001
42 # define POLLHUP 0x0002
43 # define POLLNVAL 0x0004
44 # define POLLRDNORM 0x0100
45 # define POLLWRNORM 0x0010
46 typedef struct pollfd {
47  SOCKET fd; /* file descriptor to poll */
48  short events; /* events of interest on fd */
49  short revents; /* events that occurred on fd */
50 } pollfd_t;
51 # else
52 typedef struct pollfd pollfd_t;
53 # endif
54 #endif
55 
56 #undef poll
57 int tds_poll(struct pollfd fds[], size_t nfds, int timeout);
58 #define poll(fds, nfds, timeout) tds_poll(fds, nfds, timeout)
59 
60 #include <freetds/popvis.h>
61 
62 #endif
Definition: poll.h:27