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