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