1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 #ifndef __ASM_GENERIC_POLL_H 3 #define __ASM_GENERIC_POLL_H 4 5 /* These are specified by iBCS2 */ 6 #define POLLIN (__force __poll_t)0x0001 7 #define POLLPRI (__force __poll_t)0x0002 8 #define POLLOUT (__force __poll_t)0x0004 9 #define POLLERR (__force __poll_t)0x0008 10 #define POLLHUP (__force __poll_t)0x0010 11 #define POLLNVAL (__force __poll_t)0x0020 12 13 /* The rest seem to be more-or-less nonstandard. Check them! */ 14 #define POLLRDNORM (__force __poll_t)0x0040 15 #define POLLRDBAND (__force __poll_t)0x0080 16 #ifndef POLLWRNORM 17 #define POLLWRNORM (__force __poll_t)0x0100 18 #endif 19 #ifndef POLLWRBAND 20 #define POLLWRBAND (__force __poll_t)0x0200 21 #endif 22 #ifndef POLLMSG 23 #define POLLMSG (__force __poll_t)0x0400 24 #endif 25 #ifndef POLLREMOVE 26 #define POLLREMOVE (__force __poll_t)0x1000 27 #endif 28 #ifndef POLLRDHUP 29 #define POLLRDHUP (__force __poll_t)0x2000 30 #endif 31 32 #define POLLFREE (__force __poll_t)0x4000 /* currently only for epoll */ 33 34 #define POLL_BUSY_LOOP (__force __poll_t)0x8000 35 36 struct pollfd { 37 int fd; 38 short events; 39 short revents; 40 }; 41 42 #endif /* __ASM_GENERIC_POLL_H */ 43