Apache2
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
apr_private.h
Go to the documentation of this file.
1 /* Licensed to the Apache Software Foundation (ASF) under one or more
2  * contributor license agreements. See the NOTICE file distributed with
3  * this work for additional information regarding copyright ownership.
4  * The ASF licenses this file to You under the Apache License, Version 2.0
5  * (the "License"); you may not use this file except in compliance with
6  * the License. You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 /*
18  * Note:
19  * This is the win32-specific autoconf-like config file
20  * which unix creates at ./configure time.
21  */
22 
23 #ifndef APR_PRIVATE_H
24 #define APR_PRIVATE_H
25 
26 /* Pick up publicly advertised headers and symbols before the
27  * APR internal private headers and symbols
28  */
29 #include <apr.h>
30 
31 /*
32  * Add a _very_few_ declarations missing from the restricted set of headers
33  * (If this list becomes extensive, re-enable the required headers in apr.hw!)
34  * ACL headers were excluded by default, so include them now.
35  */
36 #ifndef SW_HIDE
37 #define SW_HIDE 0
38 #endif
39 
40 /* For the misc.h late-loaded dynamic symbols, we need some obscure types
41  * Avoid dragging in wtypes.h unless it's absolutely necessary [generally
42  * not with APR itself, until some GUI-related security is introduced.]
43  */
44 #ifndef _WIN32_WCE
45 #define HAVE_ACLAPI 1
46 #ifdef __wtypes_h__
47 #include <accctrl.h>
48 #else
49 #define __wtypes_h__
50 #include <accctrl.h>
51 #undef __wtypes_h__
52 #endif
53 #else
54 #define HAVE_ACLAPI 0
55 #endif
56 
57 /* Use this section to define all of the HAVE_FOO_H
58  * that are required to build properly.
59  */
60 #define HAVE_LIMITS_H 1
61 #define HAVE_MALLOC_H 1
62 #define HAVE_PROCESS_H APR_NOT_IN_WCE
63 #define HAVE_SIGNAL_H 1
64 #define HAVE_STDDEF_H APR_NOT_IN_WCE
65 #define HAVE_STDLIB_H 1
66 
67 #define HAVE_STRICMP 1
68 #define HAVE_STRNICMP 1
69 #define HAVE_STRDUP 1
70 #define HAVE_STRSTR 1
71 #define HAVE_MEMCHR 1
72 
73 #ifndef __WATCOMC__
74 #define SIGHUP 1
75 /* 2 is used for SIGINT on windows */
76 #define SIGQUIT 3
77 /* 4 is used for SIGILL on windows */
78 #define SIGTRAP 5
79 #define SIGIOT 6
80 #define SIGBUS 7
81 /* 8 is used for SIGFPE on windows */
82 #define SIGKILL 9
83 #define SIGUSR1 10
84 /* 11 is used for SIGSEGV on windows */
85 #define SIGUSR2 12
86 #endif
87 #define SIGPIPE 13
88 #define SIGALRM 14
89 /* 15 is used for SIGTERM on windows */
90 #define SIGSTKFLT 16
91 #define SIGCHLD 17
92 #define SIGCONT 18
93 #define SIGSTOP 19
94 #define SIGTSTP 20
95 /* 21 is used for SIGBREAK on windows */
96 /* 22 is used for SIGABRT on windows */
97 #define SIGTTIN 23
98 #define SIGTTOU 24
99 #define SIGURG 25
100 #define SIGXCPU 26
101 #define SIGXFSZ 27
102 #define SIGVTALRM 28
103 #define SIGPROF 29
104 #define SIGWINCH 30
105 #define SIGIO 31
106 
107 /* APR COMPATABILITY FUNCTIONS
108  * This section should be used to define functions and
109  * macros which are need to make Windows features look
110  * like POSIX features.
111  */
112 typedef void (Sigfunc)(int);
113 
114 #define sleep(t) Sleep((t) * 1000)
115 /* For now workaround for Watcom'S lack of _commit() */
116 #ifdef __WATCOMC__
117 #define _commit fsync
118 #endif
119 
120 #define SIZEOF_SHORT 2
121 #define SIZEOF_INT 4
122 #define SIZEOF_LONGLONG 8
123 #define SIZEOF_CHAR 1
124 #define SIZEOF_SSIZE_T SIZEOF_INT
125 
126 unsigned __stdcall SignalHandling(void *);
127 int thread_ready(void);
128 
129 #if !APR_HAVE_ERRNO_H
131 #define ENOSPC 1
132 #endif
133 
134 #if APR_HAVE_IPV6
135 #define HAVE_GETADDRINFO 1
136 #define HAVE_GETNAMEINFO 1
137 #define HAVE_IF_INDEXTONAME 1
138 #define HAVE_IF_NAMETOINDEX 1
139 #endif
140 
141 /* MSVC 7.0 introduced _strtoi64 */
142 #if _MSC_VER >= 1300 && _INTEGRAL_MAX_BITS >= 64 && !defined(_WIN32_WCE)
143 #define APR_INT64_STRFN _strtoi64
144 #endif
145 
146 #if APR_HAS_LARGE_FILES
147 #ifdef APR_INT64_STRFN
148 #define APR_OFF_T_STRFN APR_INT64_STRFN
149 #else
150 #define APR_OFF_T_STRFN apr_strtoi64
151 #endif
152 #else
153 #if defined(_WIN32_WCE)
154 #define APR_OFF_T_STRFN strtol
155 #else
156 #define APR_OFF_T_STRFN strtoi
157 #endif
158 #endif
159 
160 /* used to check for DWORD overflow in 64bit compiles */
161 #define APR_DWORD_MAX 0xFFFFFFFFUL
162 
163 /* Compile win32 with DSO support for .dll builds
164  * Pair the static xml build for static apr-2.lib
165  */
166 #ifdef APR_DECLARE_STATIC
167 #define APU_DSO_BUILD 0
168 #define XML_STATIC 1
169 #else
170 #define APU_DSO_BUILD 1
171 #endif
172 
173 /* Presume a standard, modern (5.x) mysql sdk */
174 #define HAVE_MY_GLOBAL_H 1
175 
176 /* my_sys.h is broken on VC/Win32, and apparently not required */
177 /* #undef HAVE_MY_SYS_H 0 */
178 
179 /* Windows ODBC sql.h is always present */
180 #define HAVE_SQL_H 1
181 
182 #define HAVE_ICONV_H 1
183 
184 /*
185  * Windows does not have GDBM, and we always use the bundled (new) Expat
186  */
187 
188 /* Define if you have the gdbm library (-lgdbm). */
189 /* #undef HAVE_LIBGDBM */
190 
191 /* define if Expat 1.0 or 1.1 was found */
192 /* #undef APR_HAVE_OLD_EXPAT */
193 
194 #ifdef HAVE_PROCESS_H
195 #include <process.h>
196 #endif
197 
198 #endif /*APR_PRIVATE_H*/
void( Sigfunc)(int)
Definition: apr_private.h:112
unsigned __stdcall SignalHandling(void *)
int
Definition: mod_proxy.h:626
#define APR_DECLARE_DATA
Definition: macros.h:17
APR Platform Definitions.
APR_DECLARE_DATA int errno
Definition: apr_private.h:130
int thread_ready(void)
typedef void(APR_THREAD_FUNC *PFN_HSE_IO_COMPLETION)(EXTENSION_CONTROL_BLOCK *ecb