+#ifndef HEADER_CURL_CONFIG_OS400_H
+#define HEADER_CURL_CONFIG_OS400_H
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
/* ================================================================ */
-/* lib/config-os400.h - Hand crafted config file for OS/400 */
+/* Hand crafted config file for OS/400 */
/* ================================================================ */
#pragma enum(int)
/* Define if you have the gethostbyaddr_r() function with 8 arguments */
#undef HAVE_GETHOSTBYADDR_R_8
-/* Define if you have the gethostbyname_r() function with 3 arguments */
-#define HAVE_GETHOSTBYNAME_R_3
-
-/* Define if you have the gethostbyname_r() function with 5 arguments */
+/* OS400 supports a 3-argument ASCII version of gethostbyaddr_r(), but its
+ * prototype is incompatible with the "standard" one (1st argument is not
+ * const). However, getaddrinfo() is supported (ASCII version defined as
+ * a local wrapper in setup-os400.h) in a threadsafe way: we can then
+ * configure getaddrinfo() as such and get rid of gethostbyname_r() without
+ * loss of threadsafeness. */
+#undef HAVE_GETHOSTBYNAME_R
+#undef HAVE_GETHOSTBYNAME_R_3
#undef HAVE_GETHOSTBYNAME_R_5
-
-/* Define if you have the gethostbyname_r() function with 6 arguments */
#undef HAVE_GETHOSTBYNAME_R_6
-
-/* Define if you have the inet_ntoa_r function declared. */
-#define HAVE_INET_NTOA_R_DECL
-
-/* Define if the inet_ntoa_r function returns an int. */
-#define HAVE_INT_INET_NTOA_R
+#define HAVE_GETADDRINFO
+#define HAVE_GETADDRINFO_THREADSAFE
/* Define if you need the _REENTRANT define for some functions */
#undef NEED_REENTRANT
/* Define if you want to enable IPv6 support */
#define ENABLE_IPV6
+/* Define if struct sockaddr_in6 has the sin6_scope_id member */
+#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1
+
/* Define this to 'int' if ssize_t is not an available typedefed type */
#undef ssize_t
-/* Type to use in place of socklen_t when system does not provide it. */
-#undef socklen_t
-
/* Define this as a suitable file to read random data from */
#undef RANDOM_FILE
/* Define this to your Entropy Gathering Daemon socket pathname */
#undef EGD_SOCKET
-/* Set to explicitly specify we don't want to use thread-safe functions */
-#undef DISABLED_THREADSAFE
+/* Define to 1 if you have the alarm function. */
+#define HAVE_ALARM 1
/* Define if you have the <alloca.h> header file. */
#undef HAVE_ALLOCA_H
/* Define if you have the <des.h> header file. */
#undef HAVE_DES_H
+/* Define if you have the <errno.h> header file. */
+#define HAVE_ERRNO_H
+
/* Define if you have the <err.h> header file. */
#undef HAVE_ERR_H
/* Define if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H
-/* Define if getaddrinfo exists and works */
-/* OS400 has no ASCII version of this procedure. */
-#undef HAVE_GETADDRINFO
-
/* Define if you have the `geteuid' function. */
#define HAVE_GETEUID
/* Define if you have the `gethostbyaddr_r' function. */
#define HAVE_GETHOSTBYADDR_R
-/* Define if you have the `gethostbyname_r' function. */
-#define HAVE_GETHOSTBYNAME_R
-
/* Define if you have the `gethostname' function. */
#define HAVE_GETHOSTNAME
/* Define if you have the `inet_addr' function. */
#define HAVE_INET_ADDR
-/* Define if you have the `inet_ntoa' function. */
-#define HAVE_INET_NTOA
-
-/* Define if you have the `inet_ntoa_r' function. */
-#define HAVE_INET_NTOA_R
-
/* Define if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H
/* Define if you have GSS API. */
#define HAVE_GSSAPI
+/* Define if you have the GNU gssapi libraries */
+#undef HAVE_GSSGNU
+
+/* Define if you have the Heimdal gssapi libraries */
+#define HAVE_GSSHEIMDAL
+
+/* Define if you have the MIT gssapi libraries */
+#undef HAVE_GSSMIT
+
/* Define if you have the `ucb' library (-lucb). */
#undef HAVE_LIBUCB
/* Define if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H
+
+/* The following define is needed on OS400 to enable strcmpi(), stricmp() and
+ strdup(). */
+#define __cplusplus__strings__
+
/* Define if you have the `strcasecmp' function. */
#undef HAVE_STRCASECMP
/* Define if you have the `strcmpi' function. */
-#undef HAVE_STRCMPI
+#define HAVE_STRCMPI
+
+/* Define if you have the `stricmp' function. */
+#define HAVE_STRICMP
/* Define if you have the `strdup' function. */
-#undef HAVE_STRDUP
+#define HAVE_STRDUP
+
/* Define if you have the `strftime' function. */
#define HAVE_STRFTIME
-/* Define if you have the `stricmp' function. */
-#undef HAVE_STRICMP
-
/* Define if you have the <strings.h> header file. */
#define HAVE_STRINGS_H
/* Define if you have the <string.h> header file. */
#define HAVE_STRING_H
-/* Define if you have the `strlcat' function. */
-#undef HAVE_STRLCAT
-
/* Define if you have the `strlcpy' function. */
#undef HAVE_STRLCPY
+/* Define if you have the <stropts.h> header file. */
+#undef HAVE_STROPTS_H
+
/* Define if you have the `strstr' function. */
#define HAVE_STRSTR
/* Define as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
+/* The size of `int', as computed by sizeof. */
+#define SIZEOF_INT 4
+
/* The size of a `long double', as computed by sizeof. */
#define SIZEOF_LONG_DOUBLE 8
-/* Define if 64 bit integers are supported. */
+/* Define if the compiler supports the 'long long' data type. */
#define HAVE_LONGLONG
/* The size of a `long long', as computed by sizeof. */
#define SIZEOF_LONG_LONG 8
-/* Whether long long constants must be suffixed by LL. */
+/* The size of `short', as computed by sizeof. */
+#define SIZEOF_SHORT 2
-#define HAVE_LL
+/* The size of `long', as computed by sizeof. */
+#define SIZEOF_LONG 4
-/* */
+/* The size of `size_t', as computed by sizeof. */
+#define SIZEOF_SIZE_T 4
-#ifndef _LARGE_FILES
-#define _LARGE_FILES
-#endif
+/* The size of `curl_off_t', as computed by sizeof. */
+#define SIZEOF_CURL_OFF_T 8
+
+/* Whether long long constants must be suffixed by LL. */
+
+#define HAVE_LL
/* Define this if you have struct sockaddr_storage */
#define HAVE_STRUCT_SOCKADDR_STORAGE
#undef _FILE_OFFSET_BITS
/* Define for large files, on AIX-style hosts. */
-#undef _LARGE_FILES
+#define _LARGE_FILES
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define to `unsigned' if <sys/types.h> does not define. */
#undef size_t
-#define IOCTL_3_ARGS
+/* Define if you have the ioctl function. */
+#define HAVE_IOCTL
-#define HAVE_FIONBIO
+/* Define if you have a working ioctl FIONBIO function. */
+#define HAVE_IOCTL_FIONBIO
-/* to disable LDAP */
+/* Define if you have a working ioctl SIOCGIFADDR function. */
+#define HAVE_IOCTL_SIOCGIFADDR
+
+/* To disable LDAP */
#undef CURL_DISABLE_LDAP
+/* Definition to make a library symbol externally visible. */
+#define CURL_EXTERN_SYMBOL
+
/* Define if you have the ldap_url_parse procedure. */
/* #define HAVE_LDAP_URL_PARSE */ /* Disabled because of an IBM bug. */
/* Define if you have the getnameinfo function. */
-/* OS400 has no ASCII version of this procedure. */
-#undef HAVE_GETNAMEINFO
+/* OS400 has no ASCII version of this procedure: wrapped in setup-os400.h. */
+#define HAVE_GETNAMEINFO
/* Define to the type qualifier of arg 1 for getnameinfo. */
#define GETNAMEINFO_QUAL_ARG1 const
/* Define to the function return type for send. */
#define SEND_TYPE_RETV int
-/* Define to use the QsoSSL package. */
-#define USE_QSOSSL
+/* Define to use the GSKit package. */
+#define USE_GSKIT
+
+/* Define to use the OS/400 crypto library. */
+#define USE_OS400CRYPTO
+
+/* Define to use Unix sockets. */
+#define USE_UNIX_SOCKETS
/* Use the system keyring as the default CA bundle. */
#define CURL_CA_BUNDLE "/QIBM/UserData/ICSS/Cert/Server/DEFAULT.KDB"
#define qadrt_use_fread_inline /* Generate fread() wrapper inline. */
#define qadrt_use_fwrite_inline /* Generate fwrite() wrapper inline. */
+#endif /* HEADER_CURL_CONFIG_OS400_H */