1 #pragma once 2 3 #ifdef __cplusplus 4 extern "C" { 5 #endif 6 7 #include <features.h> 8 9 #include <bits/poll.h> 10 11 #define POLLIN 0x001 12 #define POLLPRI 0x002 13 #define POLLOUT 0x004 14 #define POLLERR 0x008 15 #define POLLHUP 0x010 16 #define POLLNVAL 0x020 17 #define POLLRDNORM 0x040 18 #define POLLRDBAND 0x080 19 #ifndef POLLWRNORM 20 #define POLLWRNORM 0x100 21 #define POLLWRBAND 0x200 22 #endif 23 #ifndef POLLMSG 24 #define POLLMSG 0x400 25 #define POLLRDHUP 0x2000 26 #endif 27 28 typedef unsigned long nfds_t; 29 30 struct pollfd { 31 int fd; 32 short events; 33 short revents; 34 }; 35 36 int poll(struct pollfd*, nfds_t, int); 37 38 #ifdef _GNU_SOURCE 39 #define __NEED_time_t 40 #define __NEED_struct_timespec 41 #define __NEED_sigset_t 42 #include <bits/alltypes.h> 43 int ppoll(struct pollfd*, nfds_t, const struct timespec*, const sigset_t*); 44 #endif 45 46 #ifdef __cplusplus 47 } 48 #endif 49