fab30d1f07dcbdca93e4a43b82f724710822cbfc
[m6w6/libmemcached] / src / libmemcached / poll.h
1 /*
2 +--------------------------------------------------------------------+
3 | libmemcached - C/C++ Client Library for memcached |
4 +--------------------------------------------------------------------+
5 | Redistribution and use in source and binary forms, with or without |
6 | modification, are permitted under the terms of the BSD license. |
7 | You should have received a copy of the license in a bundled file |
8 | named LICENSE; in case you did not receive a copy you can review |
9 | the terms online at: https://opensource.org/licenses/BSD-3-Clause |
10 +--------------------------------------------------------------------+
11 | Copyright (c) 2006-2014 Brian Aker https://datadifferential.com/ |
12 | Copyright (c) 2020 Michael Wallner <mike@php.net> |
13 +--------------------------------------------------------------------+
14 */
15
16 #pragma once
17
18 #if defined(_WIN32)
19
20 # include <winsock2.h>
21
22 # ifdef __cplusplus
23 extern "C" {
24 # endif
25
26 typedef struct pollfd {
27 # if defined(_WIN32)
28 SOCKET fd;
29 # else
30 int fd;
31 # endif
32 short events;
33 short revents;
34 } pollfd_t;
35
36 typedef int nfds_t;
37
38 # define POLLIN 0x0001
39 # define POLLOUT 0x0004
40 # define POLLERR 0x0008
41 # define POLLHUP 0x010 /* Hung up. */
42 # define POLLNVAL 0x020 /* Invalid polling request. */
43
44 int poll(struct pollfd fds[], nfds_t nfds, int tmo);
45
46 # ifdef __cplusplus
47 }
48 # endif
49
50 #endif // defined(_WIN32)