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 windows specific autoconf-like config file 20 * which unix would create at build time. 21 */ 22 23 #ifdef WIN32 24 25 #ifndef APR_PRIVATE_H 26 #define APR_PRIVATE_H 27 28 /* Include the public APR symbols, include our idea of the 'right' 29 * subset of the Windows.h header. This saves us repetition. 30 */ 31 #include "apr.h" 32 33 /* 34 * Add a _very_few_ declarations missing from the restricted set of headers 35 * (If this list becomes extensive, re-enable the required headers above!) 36 * winsock headers were excluded by WIN32_LEAN_AND_MEAN, so include them now 37 */ 38 #ifndef SW_HIDE 39 #define SW_HIDE 0 40 #endif 41 42 /* For the misc.h late-loaded dynamic symbols, we need some obscure types 43 * Avoid dragging in wtypes.h unless it's absolutely necessary [generally 44 * not with APR itself, until some GUI-related security is introduced.] 45 */ 46 #ifndef _WIN32_WCE 47 #define HAVE_ACLAPI 1 48 #ifdef __wtypes_h__ 49 #include <accctrl.h> 50 #else 51 #define __wtypes_h__ 52 #include <accctrl.h> 53 #undef __wtypes_h__ 54 #endif 55 #else 56 #define HAVE_ACLAPI 0 57 #endif 58 59 #if APR_HAVE_SYS_TYPES_H 60 #include <sys/types.h> 61 #endif 62 #if APR_HAVE_STDDEF_H 63 #include <stddef.h> 64 #endif 65 #include <stdio.h> 66 #if APR_HAVE_TIME_H 67 #include <time.h> 68 #endif 69 70 /* Use this section to define all of the HAVE_FOO_H 71 * that are required to build properly. 72 */ 73 #define HAVE_LIMITS_H 1 74 #define HAVE_MALLOC_H 1 75 #define HAVE_SIGNAL_H 1 76 /* #define HAVE_STDDEF_H 1 why not? */ 77 #define HAVE_STDLIB_H 1 78 79 #define HAVE_STRICMP 1 80 #define HAVE_STRNICMP 1 81 #define HAVE_STRDUP 1 82 #define HAVE_STRSTR 1 83 #define HAVE_MEMCHR 1 84 85 #define SIGHUP 1 86 /* 2 is used for SIGINT on windows */ 87 #define SIGQUIT 3 88 /* 4 is used for SIGILL on windows */ 89 #define SIGTRAP 5 90 #define SIGIOT 6 91 #define SIGBUS 7 92 /* 8 is used for SIGFPE on windows */ 93 #define SIGKILL 9 94 #define SIGUSR1 10 95 /* 11 is used for SIGSEGV on windows */ 96 #define SIGUSR2 12 97 #define SIGPIPE 13 98 #define SIGALRM 14 99 /* 15 is used for SIGTERM on windows */ 100 #define SIGSTKFLT 16 101 #define SIGCHLD 17 102 #define SIGCONT 18 103 #define SIGSTOP 19 104 #define SIGTSTP 20 105 /* 21 is used for SIGBREAK on windows */ 106 /* 22 is used for SIGABRT on windows */ 107 #define SIGTTIN 23 108 #define SIGTTOU 24 109 #define SIGURG 25 110 #define SIGXCPU 26 111 #define SIGXFSZ 27 112 #define SIGVTALRM 28 113 #define SIGPROF 29 114 #define SIGWINCH 30 115 #define SIGIO 31 116 117 /* APR COMPATABILITY FUNCTIONS 118 * This section should be used to define functions and 119 * macros which are need to make Windows features look 120 * like POSIX features. 121 */ 122 typedef void (Sigfunc)(int); 123 124 #define sleep(t) Sleep((t) * 1000) 125 126 #define SIZEOF_SHORT 2 127 #define SIZEOF_INT 4 128 #define SIZEOF_LONGLONG 8 129 #define SIZEOF_CHAR 1 130 #define SIZEOF_SSIZE_T SIZEOF_INT 131 132 unsigned __stdcall SignalHandling(void *); 133 int thread_ready(void); 134 135 #if !APR_HAVE_ERRNO_H 136 APR_DECLARE_DATA int errno; 137 #define ENOSPC 1 138 #endif 139 140 #if APR_HAVE_IPV6 141 #define HAVE_GETADDRINFO 1 142 #define HAVE_GETNAMEINFO 1 143 #endif 144 145 /* MSVC 7.0 introduced _strtoi64 */ 146 #if _MSC_VER >= 1300 && _INTEGRAL_MAX_BITS >= 64 && !defined(_WIN32_WCE) 147 #define APR_INT64_STRFN _strtoi64 148 #endif 149 150 #if APR_HAS_LARGE_FILES 151 #ifdef APR_INT64_STRFN 152 #define APR_OFF_T_STRFN APR_INT64_STRFN 153 #else 154 #define APR_OFF_T_STRFN apr_strtoi64 155 #endif 156 #else 157 #if defined(_WIN32_WCE) 158 #define APR_OFF_T_STRFN strtol 159 #else 160 #define APR_OFF_T_STRFN strtoi 161 #endif 162 #endif 163 164 /* used to check for DWORD overflow in 64bit compiles */ 165 #define APR_DWORD_MAX 0xFFFFFFFFUL 166 167 /* 168 * Include common private declarations. 169 */ 170 #include "../apr_private_common.h" 171 172 #endif /*APR_PRIVATE_H*/ 173 #endif /*WIN32*/ 174