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 0x0001 7 #define POLLPRI 0x0002 8 #define POLLOUT 0x0004 9 #define POLLERR 0x0008 10 #define POLLHUP 0x0010 11 #define POLLNVAL 0x0020 12 13 /* The rest seem to be more-or-less nonstandard. Check them! */ 14 #define POLLRDNORM 0x0040 15 #define POLLRDBAND 0x0080 16 #ifndef POLLWRNORM 17 #define POLLWRNORM 0x0100 18 #endif 19 #ifndef POLLWRBAND 20 #define POLLWRBAND 0x0200 21 #endif 22 #ifndef POLLMSG 23 #define POLLMSG 0x0400 24 #endif 25 #ifndef POLLREMOVE 26 #define POLLREMOVE 0x1000 27 #endif 28 #ifndef POLLRDHUP 29 #define POLLRDHUP 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