summaryrefslogtreecommitdiff
path: root/include/ntp_select.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/ntp_select.h')
-rw-r--r--include/ntp_select.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/include/ntp_select.h b/include/ntp_select.h
new file mode 100644
index 0000000000000..2c0fbeec980f7
--- /dev/null
+++ b/include/ntp_select.h
@@ -0,0 +1,35 @@
+/*
+ * Not all machines define FD_SET in sys/types.h
+ */
+#ifndef NTP_SELECT_H
+#define NTP_SELECT_H /* note: tested by include/l_stdlib.h */
+
+/* Was: (defined(RS6000)||defined(SYS_PTX))&&!defined(_BSD) */
+/* Could say: !defined(FD_SET) && defined(HAVE_SYS_SELECT_H) */
+/* except FD_SET can legitimately be a typedef... */
+#if defined(HAVE_SYS_SELECT_H) && !defined(_BSD)
+# ifndef SYS_VXWORKS
+# include <sys/select.h>
+# else
+# include <sockLib.h>
+extern int select(int width, fd_set *pReadFds, fd_set *pWriteFds,
+ fd_set *pExceptFds, struct timeval *pTimeOut);
+# endif
+#endif
+
+#if !defined(FD_SET)
+# define NFDBITS 32
+# define FD_SETSIZE 32
+# define FD_SET(n, p) ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS)))
+# define FD_CLR(n, p) ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))
+# define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS)))
+# define FD_ZERO(p) memset((p), 0, sizeof(*(p)))
+#endif
+
+#if defined(VMS)
+typedef struct {
+ unsigned int fds_bits[1];
+} fd_set;
+#endif
+
+#endif /* NTP_SELECT_H */