aboutsummaryrefslogtreecommitdiff
path: root/system/include/libc/poll.h
diff options
context:
space:
mode:
Diffstat (limited to 'system/include/libc/poll.h')
-rw-r--r--system/include/libc/poll.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/system/include/libc/poll.h b/system/include/libc/poll.h
new file mode 100644
index 00000000..9a785307
--- /dev/null
+++ b/system/include/libc/poll.h
@@ -0,0 +1,46 @@
+#ifndef _POLL_H
+#define _POLL_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <features.h>
+
+#define POLLIN 0x001
+#define POLLPRI 0x002
+#define POLLOUT 0x004
+#define POLLERR 0x008
+#define POLLHUP 0x010
+#define POLLNVAL 0x020
+#define POLLRDNORM 0x040
+#define POLLRDBAND 0x080
+#define POLLWRNORM 0x100
+#define POLLWRBAND 0x200
+#define POLLMSG 0x400
+#define POLLRDHUP 0x2000
+
+typedef unsigned long nfds_t;
+
+struct pollfd
+{
+ int fd;
+ short events;
+ short revents;
+};
+
+int poll (struct pollfd *, nfds_t, int);
+
+#ifdef _GNU_SOURCE
+#define __NEED_time_t
+#define __NEED_struct_timespec
+#define __NEED_sigset_t
+#include <bits/alltypes.h>
+int ppoll(struct pollfd *, nfds_t, const struct timespec *, const sigset_t *);
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif