xref: /linux/include/uapi/asm-generic/poll.h (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
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
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