17db96d56Sopenharmony_ci#ifndef Py_CONFIG_H
27db96d56Sopenharmony_ci#define Py_CONFIG_H
37db96d56Sopenharmony_ci
47db96d56Sopenharmony_ci/* pyconfig.h.  NOT Generated automatically by configure.
57db96d56Sopenharmony_ci
67db96d56Sopenharmony_ciThis is a manually maintained version used for the Watcom,
77db96d56Sopenharmony_ciBorland and Microsoft Visual C++ compilers.  It is a
87db96d56Sopenharmony_cistandard part of the Python distribution.
97db96d56Sopenharmony_ci
107db96d56Sopenharmony_ciWINDOWS DEFINES:
117db96d56Sopenharmony_ciThe code specific to Windows should be wrapped around one of
127db96d56Sopenharmony_cithe following #defines
137db96d56Sopenharmony_ci
147db96d56Sopenharmony_ciMS_WIN64 - Code specific to the MS Win64 API
157db96d56Sopenharmony_ciMS_WIN32 - Code specific to the MS Win32 (and Win64) API (obsolete, this covers all supported APIs)
167db96d56Sopenharmony_ciMS_WINDOWS - Code specific to Windows, but all versions.
177db96d56Sopenharmony_ciPy_ENABLE_SHARED - Code if the Python core is built as a DLL.
187db96d56Sopenharmony_ci
197db96d56Sopenharmony_ciAlso note that neither "_M_IX86" or "_MSC_VER" should be used for
207db96d56Sopenharmony_ciany purpose other than "Windows Intel x86 specific" and "Microsoft
217db96d56Sopenharmony_cicompiler specific".  Therefore, these should be very rare.
227db96d56Sopenharmony_ci
237db96d56Sopenharmony_ci
247db96d56Sopenharmony_ciNOTE: The following symbols are deprecated:
257db96d56Sopenharmony_ciNT, USE_DL_EXPORT, USE_DL_IMPORT, DL_EXPORT, DL_IMPORT
267db96d56Sopenharmony_ciMS_CORE_DLL.
277db96d56Sopenharmony_ci
287db96d56Sopenharmony_ciWIN32 is still required for the locale module.
297db96d56Sopenharmony_ci
307db96d56Sopenharmony_ci*/
317db96d56Sopenharmony_ci
327db96d56Sopenharmony_ci/* Deprecated USE_DL_EXPORT macro - please use Py_BUILD_CORE */
337db96d56Sopenharmony_ci#ifdef USE_DL_EXPORT
347db96d56Sopenharmony_ci#       define Py_BUILD_CORE
357db96d56Sopenharmony_ci#endif /* USE_DL_EXPORT */
367db96d56Sopenharmony_ci
377db96d56Sopenharmony_ci/* Visual Studio 2005 introduces deprecation warnings for
387db96d56Sopenharmony_ci   "insecure" and POSIX functions. The insecure functions should
397db96d56Sopenharmony_ci   be replaced by *_s versions (according to Microsoft); the
407db96d56Sopenharmony_ci   POSIX functions by _* versions (which, according to Microsoft,
417db96d56Sopenharmony_ci   would be ISO C conforming). Neither renaming is feasible, so
427db96d56Sopenharmony_ci   we just silence the warnings. */
437db96d56Sopenharmony_ci
447db96d56Sopenharmony_ci#ifndef _CRT_SECURE_NO_DEPRECATE
457db96d56Sopenharmony_ci#define _CRT_SECURE_NO_DEPRECATE 1
467db96d56Sopenharmony_ci#endif
477db96d56Sopenharmony_ci#ifndef _CRT_NONSTDC_NO_DEPRECATE
487db96d56Sopenharmony_ci#define _CRT_NONSTDC_NO_DEPRECATE 1
497db96d56Sopenharmony_ci#endif
507db96d56Sopenharmony_ci
517db96d56Sopenharmony_ci#define HAVE_IO_H
527db96d56Sopenharmony_ci#define HAVE_SYS_UTIME_H
537db96d56Sopenharmony_ci#define HAVE_TEMPNAM
547db96d56Sopenharmony_ci#define HAVE_TMPFILE
557db96d56Sopenharmony_ci#define HAVE_TMPNAM
567db96d56Sopenharmony_ci#define HAVE_CLOCK
577db96d56Sopenharmony_ci#define HAVE_STRERROR
587db96d56Sopenharmony_ci
597db96d56Sopenharmony_ci#include <io.h>
607db96d56Sopenharmony_ci
617db96d56Sopenharmony_ci#define HAVE_STRFTIME
627db96d56Sopenharmony_ci#define DONT_HAVE_SIG_ALARM
637db96d56Sopenharmony_ci#define DONT_HAVE_SIG_PAUSE
647db96d56Sopenharmony_ci#define LONG_BIT        32
657db96d56Sopenharmony_ci#define WORD_BIT 32
667db96d56Sopenharmony_ci
677db96d56Sopenharmony_ci#define MS_WIN32 /* only support win32 and greater. */
687db96d56Sopenharmony_ci#define MS_WINDOWS
697db96d56Sopenharmony_ci#define NT_THREADS
707db96d56Sopenharmony_ci#define WITH_THREAD
717db96d56Sopenharmony_ci#ifndef NETSCAPE_PI
727db96d56Sopenharmony_ci#define USE_SOCKET
737db96d56Sopenharmony_ci#endif
747db96d56Sopenharmony_ci
757db96d56Sopenharmony_ci
767db96d56Sopenharmony_ci/* Compiler specific defines */
777db96d56Sopenharmony_ci
787db96d56Sopenharmony_ci/* ------------------------------------------------------------------------*/
797db96d56Sopenharmony_ci/* Microsoft C defines _MSC_VER */
807db96d56Sopenharmony_ci#ifdef _MSC_VER
817db96d56Sopenharmony_ci
827db96d56Sopenharmony_ci/* We want COMPILER to expand to a string containing _MSC_VER's *value*.
837db96d56Sopenharmony_ci * This is horridly tricky, because the stringization operator only works
847db96d56Sopenharmony_ci * on macro arguments, and doesn't evaluate macros passed *as* arguments.
857db96d56Sopenharmony_ci * Attempts simpler than the following appear doomed to produce "_MSC_VER"
867db96d56Sopenharmony_ci * literally in the string.
877db96d56Sopenharmony_ci */
887db96d56Sopenharmony_ci#define _Py_PASTE_VERSION(SUFFIX) \
897db96d56Sopenharmony_ci        ("[MSC v." _Py_STRINGIZE(_MSC_VER) " " SUFFIX "]")
907db96d56Sopenharmony_ci/* e.g., this produces, after compile-time string catenation,
917db96d56Sopenharmony_ci *      ("[MSC v.1200 32 bit (Intel)]")
927db96d56Sopenharmony_ci *
937db96d56Sopenharmony_ci * _Py_STRINGIZE(_MSC_VER) expands to
947db96d56Sopenharmony_ci * _Py_STRINGIZE1((_MSC_VER)) expands to
957db96d56Sopenharmony_ci * _Py_STRINGIZE2(_MSC_VER) but as this call is the result of token-pasting
967db96d56Sopenharmony_ci *      it's scanned again for macros and so further expands to (under MSVC 6)
977db96d56Sopenharmony_ci * _Py_STRINGIZE2(1200) which then expands to
987db96d56Sopenharmony_ci * "1200"
997db96d56Sopenharmony_ci */
1007db96d56Sopenharmony_ci#define _Py_STRINGIZE(X) _Py_STRINGIZE1((X))
1017db96d56Sopenharmony_ci#define _Py_STRINGIZE1(X) _Py_STRINGIZE2 ## X
1027db96d56Sopenharmony_ci#define _Py_STRINGIZE2(X) #X
1037db96d56Sopenharmony_ci
1047db96d56Sopenharmony_ci/* MSVC defines _WINxx to differentiate the windows platform types
1057db96d56Sopenharmony_ci
1067db96d56Sopenharmony_ci   Note that for compatibility reasons _WIN32 is defined on Win32
1077db96d56Sopenharmony_ci   *and* on Win64. For the same reasons, in Python, MS_WIN32 is
1087db96d56Sopenharmony_ci   defined on Win32 *and* Win64. Win32 only code must therefore be
1097db96d56Sopenharmony_ci   guarded as follows:
1107db96d56Sopenharmony_ci        #if defined(MS_WIN32) && !defined(MS_WIN64)
1117db96d56Sopenharmony_ci*/
1127db96d56Sopenharmony_ci#ifdef _WIN64
1137db96d56Sopenharmony_ci#define MS_WIN64
1147db96d56Sopenharmony_ci#endif
1157db96d56Sopenharmony_ci
1167db96d56Sopenharmony_ci/* set the COMPILER and support tier
1177db96d56Sopenharmony_ci *
1187db96d56Sopenharmony_ci * win_amd64 MSVC (x86_64-pc-windows-msvc): 1
1197db96d56Sopenharmony_ci * win32 MSVC (i686-pc-windows-msvc): 1
1207db96d56Sopenharmony_ci * win_arm64 MSVC (aarch64-pc-windows-msvc): 3
1217db96d56Sopenharmony_ci * other archs and ICC: 0
1227db96d56Sopenharmony_ci */
1237db96d56Sopenharmony_ci#ifdef MS_WIN64
1247db96d56Sopenharmony_ci#if defined(_M_X64) || defined(_M_AMD64)
1257db96d56Sopenharmony_ci#if defined(__INTEL_COMPILER)
1267db96d56Sopenharmony_ci#define COMPILER ("[ICC v." _Py_STRINGIZE(__INTEL_COMPILER) " 64 bit (amd64) with MSC v." _Py_STRINGIZE(_MSC_VER) " CRT]")
1277db96d56Sopenharmony_ci#define PY_SUPPORT_TIER 0
1287db96d56Sopenharmony_ci#else
1297db96d56Sopenharmony_ci#define COMPILER _Py_PASTE_VERSION("64 bit (AMD64)")
1307db96d56Sopenharmony_ci#define PY_SUPPORT_TIER 1
1317db96d56Sopenharmony_ci#endif /* __INTEL_COMPILER */
1327db96d56Sopenharmony_ci#define PYD_PLATFORM_TAG "win_amd64"
1337db96d56Sopenharmony_ci#elif defined(_M_ARM64)
1347db96d56Sopenharmony_ci#define COMPILER _Py_PASTE_VERSION("64 bit (ARM64)")
1357db96d56Sopenharmony_ci#define PY_SUPPORT_TIER 3
1367db96d56Sopenharmony_ci#define PYD_PLATFORM_TAG "win_arm64"
1377db96d56Sopenharmony_ci#else
1387db96d56Sopenharmony_ci#define COMPILER _Py_PASTE_VERSION("64 bit (Unknown)")
1397db96d56Sopenharmony_ci#define PY_SUPPORT_TIER 0
1407db96d56Sopenharmony_ci#endif
1417db96d56Sopenharmony_ci#endif /* MS_WIN64 */
1427db96d56Sopenharmony_ci
1437db96d56Sopenharmony_ci/* set the version macros for the windows headers */
1447db96d56Sopenharmony_ci/* Python 3.9+ requires Windows 8 or greater */
1457db96d56Sopenharmony_ci#define Py_WINVER 0x0602 /* _WIN32_WINNT_WIN8 */
1467db96d56Sopenharmony_ci#define Py_NTDDI NTDDI_WIN8
1477db96d56Sopenharmony_ci
1487db96d56Sopenharmony_ci/* We only set these values when building Python - we don't want to force
1497db96d56Sopenharmony_ci   these values on extensions, as that will affect the prototypes and
1507db96d56Sopenharmony_ci   structures exposed in the Windows headers. Even when building Python, we
1517db96d56Sopenharmony_ci   allow a single source file to override this - they may need access to
1527db96d56Sopenharmony_ci   structures etc so it can optionally use new Windows features if it
1537db96d56Sopenharmony_ci   determines at runtime they are available.
1547db96d56Sopenharmony_ci*/
1557db96d56Sopenharmony_ci#if defined(Py_BUILD_CORE) || defined(Py_BUILD_CORE_BUILTIN) || defined(Py_BUILD_CORE_MODULE)
1567db96d56Sopenharmony_ci#ifndef NTDDI_VERSION
1577db96d56Sopenharmony_ci#define NTDDI_VERSION Py_NTDDI
1587db96d56Sopenharmony_ci#endif
1597db96d56Sopenharmony_ci#ifndef WINVER
1607db96d56Sopenharmony_ci#define WINVER Py_WINVER
1617db96d56Sopenharmony_ci#endif
1627db96d56Sopenharmony_ci#ifndef _WIN32_WINNT
1637db96d56Sopenharmony_ci#define _WIN32_WINNT Py_WINVER
1647db96d56Sopenharmony_ci#endif
1657db96d56Sopenharmony_ci#endif
1667db96d56Sopenharmony_ci
1677db96d56Sopenharmony_ci/* _W64 is not defined for VC6 or eVC4 */
1687db96d56Sopenharmony_ci#ifndef _W64
1697db96d56Sopenharmony_ci#define _W64
1707db96d56Sopenharmony_ci#endif
1717db96d56Sopenharmony_ci
1727db96d56Sopenharmony_ci/* Define like size_t, omitting the "unsigned" */
1737db96d56Sopenharmony_ci#ifdef MS_WIN64
1747db96d56Sopenharmony_citypedef __int64 Py_ssize_t;
1757db96d56Sopenharmony_ci#   define PY_SSIZE_T_MAX LLONG_MAX
1767db96d56Sopenharmony_ci#else
1777db96d56Sopenharmony_citypedef _W64 int Py_ssize_t;
1787db96d56Sopenharmony_ci#   define PY_SSIZE_T_MAX INT_MAX
1797db96d56Sopenharmony_ci#endif
1807db96d56Sopenharmony_ci#define HAVE_PY_SSIZE_T 1
1817db96d56Sopenharmony_ci
1827db96d56Sopenharmony_ci#if defined(MS_WIN32) && !defined(MS_WIN64)
1837db96d56Sopenharmony_ci#if defined(_M_IX86)
1847db96d56Sopenharmony_ci#if defined(__INTEL_COMPILER)
1857db96d56Sopenharmony_ci#define COMPILER ("[ICC v." _Py_STRINGIZE(__INTEL_COMPILER) " 32 bit (Intel) with MSC v." _Py_STRINGIZE(_MSC_VER) " CRT]")
1867db96d56Sopenharmony_ci#define PY_SUPPORT_TIER 0
1877db96d56Sopenharmony_ci#else
1887db96d56Sopenharmony_ci#define COMPILER _Py_PASTE_VERSION("32 bit (Intel)")
1897db96d56Sopenharmony_ci#define PY_SUPPORT_TIER 1
1907db96d56Sopenharmony_ci#endif /* __INTEL_COMPILER */
1917db96d56Sopenharmony_ci#define PYD_PLATFORM_TAG "win32"
1927db96d56Sopenharmony_ci#elif defined(_M_ARM)
1937db96d56Sopenharmony_ci#define COMPILER _Py_PASTE_VERSION("32 bit (ARM)")
1947db96d56Sopenharmony_ci#define PYD_PLATFORM_TAG "win_arm32"
1957db96d56Sopenharmony_ci#define PY_SUPPORT_TIER 0
1967db96d56Sopenharmony_ci#else
1977db96d56Sopenharmony_ci#define COMPILER _Py_PASTE_VERSION("32 bit (Unknown)")
1987db96d56Sopenharmony_ci#define PY_SUPPORT_TIER 0
1997db96d56Sopenharmony_ci#endif
2007db96d56Sopenharmony_ci#endif /* MS_WIN32 && !MS_WIN64 */
2017db96d56Sopenharmony_ci
2027db96d56Sopenharmony_citypedef int pid_t;
2037db96d56Sopenharmony_ci
2047db96d56Sopenharmony_ci/* define some ANSI types that are not defined in earlier Win headers */
2057db96d56Sopenharmony_ci#if _MSC_VER >= 1200
2067db96d56Sopenharmony_ci/* This file only exists in VC 6.0 or higher */
2077db96d56Sopenharmony_ci#include <basetsd.h>
2087db96d56Sopenharmony_ci#endif
2097db96d56Sopenharmony_ci
2107db96d56Sopenharmony_ci#endif /* _MSC_VER */
2117db96d56Sopenharmony_ci
2127db96d56Sopenharmony_ci/* ------------------------------------------------------------------------*/
2137db96d56Sopenharmony_ci/* egcs/gnu-win32 defines __GNUC__ and _WIN32 */
2147db96d56Sopenharmony_ci#if defined(__GNUC__) && defined(_WIN32)
2157db96d56Sopenharmony_ci/* XXX These defines are likely incomplete, but should be easy to fix.
2167db96d56Sopenharmony_ci   They should be complete enough to build extension modules. */
2177db96d56Sopenharmony_ci/* Suggested by Rene Liebscher <R.Liebscher@gmx.de> to avoid a GCC 2.91.*
2187db96d56Sopenharmony_ci   bug that requires structure imports.  More recent versions of the
2197db96d56Sopenharmony_ci   compiler don't exhibit this bug.
2207db96d56Sopenharmony_ci*/
2217db96d56Sopenharmony_ci#if (__GNUC__==2) && (__GNUC_MINOR__<=91)
2227db96d56Sopenharmony_ci#warning "Please use an up-to-date version of gcc! (>2.91 recommended)"
2237db96d56Sopenharmony_ci#endif
2247db96d56Sopenharmony_ci
2257db96d56Sopenharmony_ci#define COMPILER "[gcc]"
2267db96d56Sopenharmony_ci#define PY_LONG_LONG long long
2277db96d56Sopenharmony_ci#define PY_LLONG_MIN LLONG_MIN
2287db96d56Sopenharmony_ci#define PY_LLONG_MAX LLONG_MAX
2297db96d56Sopenharmony_ci#define PY_ULLONG_MAX ULLONG_MAX
2307db96d56Sopenharmony_ci#endif /* GNUC */
2317db96d56Sopenharmony_ci
2327db96d56Sopenharmony_ci/* ------------------------------------------------------------------------*/
2337db96d56Sopenharmony_ci/* lcc-win32 defines __LCC__ */
2347db96d56Sopenharmony_ci#if defined(__LCC__)
2357db96d56Sopenharmony_ci/* XXX These defines are likely incomplete, but should be easy to fix.
2367db96d56Sopenharmony_ci   They should be complete enough to build extension modules. */
2377db96d56Sopenharmony_ci
2387db96d56Sopenharmony_ci#define COMPILER "[lcc-win32]"
2397db96d56Sopenharmony_citypedef int pid_t;
2407db96d56Sopenharmony_ci/* __declspec() is supported here too - do nothing to get the defaults */
2417db96d56Sopenharmony_ci
2427db96d56Sopenharmony_ci#endif /* LCC */
2437db96d56Sopenharmony_ci
2447db96d56Sopenharmony_ci/* ------------------------------------------------------------------------*/
2457db96d56Sopenharmony_ci/* End of compilers - finish up */
2467db96d56Sopenharmony_ci
2477db96d56Sopenharmony_ci#ifndef NO_STDIO_H
2487db96d56Sopenharmony_ci#       include <stdio.h>
2497db96d56Sopenharmony_ci#endif
2507db96d56Sopenharmony_ci
2517db96d56Sopenharmony_ci/* 64 bit ints are usually spelt __int64 unless compiler has overridden */
2527db96d56Sopenharmony_ci#ifndef PY_LONG_LONG
2537db96d56Sopenharmony_ci#       define PY_LONG_LONG __int64
2547db96d56Sopenharmony_ci#       define PY_LLONG_MAX _I64_MAX
2557db96d56Sopenharmony_ci#       define PY_LLONG_MIN _I64_MIN
2567db96d56Sopenharmony_ci#       define PY_ULLONG_MAX _UI64_MAX
2577db96d56Sopenharmony_ci#endif
2587db96d56Sopenharmony_ci
2597db96d56Sopenharmony_ci/* For Windows the Python core is in a DLL by default.  Test
2607db96d56Sopenharmony_ciPy_NO_ENABLE_SHARED to find out.  Also support MS_NO_COREDLL for b/w compat */
2617db96d56Sopenharmony_ci#if !defined(MS_NO_COREDLL) && !defined(Py_NO_ENABLE_SHARED)
2627db96d56Sopenharmony_ci#       define Py_ENABLE_SHARED 1 /* standard symbol for shared library */
2637db96d56Sopenharmony_ci#       define MS_COREDLL       /* deprecated old symbol */
2647db96d56Sopenharmony_ci#endif /* !MS_NO_COREDLL && ... */
2657db96d56Sopenharmony_ci
2667db96d56Sopenharmony_ci/*  All windows compilers that use this header support __declspec */
2677db96d56Sopenharmony_ci#define HAVE_DECLSPEC_DLL
2687db96d56Sopenharmony_ci
2697db96d56Sopenharmony_ci/* For an MSVC DLL, we can nominate the .lib files used by extensions */
2707db96d56Sopenharmony_ci#ifdef MS_COREDLL
2717db96d56Sopenharmony_ci#       if !defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_BUILTIN)
2727db96d56Sopenharmony_ci                /* not building the core - must be an ext */
2737db96d56Sopenharmony_ci#               if defined(_MSC_VER)
2747db96d56Sopenharmony_ci                        /* So MSVC users need not specify the .lib
2757db96d56Sopenharmony_ci                        file in their Makefile (other compilers are
2767db96d56Sopenharmony_ci                        generally taken care of by distutils.) */
2777db96d56Sopenharmony_ci#                       if defined(_DEBUG)
2787db96d56Sopenharmony_ci#                               pragma comment(lib,"python311_d.lib")
2797db96d56Sopenharmony_ci#                       elif defined(Py_LIMITED_API)
2807db96d56Sopenharmony_ci#                               pragma comment(lib,"python3.lib")
2817db96d56Sopenharmony_ci#                       else
2827db96d56Sopenharmony_ci#                               pragma comment(lib,"python311.lib")
2837db96d56Sopenharmony_ci#                       endif /* _DEBUG */
2847db96d56Sopenharmony_ci#               endif /* _MSC_VER */
2857db96d56Sopenharmony_ci#       endif /* Py_BUILD_CORE */
2867db96d56Sopenharmony_ci#endif /* MS_COREDLL */
2877db96d56Sopenharmony_ci
2887db96d56Sopenharmony_ci#if defined(MS_WIN64)
2897db96d56Sopenharmony_ci/* maintain "win32" sys.platform for backward compatibility of Python code,
2907db96d56Sopenharmony_ci   the Win64 API should be close enough to the Win32 API to make this
2917db96d56Sopenharmony_ci   preferable */
2927db96d56Sopenharmony_ci#       define PLATFORM "win32"
2937db96d56Sopenharmony_ci#       define SIZEOF_VOID_P 8
2947db96d56Sopenharmony_ci#       define SIZEOF_TIME_T 8
2957db96d56Sopenharmony_ci#       define SIZEOF_OFF_T 4
2967db96d56Sopenharmony_ci#       define SIZEOF_FPOS_T 8
2977db96d56Sopenharmony_ci#       define SIZEOF_HKEY 8
2987db96d56Sopenharmony_ci#       define SIZEOF_SIZE_T 8
2997db96d56Sopenharmony_ci#       define ALIGNOF_SIZE_T 8
3007db96d56Sopenharmony_ci/* configure.ac defines HAVE_LARGEFILE_SUPPORT iff
3017db96d56Sopenharmony_ci   sizeof(off_t) > sizeof(long), and sizeof(long long) >= sizeof(off_t).
3027db96d56Sopenharmony_ci   On Win64 the second condition is not true, but if fpos_t replaces off_t
3037db96d56Sopenharmony_ci   then this is true. The uses of HAVE_LARGEFILE_SUPPORT imply that Win64
3047db96d56Sopenharmony_ci   should define this. */
3057db96d56Sopenharmony_ci#       define HAVE_LARGEFILE_SUPPORT
3067db96d56Sopenharmony_ci#elif defined(MS_WIN32)
3077db96d56Sopenharmony_ci#       define PLATFORM "win32"
3087db96d56Sopenharmony_ci#       define HAVE_LARGEFILE_SUPPORT
3097db96d56Sopenharmony_ci#       define SIZEOF_VOID_P 4
3107db96d56Sopenharmony_ci#       define SIZEOF_OFF_T 4
3117db96d56Sopenharmony_ci#       define SIZEOF_FPOS_T 8
3127db96d56Sopenharmony_ci#       define SIZEOF_HKEY 4
3137db96d56Sopenharmony_ci#       define SIZEOF_SIZE_T 4
3147db96d56Sopenharmony_ci#       define ALIGNOF_SIZE_T 4
3157db96d56Sopenharmony_ci        /* MS VS2005 changes time_t to a 64-bit type on all platforms */
3167db96d56Sopenharmony_ci#       if defined(_MSC_VER) && _MSC_VER >= 1400
3177db96d56Sopenharmony_ci#       define SIZEOF_TIME_T 8
3187db96d56Sopenharmony_ci#       else
3197db96d56Sopenharmony_ci#       define SIZEOF_TIME_T 4
3207db96d56Sopenharmony_ci#       endif
3217db96d56Sopenharmony_ci#endif
3227db96d56Sopenharmony_ci
3237db96d56Sopenharmony_ci#ifdef _DEBUG
3247db96d56Sopenharmony_ci#       define Py_DEBUG
3257db96d56Sopenharmony_ci#endif
3267db96d56Sopenharmony_ci
3277db96d56Sopenharmony_ci
3287db96d56Sopenharmony_ci#ifdef MS_WIN32
3297db96d56Sopenharmony_ci
3307db96d56Sopenharmony_ci#define SIZEOF_SHORT 2
3317db96d56Sopenharmony_ci#define SIZEOF_INT 4
3327db96d56Sopenharmony_ci#define SIZEOF_LONG 4
3337db96d56Sopenharmony_ci#define ALIGNOF_LONG 4
3347db96d56Sopenharmony_ci#define SIZEOF_LONG_LONG 8
3357db96d56Sopenharmony_ci#define SIZEOF_DOUBLE 8
3367db96d56Sopenharmony_ci#define SIZEOF_FLOAT 4
3377db96d56Sopenharmony_ci
3387db96d56Sopenharmony_ci/* VC 7.1 has them and VC 6.0 does not.  VC 6.0 has a version number of 1200.
3397db96d56Sopenharmony_ci   Microsoft eMbedded Visual C++ 4.0 has a version number of 1201 and doesn't
3407db96d56Sopenharmony_ci   define these.
3417db96d56Sopenharmony_ci   If some compiler does not provide them, modify the #if appropriately. */
3427db96d56Sopenharmony_ci#if defined(_MSC_VER)
3437db96d56Sopenharmony_ci#if _MSC_VER > 1300
3447db96d56Sopenharmony_ci#define HAVE_UINTPTR_T 1
3457db96d56Sopenharmony_ci#define HAVE_INTPTR_T 1
3467db96d56Sopenharmony_ci#else
3477db96d56Sopenharmony_ci/* VC6, VS 2002 and eVC4 don't support the C99 LL suffix for 64-bit integer literals */
3487db96d56Sopenharmony_ci#define Py_LL(x) x##I64
3497db96d56Sopenharmony_ci#endif  /* _MSC_VER > 1300  */
3507db96d56Sopenharmony_ci#endif  /* _MSC_VER */
3517db96d56Sopenharmony_ci
3527db96d56Sopenharmony_ci#endif
3537db96d56Sopenharmony_ci
3547db96d56Sopenharmony_ci/* define signed and unsigned exact-width 32-bit and 64-bit types, used in the
3557db96d56Sopenharmony_ci   implementation of Python integers. */
3567db96d56Sopenharmony_ci#define PY_UINT32_T uint32_t
3577db96d56Sopenharmony_ci#define PY_UINT64_T uint64_t
3587db96d56Sopenharmony_ci#define PY_INT32_T int32_t
3597db96d56Sopenharmony_ci#define PY_INT64_T int64_t
3607db96d56Sopenharmony_ci
3617db96d56Sopenharmony_ci/* Fairly standard from here! */
3627db96d56Sopenharmony_ci
3637db96d56Sopenharmony_ci/* Define if on AIX 3.
3647db96d56Sopenharmony_ci   System headers sometimes define this.
3657db96d56Sopenharmony_ci   We just want to avoid a redefinition error message.  */
3667db96d56Sopenharmony_ci#ifndef _ALL_SOURCE
3677db96d56Sopenharmony_ci/* #undef _ALL_SOURCE */
3687db96d56Sopenharmony_ci#endif
3697db96d56Sopenharmony_ci
3707db96d56Sopenharmony_ci/* Define to empty if the keyword does not work.  */
3717db96d56Sopenharmony_ci/* #define const  */
3727db96d56Sopenharmony_ci
3737db96d56Sopenharmony_ci/* Define to 1 if you have the <conio.h> header file. */
3747db96d56Sopenharmony_ci#define HAVE_CONIO_H 1
3757db96d56Sopenharmony_ci
3767db96d56Sopenharmony_ci/* Define to 1 if you have the <direct.h> header file. */
3777db96d56Sopenharmony_ci#define HAVE_DIRECT_H 1
3787db96d56Sopenharmony_ci
3797db96d56Sopenharmony_ci/* Define to 1 if you have the declaration of `tzname', and to 0 if you don't.
3807db96d56Sopenharmony_ci   */
3817db96d56Sopenharmony_ci#define HAVE_DECL_TZNAME 1
3827db96d56Sopenharmony_ci
3837db96d56Sopenharmony_ci/* Define if you have dirent.h.  */
3847db96d56Sopenharmony_ci/* #define DIRENT 1 */
3857db96d56Sopenharmony_ci
3867db96d56Sopenharmony_ci/* Define to the type of elements in the array set by `getgroups'.
3877db96d56Sopenharmony_ci   Usually this is either `int' or `gid_t'.  */
3887db96d56Sopenharmony_ci/* #undef GETGROUPS_T */
3897db96d56Sopenharmony_ci
3907db96d56Sopenharmony_ci/* Define to `int' if <sys/types.h> doesn't define.  */
3917db96d56Sopenharmony_ci/* #undef gid_t */
3927db96d56Sopenharmony_ci
3937db96d56Sopenharmony_ci/* Define if your struct tm has tm_zone.  */
3947db96d56Sopenharmony_ci/* #undef HAVE_TM_ZONE */
3957db96d56Sopenharmony_ci
3967db96d56Sopenharmony_ci/* Define if you don't have tm_zone but do have the external array
3977db96d56Sopenharmony_ci   tzname.  */
3987db96d56Sopenharmony_ci#define HAVE_TZNAME
3997db96d56Sopenharmony_ci
4007db96d56Sopenharmony_ci/* Define to `int' if <sys/types.h> doesn't define.  */
4017db96d56Sopenharmony_ci/* #undef mode_t */
4027db96d56Sopenharmony_ci
4037db96d56Sopenharmony_ci/* Define if you don't have dirent.h, but have ndir.h.  */
4047db96d56Sopenharmony_ci/* #undef NDIR */
4057db96d56Sopenharmony_ci
4067db96d56Sopenharmony_ci/* Define to `long' if <sys/types.h> doesn't define.  */
4077db96d56Sopenharmony_ci/* #undef off_t */
4087db96d56Sopenharmony_ci
4097db96d56Sopenharmony_ci/* Define to `int' if <sys/types.h> doesn't define.  */
4107db96d56Sopenharmony_ci/* #undef pid_t */
4117db96d56Sopenharmony_ci
4127db96d56Sopenharmony_ci/* Define if the system does not provide POSIX.1 features except
4137db96d56Sopenharmony_ci   with this defined.  */
4147db96d56Sopenharmony_ci/* #undef _POSIX_1_SOURCE */
4157db96d56Sopenharmony_ci
4167db96d56Sopenharmony_ci/* Define if you need to in order for stat and other things to work.  */
4177db96d56Sopenharmony_ci/* #undef _POSIX_SOURCE */
4187db96d56Sopenharmony_ci
4197db96d56Sopenharmony_ci/* Define as the return type of signal handlers (int or void).  */
4207db96d56Sopenharmony_ci#define RETSIGTYPE void
4217db96d56Sopenharmony_ci
4227db96d56Sopenharmony_ci/* Define to `unsigned' if <sys/types.h> doesn't define.  */
4237db96d56Sopenharmony_ci/* #undef size_t */
4247db96d56Sopenharmony_ci
4257db96d56Sopenharmony_ci/* Define if you have the ANSI C header files.  */
4267db96d56Sopenharmony_ci#define STDC_HEADERS 1
4277db96d56Sopenharmony_ci
4287db96d56Sopenharmony_ci/* Define if you don't have dirent.h, but have sys/dir.h.  */
4297db96d56Sopenharmony_ci/* #undef SYSDIR */
4307db96d56Sopenharmony_ci
4317db96d56Sopenharmony_ci/* Define if you don't have dirent.h, but have sys/ndir.h.  */
4327db96d56Sopenharmony_ci/* #undef SYSNDIR */
4337db96d56Sopenharmony_ci
4347db96d56Sopenharmony_ci/* Define if you can safely include both <sys/time.h> and <time.h>.  */
4357db96d56Sopenharmony_ci/* #undef TIME_WITH_SYS_TIME */
4367db96d56Sopenharmony_ci
4377db96d56Sopenharmony_ci/* Define if your <sys/time.h> declares struct tm.  */
4387db96d56Sopenharmony_ci/* #define TM_IN_SYS_TIME 1 */
4397db96d56Sopenharmony_ci
4407db96d56Sopenharmony_ci/* Define to `int' if <sys/types.h> doesn't define.  */
4417db96d56Sopenharmony_ci/* #undef uid_t */
4427db96d56Sopenharmony_ci
4437db96d56Sopenharmony_ci/* Define if the closedir function returns void instead of int.  */
4447db96d56Sopenharmony_ci/* #undef VOID_CLOSEDIR */
4457db96d56Sopenharmony_ci
4467db96d56Sopenharmony_ci/* Define if getpgrp() must be called as getpgrp(0)
4477db96d56Sopenharmony_ci   and (consequently) setpgrp() as setpgrp(0, 0). */
4487db96d56Sopenharmony_ci/* #undef GETPGRP_HAVE_ARGS */
4497db96d56Sopenharmony_ci
4507db96d56Sopenharmony_ci/* Define this if your time.h defines altzone */
4517db96d56Sopenharmony_ci/* #define HAVE_ALTZONE */
4527db96d56Sopenharmony_ci
4537db96d56Sopenharmony_ci/* Define if you have the putenv function.  */
4547db96d56Sopenharmony_ci#define HAVE_PUTENV
4557db96d56Sopenharmony_ci
4567db96d56Sopenharmony_ci/* Define if your compiler supports function prototypes */
4577db96d56Sopenharmony_ci#define HAVE_PROTOTYPES
4587db96d56Sopenharmony_ci
4597db96d56Sopenharmony_ci/* Define if  you can safely include both <sys/select.h> and <sys/time.h>
4607db96d56Sopenharmony_ci   (which you can't on SCO ODT 3.0). */
4617db96d56Sopenharmony_ci/* #undef SYS_SELECT_WITH_SYS_TIME */
4627db96d56Sopenharmony_ci
4637db96d56Sopenharmony_ci/* Define if you want build the _decimal module using a coroutine-local rather
4647db96d56Sopenharmony_ci   than a thread-local context */
4657db96d56Sopenharmony_ci#define WITH_DECIMAL_CONTEXTVAR 1
4667db96d56Sopenharmony_ci
4677db96d56Sopenharmony_ci/* Define if you want documentation strings in extension modules */
4687db96d56Sopenharmony_ci#define WITH_DOC_STRINGS 1
4697db96d56Sopenharmony_ci
4707db96d56Sopenharmony_ci/* Define if you want to compile in rudimentary thread support */
4717db96d56Sopenharmony_ci/* #undef WITH_THREAD */
4727db96d56Sopenharmony_ci
4737db96d56Sopenharmony_ci/* Define if you want to use the GNU readline library */
4747db96d56Sopenharmony_ci/* #define WITH_READLINE 1 */
4757db96d56Sopenharmony_ci
4767db96d56Sopenharmony_ci/* Use Python's own small-block memory-allocator. */
4777db96d56Sopenharmony_ci#define WITH_PYMALLOC 1
4787db96d56Sopenharmony_ci
4797db96d56Sopenharmony_ci/* Define if you want to compile in object freelists optimization */
4807db96d56Sopenharmony_ci#define WITH_FREELISTS 1
4817db96d56Sopenharmony_ci
4827db96d56Sopenharmony_ci/* Define if you have clock.  */
4837db96d56Sopenharmony_ci/* #define HAVE_CLOCK */
4847db96d56Sopenharmony_ci
4857db96d56Sopenharmony_ci/* Define when any dynamic module loading is enabled */
4867db96d56Sopenharmony_ci#define HAVE_DYNAMIC_LOADING
4877db96d56Sopenharmony_ci
4887db96d56Sopenharmony_ci/* Define if you have ftime.  */
4897db96d56Sopenharmony_ci#define HAVE_FTIME
4907db96d56Sopenharmony_ci
4917db96d56Sopenharmony_ci/* Define if you have getpeername.  */
4927db96d56Sopenharmony_ci#define HAVE_GETPEERNAME
4937db96d56Sopenharmony_ci
4947db96d56Sopenharmony_ci/* Define if you have getpgrp.  */
4957db96d56Sopenharmony_ci/* #undef HAVE_GETPGRP */
4967db96d56Sopenharmony_ci
4977db96d56Sopenharmony_ci/* Define if you have getpid.  */
4987db96d56Sopenharmony_ci#define HAVE_GETPID
4997db96d56Sopenharmony_ci
5007db96d56Sopenharmony_ci/* Define if you have gettimeofday.  */
5017db96d56Sopenharmony_ci/* #undef HAVE_GETTIMEOFDAY */
5027db96d56Sopenharmony_ci
5037db96d56Sopenharmony_ci/* Define if you have getwd.  */
5047db96d56Sopenharmony_ci/* #undef HAVE_GETWD */
5057db96d56Sopenharmony_ci
5067db96d56Sopenharmony_ci/* Define if you have lstat.  */
5077db96d56Sopenharmony_ci/* #undef HAVE_LSTAT */
5087db96d56Sopenharmony_ci
5097db96d56Sopenharmony_ci/* Define if you have the mktime function.  */
5107db96d56Sopenharmony_ci#define HAVE_MKTIME
5117db96d56Sopenharmony_ci
5127db96d56Sopenharmony_ci/* Define if you have nice.  */
5137db96d56Sopenharmony_ci/* #undef HAVE_NICE */
5147db96d56Sopenharmony_ci
5157db96d56Sopenharmony_ci/* Define if you have readlink.  */
5167db96d56Sopenharmony_ci/* #undef HAVE_READLINK */
5177db96d56Sopenharmony_ci
5187db96d56Sopenharmony_ci/* Define if you have setpgid.  */
5197db96d56Sopenharmony_ci/* #undef HAVE_SETPGID */
5207db96d56Sopenharmony_ci
5217db96d56Sopenharmony_ci/* Define if you have setpgrp.  */
5227db96d56Sopenharmony_ci/* #undef HAVE_SETPGRP */
5237db96d56Sopenharmony_ci
5247db96d56Sopenharmony_ci/* Define if you have setsid.  */
5257db96d56Sopenharmony_ci/* #undef HAVE_SETSID */
5267db96d56Sopenharmony_ci
5277db96d56Sopenharmony_ci/* Define if you have setvbuf.  */
5287db96d56Sopenharmony_ci#define HAVE_SETVBUF
5297db96d56Sopenharmony_ci
5307db96d56Sopenharmony_ci/* Define if you have siginterrupt.  */
5317db96d56Sopenharmony_ci/* #undef HAVE_SIGINTERRUPT */
5327db96d56Sopenharmony_ci
5337db96d56Sopenharmony_ci/* Define to 1 if you have the `shutdown' function. */
5347db96d56Sopenharmony_ci#define HAVE_SHUTDOWN 1
5357db96d56Sopenharmony_ci
5367db96d56Sopenharmony_ci/* Define if you have symlink.  */
5377db96d56Sopenharmony_ci/* #undef HAVE_SYMLINK */
5387db96d56Sopenharmony_ci
5397db96d56Sopenharmony_ci/* Define if you have tcgetpgrp.  */
5407db96d56Sopenharmony_ci/* #undef HAVE_TCGETPGRP */
5417db96d56Sopenharmony_ci
5427db96d56Sopenharmony_ci/* Define if you have tcsetpgrp.  */
5437db96d56Sopenharmony_ci/* #undef HAVE_TCSETPGRP */
5447db96d56Sopenharmony_ci
5457db96d56Sopenharmony_ci/* Define if you have times.  */
5467db96d56Sopenharmony_ci/* #undef HAVE_TIMES */
5477db96d56Sopenharmony_ci
5487db96d56Sopenharmony_ci/* Define to 1 if you have the `umask' function. */
5497db96d56Sopenharmony_ci#define HAVE_UMASK 1
5507db96d56Sopenharmony_ci
5517db96d56Sopenharmony_ci/* Define if you have uname.  */
5527db96d56Sopenharmony_ci/* #undef HAVE_UNAME */
5537db96d56Sopenharmony_ci
5547db96d56Sopenharmony_ci/* Define if you have waitpid.  */
5557db96d56Sopenharmony_ci/* #undef HAVE_WAITPID */
5567db96d56Sopenharmony_ci
5577db96d56Sopenharmony_ci/* Define to 1 if you have the `wcsftime' function. */
5587db96d56Sopenharmony_ci#if defined(_MSC_VER) && _MSC_VER >= 1310
5597db96d56Sopenharmony_ci#define HAVE_WCSFTIME 1
5607db96d56Sopenharmony_ci#endif
5617db96d56Sopenharmony_ci
5627db96d56Sopenharmony_ci/* Define to 1 if you have the `wcscoll' function. */
5637db96d56Sopenharmony_ci#define HAVE_WCSCOLL 1
5647db96d56Sopenharmony_ci
5657db96d56Sopenharmony_ci/* Define to 1 if you have the `wcsxfrm' function. */
5667db96d56Sopenharmony_ci#define HAVE_WCSXFRM 1
5677db96d56Sopenharmony_ci
5687db96d56Sopenharmony_ci/* Define if the zlib library has inflateCopy */
5697db96d56Sopenharmony_ci#define HAVE_ZLIB_COPY 1
5707db96d56Sopenharmony_ci
5717db96d56Sopenharmony_ci/* Define if you have the <dlfcn.h> header file.  */
5727db96d56Sopenharmony_ci/* #undef HAVE_DLFCN_H */
5737db96d56Sopenharmony_ci
5747db96d56Sopenharmony_ci/* Define to 1 if you have the <errno.h> header file. */
5757db96d56Sopenharmony_ci#define HAVE_ERRNO_H 1
5767db96d56Sopenharmony_ci
5777db96d56Sopenharmony_ci/* Define if you have the <fcntl.h> header file.  */
5787db96d56Sopenharmony_ci#define HAVE_FCNTL_H 1
5797db96d56Sopenharmony_ci
5807db96d56Sopenharmony_ci/* Define to 1 if you have the <process.h> header file. */
5817db96d56Sopenharmony_ci#define HAVE_PROCESS_H 1
5827db96d56Sopenharmony_ci
5837db96d56Sopenharmony_ci/* Define to 1 if you have the <signal.h> header file. */
5847db96d56Sopenharmony_ci#define HAVE_SIGNAL_H 1
5857db96d56Sopenharmony_ci
5867db96d56Sopenharmony_ci/* Define if you have the <stdarg.h> prototypes.  */
5877db96d56Sopenharmony_ci#define HAVE_STDARG_PROTOTYPES
5887db96d56Sopenharmony_ci
5897db96d56Sopenharmony_ci/* Define if you have the <stddef.h> header file.  */
5907db96d56Sopenharmony_ci#define HAVE_STDDEF_H 1
5917db96d56Sopenharmony_ci
5927db96d56Sopenharmony_ci/* Define if you have the <sys/audioio.h> header file.  */
5937db96d56Sopenharmony_ci/* #undef HAVE_SYS_AUDIOIO_H */
5947db96d56Sopenharmony_ci
5957db96d56Sopenharmony_ci/* Define if you have the <sys/param.h> header file.  */
5967db96d56Sopenharmony_ci/* #define HAVE_SYS_PARAM_H 1 */
5977db96d56Sopenharmony_ci
5987db96d56Sopenharmony_ci/* Define if you have the <sys/select.h> header file.  */
5997db96d56Sopenharmony_ci/* #define HAVE_SYS_SELECT_H 1 */
6007db96d56Sopenharmony_ci
6017db96d56Sopenharmony_ci/* Define to 1 if you have the <sys/stat.h> header file.  */
6027db96d56Sopenharmony_ci#define HAVE_SYS_STAT_H 1
6037db96d56Sopenharmony_ci
6047db96d56Sopenharmony_ci/* Define if you have the <sys/time.h> header file.  */
6057db96d56Sopenharmony_ci/* #define HAVE_SYS_TIME_H 1 */
6067db96d56Sopenharmony_ci
6077db96d56Sopenharmony_ci/* Define if you have the <sys/times.h> header file.  */
6087db96d56Sopenharmony_ci/* #define HAVE_SYS_TIMES_H 1 */
6097db96d56Sopenharmony_ci
6107db96d56Sopenharmony_ci/* Define to 1 if you have the <sys/types.h> header file.  */
6117db96d56Sopenharmony_ci#define HAVE_SYS_TYPES_H 1
6127db96d56Sopenharmony_ci
6137db96d56Sopenharmony_ci/* Define if you have the <sys/un.h> header file.  */
6147db96d56Sopenharmony_ci/* #define HAVE_SYS_UN_H 1 */
6157db96d56Sopenharmony_ci
6167db96d56Sopenharmony_ci/* Define if you have the <sys/utime.h> header file.  */
6177db96d56Sopenharmony_ci/* #define HAVE_SYS_UTIME_H 1 */
6187db96d56Sopenharmony_ci
6197db96d56Sopenharmony_ci/* Define if you have the <sys/utsname.h> header file.  */
6207db96d56Sopenharmony_ci/* #define HAVE_SYS_UTSNAME_H 1 */
6217db96d56Sopenharmony_ci
6227db96d56Sopenharmony_ci/* Define if you have the <unistd.h> header file.  */
6237db96d56Sopenharmony_ci/* #define HAVE_UNISTD_H 1 */
6247db96d56Sopenharmony_ci
6257db96d56Sopenharmony_ci/* Define if you have the <utime.h> header file.  */
6267db96d56Sopenharmony_ci/* #define HAVE_UTIME_H 1 */
6277db96d56Sopenharmony_ci
6287db96d56Sopenharmony_ci/* Define if the compiler provides a wchar.h header file. */
6297db96d56Sopenharmony_ci#define HAVE_WCHAR_H 1
6307db96d56Sopenharmony_ci
6317db96d56Sopenharmony_ci/* The size of `wchar_t', as computed by sizeof. */
6327db96d56Sopenharmony_ci#define SIZEOF_WCHAR_T 2
6337db96d56Sopenharmony_ci
6347db96d56Sopenharmony_ci/* The size of `_Bool', as computed by sizeof. */
6357db96d56Sopenharmony_ci#define SIZEOF__BOOL 1
6367db96d56Sopenharmony_ci
6377db96d56Sopenharmony_ci/* The size of `pid_t', as computed by sizeof. */
6387db96d56Sopenharmony_ci#define SIZEOF_PID_T SIZEOF_INT
6397db96d56Sopenharmony_ci
6407db96d56Sopenharmony_ci/* Define if you have the dl library (-ldl).  */
6417db96d56Sopenharmony_ci/* #undef HAVE_LIBDL */
6427db96d56Sopenharmony_ci
6437db96d56Sopenharmony_ci/* Define if you have the mpc library (-lmpc).  */
6447db96d56Sopenharmony_ci/* #undef HAVE_LIBMPC */
6457db96d56Sopenharmony_ci
6467db96d56Sopenharmony_ci/* Define if you have the nsl library (-lnsl).  */
6477db96d56Sopenharmony_ci#define HAVE_LIBNSL 1
6487db96d56Sopenharmony_ci
6497db96d56Sopenharmony_ci/* Define if you have the seq library (-lseq).  */
6507db96d56Sopenharmony_ci/* #undef HAVE_LIBSEQ */
6517db96d56Sopenharmony_ci
6527db96d56Sopenharmony_ci/* Define if you have the socket library (-lsocket).  */
6537db96d56Sopenharmony_ci#define HAVE_LIBSOCKET 1
6547db96d56Sopenharmony_ci
6557db96d56Sopenharmony_ci/* Define if you have the sun library (-lsun).  */
6567db96d56Sopenharmony_ci/* #undef HAVE_LIBSUN */
6577db96d56Sopenharmony_ci
6587db96d56Sopenharmony_ci/* Define if you have the termcap library (-ltermcap).  */
6597db96d56Sopenharmony_ci/* #undef HAVE_LIBTERMCAP */
6607db96d56Sopenharmony_ci
6617db96d56Sopenharmony_ci/* Define if you have the termlib library (-ltermlib).  */
6627db96d56Sopenharmony_ci/* #undef HAVE_LIBTERMLIB */
6637db96d56Sopenharmony_ci
6647db96d56Sopenharmony_ci/* Define if you have the thread library (-lthread).  */
6657db96d56Sopenharmony_ci/* #undef HAVE_LIBTHREAD */
6667db96d56Sopenharmony_ci
6677db96d56Sopenharmony_ci/* WinSock does not use a bitmask in select, and uses
6687db96d56Sopenharmony_ci   socket handles greater than FD_SETSIZE */
6697db96d56Sopenharmony_ci#define Py_SOCKET_FD_CAN_BE_GE_FD_SETSIZE
6707db96d56Sopenharmony_ci
6717db96d56Sopenharmony_ci/* Define if C doubles are 64-bit IEEE 754 binary format, stored with the
6727db96d56Sopenharmony_ci   least significant byte first */
6737db96d56Sopenharmony_ci#define DOUBLE_IS_LITTLE_ENDIAN_IEEE754 1
6747db96d56Sopenharmony_ci
6757db96d56Sopenharmony_ci/* Define to 1 if you have the `erf' function. */
6767db96d56Sopenharmony_ci#define HAVE_ERF 1
6777db96d56Sopenharmony_ci
6787db96d56Sopenharmony_ci/* Define to 1 if you have the `erfc' function. */
6797db96d56Sopenharmony_ci#define HAVE_ERFC 1
6807db96d56Sopenharmony_ci
6817db96d56Sopenharmony_ci// netdb.h functions (provided by winsock.h)
6827db96d56Sopenharmony_ci#define HAVE_GETHOSTNAME 1
6837db96d56Sopenharmony_ci#define HAVE_GETHOSTBYADDR 1
6847db96d56Sopenharmony_ci#define HAVE_GETHOSTBYNAME 1
6857db96d56Sopenharmony_ci#define HAVE_GETPROTOBYNAME 1
6867db96d56Sopenharmony_ci#define HAVE_GETSERVBYNAME 1
6877db96d56Sopenharmony_ci#define HAVE_GETSERVBYPORT 1
6887db96d56Sopenharmony_ci// sys/socket.h functions (provided by winsock.h)
6897db96d56Sopenharmony_ci#define HAVE_INET_PTON 1
6907db96d56Sopenharmony_ci#define HAVE_INET_NTOA 1
6917db96d56Sopenharmony_ci#define HAVE_ACCEPT 1
6927db96d56Sopenharmony_ci#define HAVE_BIND 1
6937db96d56Sopenharmony_ci#define HAVE_CONNECT 1
6947db96d56Sopenharmony_ci#define HAVE_GETSOCKNAME 1
6957db96d56Sopenharmony_ci#define HAVE_LISTEN 1
6967db96d56Sopenharmony_ci#define HAVE_RECVFROM 1
6977db96d56Sopenharmony_ci#define HAVE_SENDTO 1
6987db96d56Sopenharmony_ci#define HAVE_SETSOCKOPT 1
6997db96d56Sopenharmony_ci#define HAVE_SOCKET 1
7007db96d56Sopenharmony_ci
7017db96d56Sopenharmony_ci/* Define to 1 if you have the `dup' function. */
7027db96d56Sopenharmony_ci#define HAVE_DUP 1
7037db96d56Sopenharmony_ci
7047db96d56Sopenharmony_ci/* framework name */
7057db96d56Sopenharmony_ci#define _PYTHONFRAMEWORK ""
7067db96d56Sopenharmony_ci
7077db96d56Sopenharmony_ci/* Define if libssl has X509_VERIFY_PARAM_set1_host and related function */
7087db96d56Sopenharmony_ci#define HAVE_X509_VERIFY_PARAM_SET1_HOST 1
7097db96d56Sopenharmony_ci
7107db96d56Sopenharmony_ci#endif /* !Py_CONFIG_H */
711