1 #ifndef HEADER_CURL_CONFIG_OS400_H 2 #define HEADER_CURL_CONFIG_OS400_H 3 /*************************************************************************** 4 * _ _ ____ _ 5 * Project ___| | | | _ \| | 6 * / __| | | | |_) | | 7 * | (__| |_| | _ <| |___ 8 * \___|\___/|_| \_\_____| 9 * 10 * Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. 11 * 12 * This software is licensed as described in the file COPYING, which 13 * you should have received as part of this distribution. The terms 14 * are also available at https://curl.se/docs/copyright.html. 15 * 16 * You may opt to use, copy, modify, merge, publish, distribute and/or sell 17 * copies of the Software, and permit persons to whom the Software is 18 * furnished to do so, under the terms of the COPYING file. 19 * 20 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 21 * KIND, either express or implied. 22 * 23 * SPDX-License-Identifier: curl 24 * 25 ***************************************************************************/ 26 27 /* ================================================================ */ 28 /* Hand crafted config file for OS/400 */ 29 /* ================================================================ */ 30 31 #pragma enum(int) 32 33 /* Define cpu-machine-OS */ 34 #ifndef CURL_OS 35 #define CURL_OS "OS/400" 36 #endif 37 38 /* OS400 supports a 3-argument ASCII version of gethostbyaddr_r(), but its 39 * prototype is incompatible with the "standard" one (1st argument is not 40 * const). However, getaddrinfo() is supported (ASCII version defined as 41 * a local wrapper in setup-os400.h) in a threadsafe way: we can then 42 * configure getaddrinfo() as such and get rid of gethostbyname_r() without 43 * loss of threadsafeness. */ 44 #undef HAVE_GETHOSTBYNAME_R 45 #undef HAVE_GETHOSTBYNAME_R_3 46 #undef HAVE_GETHOSTBYNAME_R_5 47 #undef HAVE_GETHOSTBYNAME_R_6 48 #define HAVE_GETADDRINFO 49 #define HAVE_GETADDRINFO_THREADSAFE 50 51 /* Define if you need the _REENTRANT define for some functions */ 52 #undef NEED_REENTRANT 53 54 /* Define if you want to enable IPv6 support */ 55 #define USE_IPV6 56 57 /* Define if struct sockaddr_in6 has the sin6_scope_id member */ 58 #define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1 59 60 /* Define this to 'int' if ssize_t is not an available typedefed type */ 61 #undef ssize_t 62 63 /* Define to 1 if you have the alarm function. */ 64 #define HAVE_ALARM 1 65 66 /* Define if you have the <arpa/inet.h> header file. */ 67 #define HAVE_ARPA_INET_H 68 69 /* Define if you have the `closesocket' function. */ 70 #undef HAVE_CLOSESOCKET 71 72 /* Define if you have the <fcntl.h> header file. */ 73 #define HAVE_FCNTL_H 74 75 /* Define if you have the `geteuid' function. */ 76 #define HAVE_GETEUID 77 78 /* Define if you have the `gethostname' function. */ 79 #define HAVE_GETHOSTNAME 80 81 /* Define if you have the `getpass_r' function. */ 82 #undef HAVE_GETPASS_R 83 84 /* Define to 1 if you have the getpeername function. */ 85 #define HAVE_GETPEERNAME 1 86 87 /* Define if you have the `getpwuid' function. */ 88 #define HAVE_GETPWUID 89 90 /* Define to 1 if you have the getsockname function. */ 91 #define HAVE_GETSOCKNAME 1 92 93 /* Define if you have the `gettimeofday' function. */ 94 #define HAVE_GETTIMEOFDAY 95 96 /* Define if you have the `timeval' struct. */ 97 #define HAVE_STRUCT_TIMEVAL 98 99 /* Define if you have the <io.h> header file. */ 100 #undef HAVE_IO_H 101 102 /* Define if you have GSS API. */ 103 #define HAVE_GSSAPI 104 105 /* Define if you have the GNU gssapi libraries */ 106 #undef HAVE_GSSGNU 107 108 /* Define if you have the <netdb.h> header file. */ 109 #define HAVE_NETDB_H 110 111 /* Define if you have the <netinet/in.h> header file. */ 112 #define HAVE_NETINET_IN_H 113 114 /* Define if you have the <net/if.h> header file. */ 115 #define HAVE_NET_IF_H 116 117 /* Define if you have the <pwd.h> header file. */ 118 #define HAVE_PWD_H 119 120 /* Define if you have the `select' function. */ 121 #define HAVE_SELECT 122 123 /* Define if you have the `sigaction' function. */ 124 #define HAVE_SIGACTION 125 126 /* Define if you have the `signal' function. */ 127 #undef HAVE_SIGNAL 128 129 /* Define if you have the `socket' function. */ 130 #define HAVE_SOCKET 131 132 133 /* The following define is needed on OS400 to enable strcmpi(), stricmp() and 134 strdup(). */ 135 #define __cplusplus__strings__ 136 137 /* Define if you have the `strcasecmp' function. */ 138 #undef HAVE_STRCASECMP 139 140 /* Define if you have the `strcmpi' function. */ 141 #define HAVE_STRCMPI 142 143 /* Define if you have the `stricmp' function. */ 144 #define HAVE_STRICMP 145 146 /* Define if you have the `strdup' function. */ 147 #define HAVE_STRDUP 148 149 /* Define if you have the <strings.h> header file. */ 150 #define HAVE_STRINGS_H 151 152 /* Define if you have the <stropts.h> header file. */ 153 #undef HAVE_STROPTS_H 154 155 /* Define if you have the `strtok_r' function. */ 156 #define HAVE_STRTOK_R 157 158 /* Define if you have the `strtoll' function. */ 159 #undef HAVE_STRTOLL /* Allows ASCII compile on V5R1. */ 160 161 /* Define if you have the <sys/param.h> header file. */ 162 #define HAVE_SYS_PARAM_H 163 164 /* Define if you have the <sys/select.h> header file. */ 165 #undef HAVE_SYS_SELECT_H 166 167 /* Define if you have the <sys/socket.h> header file. */ 168 #define HAVE_SYS_SOCKET_H 169 170 /* Define if you have the <sys/sockio.h> header file. */ 171 #undef HAVE_SYS_SOCKIO_H 172 173 /* Define if you have the <sys/stat.h> header file. */ 174 #define HAVE_SYS_STAT_H 175 176 /* Define if you have the <sys/time.h> header file. */ 177 #define HAVE_SYS_TIME_H 178 179 /* Define if you have the <sys/types.h> header file. */ 180 #define HAVE_SYS_TYPES_H 181 182 /* Define if you have the <sys/un.h> header file. */ 183 #define HAVE_SYS_UN_H 184 185 /* Define if you have the <sys/ioctl.h> header file. */ 186 #define HAVE_SYS_IOCTL_H 187 188 /* Define if you have the <termios.h> header file. */ 189 #undef HAVE_TERMIOS_H 190 191 /* Define if you have the <termio.h> header file. */ 192 #undef HAVE_TERMIO_H 193 194 /* Define if you have the <unistd.h> header file. */ 195 #define HAVE_UNISTD_H 196 197 /* The size of `int', as computed by sizeof. */ 198 #define SIZEOF_INT 4 199 200 /* Define if the compiler supports the 'long long' data type. */ 201 #define HAVE_LONGLONG 202 203 /* The size of a `long long', as computed by sizeof. */ 204 #define SIZEOF_LONG_LONG 8 205 206 /* The size of `long', as computed by sizeof. */ 207 #define SIZEOF_LONG 4 208 209 /* The size of `size_t', as computed by sizeof. */ 210 #define SIZEOF_SIZE_T 4 211 212 /* The size of `curl_off_t', as computed by sizeof. */ 213 #define SIZEOF_CURL_OFF_T 8 214 215 /* Define this if you have struct sockaddr_storage */ 216 #define HAVE_STRUCT_SOCKADDR_STORAGE 217 218 /* Define if you have the ANSI C header files. */ 219 #define STDC_HEADERS 220 221 /* Define to enable HTTP3 support (experimental, requires NGTCP2, quiche or 222 MSH3) */ 223 #undef USE_HTTP3 224 225 /* Version number of package */ 226 #undef VERSION 227 228 /* Number of bits in a file offset, on hosts where this is settable. */ 229 #undef _FILE_OFFSET_BITS 230 231 /* Define for large files, on AIX-style hosts. */ 232 #define _LARGE_FILES 233 234 /* Define to empty if `const' does not conform to ANSI C. */ 235 #undef const 236 237 /* type to use in place of in_addr_t if not defined */ 238 #define in_addr_t unsigned long 239 240 /* Define to `unsigned' if <sys/types.h> does not define. */ 241 #undef size_t 242 243 /* Define if you have a working ioctl FIONBIO function. */ 244 #define HAVE_IOCTL_FIONBIO 245 246 /* Define if you have a working ioctl SIOCGIFADDR function. */ 247 #define HAVE_IOCTL_SIOCGIFADDR 248 249 /* To disable LDAP */ 250 #undef CURL_DISABLE_LDAP 251 252 /* Definition to make a library symbol externally visible. */ 253 #define CURL_EXTERN_SYMBOL 254 255 /* Define if you have the ldap_url_parse procedure. */ 256 /* #define HAVE_LDAP_URL_PARSE */ /* Disabled because of an IBM bug. */ 257 258 /* Define if you have the recv function. */ 259 #define HAVE_RECV 260 261 /* Define to the type of arg 1 for recv. */ 262 #define RECV_TYPE_ARG1 int 263 264 /* Define to the type of arg 2 for recv. */ 265 #define RECV_TYPE_ARG2 char * 266 267 /* Define to the type of arg 3 for recv. */ 268 #define RECV_TYPE_ARG3 int 269 270 /* Define to the type of arg 4 for recv. */ 271 #define RECV_TYPE_ARG4 int 272 273 /* Define to the function return type for recv. */ 274 #define RECV_TYPE_RETV int 275 276 /* Define if you have the send function. */ 277 #define HAVE_SEND 278 279 /* Define to the type of arg 1 for send. */ 280 #define SEND_TYPE_ARG1 int 281 282 /* Define to the type qualifier of arg 2 for send. */ 283 #define SEND_QUAL_ARG2 284 285 /* Define to the type of arg 2 for send. */ 286 #define SEND_TYPE_ARG2 char * 287 288 /* Define to the type of arg 3 for send. */ 289 #define SEND_TYPE_ARG3 int 290 291 /* Define to the type of arg 4 for send. */ 292 #define SEND_TYPE_ARG4 int 293 294 /* Define to the function return type for send. */ 295 #define SEND_TYPE_RETV int 296 297 /* Define to use the OS/400 crypto library. */ 298 #define USE_OS400CRYPTO 299 300 /* Define to use Unix sockets. */ 301 #define USE_UNIX_SOCKETS 302 303 /* Use the system keyring as the default CA bundle. */ 304 #define CURL_CA_BUNDLE "/QIBM/UserData/ICSS/Cert/Server/DEFAULT.KDB" 305 306 /* ---------------------------------------------------------------- */ 307 /* ADDITIONAL DEFINITIONS */ 308 /* ---------------------------------------------------------------- */ 309 310 /* The following must be defined BEFORE system header files inclusion. */ 311 312 #define __ptr128 /* No teraspace. */ 313 #define qadrt_use_fputc_inline /* Generate fputc() wrapper inline. */ 314 #define qadrt_use_fread_inline /* Generate fread() wrapper inline. */ 315 #define qadrt_use_fwrite_inline /* Generate fwrite() wrapper inline. */ 316 317 #endif /* HEADER_CURL_CONFIG_OS400_H */ 318