summaryrefslogtreecommitdiff
path: root/sys/include/ape/select.h
diff options
context:
space:
mode:
authorTaru Karttunen <taruti@taruti.net>2011-03-30 16:47:56 +0300
committerTaru Karttunen <taruti@taruti.net>2011-03-30 16:47:56 +0300
commitc558a99e0be506a9abdf677f0ca4490644e05fc1 (patch)
tree17aef678ad05a32ef96ce8385703cb3fe089a5c7 /sys/include/ape/select.h
parente5888a1ffdae813d7575f5fb02275c6bb07e5199 (diff)
Import sources from 2011-03-30 iso image - sys/include
Diffstat (limited to 'sys/include/ape/select.h')
-rwxr-xr-xsys/include/ape/select.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/sys/include/ape/select.h b/sys/include/ape/select.h
new file mode 100755
index 000000000..1f60632fb
--- /dev/null
+++ b/sys/include/ape/select.h
@@ -0,0 +1,34 @@
+#ifndef __SELECT_H
+#define __SELECT_H
+#ifndef _BSD_EXTENSION
+ This header file is an extension to ANSI/POSIX
+#endif
+#pragma lib "/$M/lib/ape/libap.a"
+
+#ifndef _FD_SET_T
+#define _FD_SET_T
+/* BSD select, and adjunct types and macros */
+
+/* assume 96 fds is sufficient for fdset size */
+
+typedef struct fd_set {
+ long fds_bits[3];
+} fd_set;
+
+#define FD_SET(n,p) ((p)->fds_bits[(n)>>5] |= (1 << ((n) &0x1f)))
+#define FD_CLR(n,p) ((p)->fds_bits[(n)>>5] &= ~(1 << ((n) &0x1f)))
+#define FD_ISSET(n,p) ((p)->fds_bits[(n)>>5] & (1 << ((n) &0x1f)))
+#define FD_ZERO(p) ((p)->fds_bits[0] =0, (p)->fds_bits[1] =0, (p)->fds_bits[2] =0)
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern int select(int, fd_set*, fd_set*, fd_set*, struct timeval *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif