| 1 | 
/* RCSid $Id: selcall.h,v 3.10 2003/07/14 22:23:59 schorsch Exp $ */ | 
| 2 | 
/* | 
| 3 | 
 * header file for select call compatibility | 
| 4 | 
 */ | 
| 5 | 
#ifndef _RAD_SELCALL_H_ | 
| 6 | 
#define _RAD_SELCALL_H_ | 
| 7 | 
 | 
| 8 | 
#include <string.h> | 
| 9 | 
#include <sys/types.h> | 
| 10 | 
#if defined(_WIN32) || defined(_WIN64) | 
| 11 | 
  /*#include <winsock2.h>*/ | 
| 12 | 
#else | 
| 13 | 
  #include <sys/time.h> | 
| 14 | 
#endif | 
| 15 | 
#ifdef INCL_SEL_H | 
| 16 | 
#include <sys/select.h> | 
| 17 | 
#endif | 
| 18 | 
 | 
| 19 | 
#ifndef FD_SETSIZE | 
| 20 | 
#if defined(_WIN32) || defined(_WIN64) | 
| 21 | 
#else | 
| 22 | 
  #include <sys/param.h> | 
| 23 | 
#endif | 
| 24 | 
#define FD_SETSIZE      NOFILE          /* maximum # select file descriptors */ | 
| 25 | 
#endif | 
| 26 | 
#ifndef FD_SET | 
| 27 | 
#ifndef NFDBITS | 
| 28 | 
#define NFDBITS         (8*sizeof(int)) /* number of bits per fd_mask */ | 
| 29 | 
#endif | 
| 30 | 
#define FD_SET(n, p)    ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS))) | 
| 31 | 
#define FD_CLR(n, p)    ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS))) | 
| 32 | 
#define FD_ISSET(n, p)  ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS))) | 
| 33 | 
#define FD_ZERO(p)      memset((char *)(p), 0, sizeof(*(p))) | 
| 34 | 
#endif | 
| 35 | 
 | 
| 36 | 
#ifdef __cplusplus | 
| 37 | 
extern "C" { | 
| 38 | 
#endif | 
| 39 | 
 | 
| 40 | 
/* nothing yet */ | 
| 41 | 
 | 
| 42 | 
#ifdef __cplusplus | 
| 43 | 
} | 
| 44 | 
#endif | 
| 45 | 
#endif /* _RAD_SELCALL_H_ */ |