1 /* port.h - portability defines */ 2 3 #if defined(__FreeBSD__) 4 # define OS_FreeBSD 5 # define ARCH "FreeBSD" 6 #elif defined(__OpenBSD__) 7 # define OS_OpenBSD 8 # define ARCH "OpenBSD" 9 #elif defined(__NetBSD__) 10 # define OS_NetBSD 11 # define ARCH "NetBSD" 12 #elif defined(linux) 13 # define OS_Linux 14 # define ARCH "Linux" 15 #elif defined(sun) 16 # define OS_Solaris 17 # define ARCH "Solaris" 18 #elif defined(__osf__) 19 # define OS_DigitalUnix 20 # define ARCH "DigitalUnix" 21 #elif defined(__svr4__) 22 # define OS_SysV 23 # define ARCH "SysV" 24 #else 25 # define OS_UNKNOWN 26 # define ARCH "UNKNOWN" 27 #endif 28 29 #ifdef OS_FreeBSD 30 # include <osreldate.h> 31 # define HAVE_DAEMON 32 # define HAVE_SETSID 33 # define HAVE_SETLOGIN 34 # define HAVE_WAITPID 35 # define HAVE_HSTRERROR 36 # define HAVE_TM_GMTOFF 37 # define HAVE_SENDFILE 38 # define HAVE_SCANDIR 39 # define HAVE_INT64T 40 # ifdef SO_ACCEPTFILTER 41 # define HAVE_ACCEPT_FILTERS 42 # if ( __FreeBSD_version >= 411000 ) 43 # define ACCEPT_FILTER_NAME "httpready" 44 # else 45 # define ACCEPT_FILTER_NAME "dataready" 46 # endif 47 # endif /* SO_ACCEPTFILTER */ 48 #endif /* OS_FreeBSD */ 49 50 #ifdef OS_OpenBSD 51 # define HAVE_DAEMON 52 # define HAVE_SETSID 53 # define HAVE_SETLOGIN 54 # define HAVE_WAITPID 55 # define HAVE_HSTRERROR 56 # define HAVE_TM_GMTOFF 57 # define HAVE_SCANDIR 58 # define HAVE_INT64T 59 #endif /* OS_OpenBSD */ 60 61 #ifdef OS_NetBSD 62 # define HAVE_DAEMON 63 # define HAVE_SETSID 64 # define HAVE_SETLOGIN 65 # define HAVE_WAITPID 66 # define HAVE_HSTRERROR 67 # define HAVE_TM_GMTOFF 68 # define HAVE_SCANDIR 69 # define HAVE_INT64T 70 #endif /* OS_NetBSD */ 71 72 #ifdef OS_Linux 73 # define HAVE_DAEMON 74 # define HAVE_SETSID 75 # define HAVE_WAITPID 76 # define HAVE_TM_GMTOFF 77 # define HAVE_SENDFILE 78 # define HAVE_LINUX_SENDFILE 79 # define HAVE_SCANDIR 80 # define HAVE_INT64T 81 #endif /* OS_Linux */ 82 83 #ifdef OS_Solaris 84 # define HAVE_SETSID 85 # define HAVE_WAITPID 86 # define HAVE_MEMORY_H 87 # define HAVE_SIGSET 88 # define HAVE_INT64T 89 #endif /* OS_Solaris */ 90 91 #ifdef OS_DigitalUnix 92 # define HAVE_SETSID 93 # define HAVE_SETLOGIN 94 # define HAVE_WAITPID 95 # define HAVE_SCANDIR 96 # define HAVE_TM_GMTOFF 97 # define NO_SNPRINTF 98 /* # define HAVE_INT64T */ /* Digital Unix 4.0d doesn't have int64_t */ 99 #endif /* OS_DigitalUnix */ 100 101 #ifdef OS_SysV 102 # define HAVE_SETSID 103 # define HAVE_WAITPID 104 # define HAVE_MEMORY_H 105 # define HAVE_SIGSET 106 #endif /* OS_Solaris */ 107