79 * These events will never be specified in revents, but may be specified in
80 * events to control /dev/poll behavior.
81 */
82 #define POLLREMOVE 0x0800 /* remove cached /dev/poll fd */
83 #define POLLONESHOT 0x1000 /* /dev/poll should one-shot this fd */
84 #define POLLET 0x2000 /* edge-triggered /dev/poll fd */
85
86 #ifdef _KERNEL
87
88 /*
89 * Additional private poll flags supported only by strpoll().
90 * Must be bit-wise distinct from the above POLL flags.
91 */
92 #define POLLRDDATA 0x0200 /* Wait for M_DATA; ignore M_PROTO only msgs */
93 #define POLLNOERR 0x0400 /* Ignore POLLERR conditions */
94
95 #define POLLCLOSED 0x8000 /* a (cached) poll fd has been closed */
96
97 #endif /* _KERNEL */
98
99 #if defined(_KERNEL) || defined(_KMEMUSER)
100
101 #include <sys/thread.h>
102
103 /*
104 * XXX We are forced to use a forward reference here because including
105 * file.h here will break i386 build. The real solution is to fix the
106 * broken parts in usr/src/stand/lib/fs.
107 */
108 struct fpollinfo;
109
110 /*
111 * Poll list head structure. A pointer to this is passed to
112 * pollwakeup() from the caller indicating an event has occurred.
113 * Only the ph_list field is used, but for DDI compliance, we can't
114 * change the size of the structure.
115 */
116 typedef struct pollhead {
117 struct polldat *ph_list; /* list of pollers */
118 void *ph_pad1; /* unused -- see above */
119 short ph_pad2; /* unused -- see above */
|
79 * These events will never be specified in revents, but may be specified in
80 * events to control /dev/poll behavior.
81 */
82 #define POLLREMOVE 0x0800 /* remove cached /dev/poll fd */
83 #define POLLONESHOT 0x1000 /* /dev/poll should one-shot this fd */
84 #define POLLET 0x2000 /* edge-triggered /dev/poll fd */
85
86 #ifdef _KERNEL
87
88 /*
89 * Additional private poll flags supported only by strpoll().
90 * Must be bit-wise distinct from the above POLL flags.
91 */
92 #define POLLRDDATA 0x0200 /* Wait for M_DATA; ignore M_PROTO only msgs */
93 #define POLLNOERR 0x0400 /* Ignore POLLERR conditions */
94
95 #define POLLCLOSED 0x8000 /* a (cached) poll fd has been closed */
96
97 #endif /* _KERNEL */
98
99 #if defined(_KERNEL) || defined(_FAKE_KERNEL) || defined(_KMEMUSER)
100
101 #include <sys/thread.h>
102
103 /*
104 * XXX We are forced to use a forward reference here because including
105 * file.h here will break i386 build. The real solution is to fix the
106 * broken parts in usr/src/stand/lib/fs.
107 */
108 struct fpollinfo;
109
110 /*
111 * Poll list head structure. A pointer to this is passed to
112 * pollwakeup() from the caller indicating an event has occurred.
113 * Only the ph_list field is used, but for DDI compliance, we can't
114 * change the size of the structure.
115 */
116 typedef struct pollhead {
117 struct polldat *ph_list; /* list of pollers */
118 void *ph_pad1; /* unused -- see above */
119 short ph_pad2; /* unused -- see above */
|