1 /* $NetBSD: ntp_select.h,v 1.1.1.1 2009/12/13 16:54:53 kardel Exp $ */ 2 3 /* 4 * Not all machines define FD_SET in sys/types.h 5 */ 6 #ifndef NTP_SELECT_H 7 #define NTP_SELECT_H 8 9 /* Was: (defined(RS6000)||defined(SYS_PTX))&&!defined(_BSD) */ 10 /* Could say: !defined(FD_SET) && defined(HAVE_SYS_SELECT_H) */ 11 #if defined(HAVE_SYS_SELECT_H) && !defined(_BSD) 12 #ifndef SYS_VXWORKS 13 #include <sys/select.h> 14 #else 15 #include <sockLib.h> 16 extern int select (int width, fd_set *pReadFds, fd_set *pWriteFds, 17 fd_set *pExceptFds, struct timeval *pTimeOut); 18 19 #endif 20 #endif 21 22 #if !defined(FD_SET) 23 #define NFDBITS 32 24 #define FD_SETSIZE 32 25 #define FD_SET(n, p) ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS))) 26 #define FD_CLR(n, p) ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS))) 27 #define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS))) 28 #define FD_ZERO(p) memset((char *)(p), 0, sizeof(*(p))) 29 #endif 30 31 #if defined(VMS) 32 typedef struct { 33 unsigned int fds_bits[1]; 34 } fd_set; 35 #endif 36 37 #ifdef SYS_WINNT 38 /* ports/winnt/libntp/setpriority.c */ 39 extern void InitSockets(void); 40 #endif 41 42 #endif /* NTP_SELECT_H */ 43