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
36struct pollfd {
37 int fd;
38 short events;
39 short revents;
40};
41
42#endif /* __ASM_GENERIC_POLL_H */
43