capi/cpython-func.h (1,814 lines of code) (raw):
/* Copyright (c) Facebook, Inc. and its affiliates. (http://www.facebook.com) */
#ifndef CPYTHON_FUNC_H
#define CPYTHON_FUNC_H
#include <math.h>
#include "cpython-types.h"
#include "pyconfig.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifndef PyAPI_FUNC_DECL
#define PyAPI_FUNC_DECL(DECL) __attribute__((visibility("default"))) DECL
#endif
#define PyAPI_FUNC(RTYPE) __attribute__((visibility("default"))) RTYPE
#ifdef __cplusplus
#define PyMODINIT_FUNC extern "C" PyObject*
#else
#define PyMODINIT_FUNC PyObject*
#endif
#define Py_LOCAL(type) static type
#define Py_LOCAL_INLINE(type) static inline type
#define Py_GCC_ATTRIBUTE(x) __attribute__(x)
#define Py_ALIGNED(x) __attribute__((aligned(x)))
#define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
#define Py_UNUSED(name) _unused_##name __attribute__((unused))
#ifndef _Py_NO_RETURN
#define _Py_NO_RETURN __attribute__((__noreturn__))
#endif
#define Py_UNREACHABLE() abort()
/* Singletons */
PyAPI_FUNC_DECL(PyTypeObject* PyAsyncGen_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyBaseObject_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyBool_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyByteArrayIter_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyByteArray_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyBytesIter_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyBytes_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyClassMethod_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyCode_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyComplex_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyCoro_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyDictItems_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyDictIterItem_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyDictIterKey_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyDictIterValue_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyDictKeys_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyDictProxy_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyDictValues_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyDict_Type_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyEllipsis_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyEllipsis_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyEnum_Type_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_ArithmeticError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_AssertionError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_AttributeError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_BaseException_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_BlockingIOError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_BrokenPipeError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_BufferError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_BytesWarning_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_ChildProcessError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_ConnectionAbortedError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_ConnectionError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_ConnectionRefusedError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_ConnectionResetError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_DeprecationWarning_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_EOFError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_Exception_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_FileExistsError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_FileNotFoundError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_FloatingPointError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_FutureWarning_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_GeneratorExit_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_ImportError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_ImportWarning_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_IndentationError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_IndexError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_InterruptedError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_IsADirectoryError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_KeyError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_KeyboardInterrupt_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_LookupError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_MemoryError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_ModuleNotFoundError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_NameError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_NotADirectoryError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_NotImplementedError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_OSError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_OverflowError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_PendingDeprecationWarning_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_PermissionError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_ProcessLookupError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_RecursionError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_ReferenceError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_ResourceWarning_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_RuntimeError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_RuntimeWarning_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_StopAsyncIteration_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_StopIteration_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_SyntaxError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_SyntaxWarning_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_SystemError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_SystemExit_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_TabError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_TimeoutError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_TypeError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_UnboundLocalError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_UnicodeDecodeError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_UnicodeEncodeError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_UnicodeError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_UnicodeTranslateError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_UnicodeWarning_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_UserWarning_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_ValueError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_Warning_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyExc_ZeroDivisionError_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyFalse_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyFloat_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyFrozenSet_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyFunction_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyGen_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyListIter_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyList_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyLongRangeIter_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyLong_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyMemoryView_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyMethod_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyModule_Type_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyNone_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyNotImplemented_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyProperty_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyRangeIter_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyRange_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PySeqIter_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PySetIter_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PySet_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PySlice_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyStaticMethod_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PySuper_Type_Ptr(void));
PyAPI_FUNC_DECL(PyObject* PyTrue_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyTupleIter_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyTuple_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyType_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyUnicodeIter_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* PyUnicode_Type_Ptr(void));
PyAPI_FUNC_DECL(const _Py_HashSecret_t* _Py_HashSecret_Ptr(void));
PyAPI_FUNC_DECL(PyObject* _PyLong_One_Ptr(void));
PyAPI_FUNC_DECL(PyObject* _PyLong_Zero_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* _PyNone_Type_Ptr(void));
PyAPI_FUNC_DECL(PyTypeObject* _PyNotImplemented_Type_Ptr(void));
PyAPI_FUNC_DECL(_PyRuntimeState* _PyRuntime_Ptr(void));
/* Macro helpers */
PyAPI_FUNC_DECL(int PyAnySet_CheckExact_Func(PyObject*));
PyAPI_FUNC_DECL(int PyAnySet_Check_Func(PyObject*));
PyAPI_FUNC_DECL(int PyBool_Check_Func(PyObject*));
PyAPI_FUNC_DECL(int PyByteArray_CheckExact_Func(PyObject*));
PyAPI_FUNC_DECL(int PyByteArray_Check_Func(PyObject*));
PyAPI_FUNC_DECL(int PyBytes_CheckExact_Func(PyObject*));
PyAPI_FUNC_DECL(int PyBytes_Check_Func(PyObject*));
PyAPI_FUNC_DECL(int PyCFunction_Check_Func(PyObject*));
PyAPI_FUNC_DECL(int PyCapsule_CheckExact_Func(PyObject*));
PyAPI_FUNC_DECL(int PyCode_Check_Func(PyObject*));
PyAPI_FUNC_DECL(Py_ssize_t PyCode_GetNumFree_Func(PyObject*));
PyAPI_FUNC_DECL(int PyComplex_CheckExact_Func(PyObject*));
PyAPI_FUNC_DECL(int PyComplex_Check_Func(PyObject*));
PyAPI_FUNC_DECL(int PyDict_CheckExact_Func(PyObject*));
PyAPI_FUNC_DECL(int PyDict_Check_Func(PyObject*));
PyAPI_FUNC_DECL(Py_ssize_t PyDict_GET_SIZE_Func(PyObject*));
PyAPI_FUNC_DECL(int PyExceptionClass_Check_Func(PyObject*));
PyAPI_FUNC_DECL(int PyExceptionInstance_Check_Func(PyObject*));
PyAPI_FUNC_DECL(int PyFloat_CheckExact_Func(PyObject*));
PyAPI_FUNC_DECL(int PyFloat_Check_Func(PyObject*));
PyAPI_FUNC_DECL(int PyFrozenSet_CheckExact_Func(PyObject*));
PyAPI_FUNC_DECL(int PyFrozenSet_Check_Func(PyObject*));
PyAPI_FUNC_DECL(int PyIndex_Check_Func(PyObject*));
PyAPI_FUNC_DECL(int PyIter_Check_Func(PyObject*));
PyAPI_FUNC_DECL(int PyList_CheckExact_Func(PyObject*));
PyAPI_FUNC_DECL(int PyList_Check_Func(PyObject*));
PyAPI_FUNC_DECL(int PyList_SET_ITEM_Func(PyObject*, Py_ssize_t, PyObject*));
PyAPI_FUNC_DECL(int PyLong_CheckExact_Func(PyObject*));
PyAPI_FUNC_DECL(int PyLong_Check_Func(PyObject*));
PyAPI_FUNC_DECL(void* PyMem_New_Func(size_t size, size_t n));
PyAPI_FUNC_DECL(int PyMemoryView_Check_Func(PyObject*));
PyAPI_FUNC_DECL(int PyMethod_Check_Func(PyObject*));
PyAPI_FUNC_DECL(int PyModule_CheckExact_Func(PyObject*));
PyAPI_FUNC_DECL(int PyModule_Check_Func(PyObject*));
PyAPI_FUNC_DECL(int PyObject_CheckBuffer_Func(PyObject*));
PyAPI_FUNC_DECL(int PyObject_TypeCheck_Func(PyObject*, PyTypeObject*));
PyAPI_FUNC_DECL(int PySet_Check_Func(PyObject*));
PyAPI_FUNC_DECL(PyObject* PySequence_Fast_GET_ITEM_Func(PyObject*, Py_ssize_t));
PyAPI_FUNC_DECL(Py_ssize_t PySequence_Fast_GET_SIZE_Func(PyObject*));
PyAPI_FUNC_DECL(PyObject* PySequence_ITEM_Func(PyObject*, Py_ssize_t));
PyAPI_FUNC_DECL(int PySlice_Check_Func(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyStructSequence_SET_ITEM_Func(PyObject*, Py_ssize_t,
PyObject*));
PyAPI_FUNC_DECL(int PyTraceBack_Check_Func(PyObject*));
PyAPI_FUNC_DECL(int PyTuple_CheckExact_Func(PyObject*));
PyAPI_FUNC_DECL(int PyTuple_Check_Func(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyTuple_GET_ITEM_Func(PyObject*, Py_ssize_t));
PyAPI_FUNC_DECL(Py_ssize_t PyTuple_GET_SIZE_Func(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyTuple_SET_ITEM_Func(PyObject*, Py_ssize_t,
PyObject*));
PyAPI_FUNC_DECL(int PyType_CheckExact_Func(PyObject*));
PyAPI_FUNC_DECL(int PyType_Check_Func(PyObject*));
PyAPI_FUNC_DECL(int PyUnicode_CheckExact_Func(PyObject*));
PyAPI_FUNC_DECL(int PyUnicode_Check_Func(PyObject*));
PyAPI_FUNC_DECL(void* PyUnicode_DATA_Func(PyObject*));
PyAPI_FUNC_DECL(Py_ssize_t PyUnicode_GET_LENGTH_Func(PyObject*));
PyAPI_FUNC_DECL(int PyUnicode_IS_ASCII_Func(PyObject*));
PyAPI_FUNC_DECL(int PyUnicode_KIND_Func(PyObject*));
PyAPI_FUNC_DECL(Py_UCS4 PyUnicode_READ_CHAR_Func(PyObject*, Py_ssize_t));
PyAPI_FUNC_DECL(Py_UCS4 PyUnicode_READ_Func(int, void*, Py_ssize_t));
PyAPI_FUNC_DECL(void PyUnicode_WRITE_Func(enum PyUnicode_Kind, void*,
Py_ssize_t, Py_UCS4));
PyAPI_FUNC_DECL(int PyWeakref_Check_Func(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyWeakref_GET_OBJECT_Func(PyObject*));
PyAPI_FUNC_DECL(void Py_DECREF_Func(PyObject*));
PyAPI_FUNC_DECL(int Py_EnterRecursiveCall_Func(const char*));
PyAPI_FUNC_DECL(void Py_INCREF_Func(PyObject*));
PyAPI_FUNC_DECL(void Py_LeaveRecursiveCall_Func(void));
PyAPI_FUNC_DECL(Py_ssize_t Py_REFCNT_Func(PyObject*));
PyAPI_FUNC_DECL(Py_ssize_t* Py_SIZE_Func(PyVarObject*));
PyAPI_FUNC_DECL(PyTypeObject* Py_TYPE_Func(PyObject* obj));
PyAPI_FUNC_DECL(void Py_SET_TYPE_Func(PyObject* obj, PyTypeObject* type));
PyAPI_FUNC_DECL(void Py_SET_REFCNT_Func(PyObject* obj, Py_ssize_t refcnt));
PyAPI_FUNC_DECL(int Py_UNICODE_ISALPHA_Func(Py_UCS4));
PyAPI_FUNC_DECL(int Py_UNICODE_ISDECIMAL_Func(Py_UCS4));
PyAPI_FUNC_DECL(int Py_UNICODE_ISDIGIT_Func(Py_UCS4));
PyAPI_FUNC_DECL(int Py_UNICODE_ISLINEBREAK_Func(Py_UCS4));
PyAPI_FUNC_DECL(int Py_UNICODE_ISLOWER_Func(Py_UCS4));
PyAPI_FUNC_DECL(int Py_UNICODE_ISNUMERIC_Func(Py_UCS4));
PyAPI_FUNC_DECL(int Py_UNICODE_ISPRINTABLE_Func(Py_UCS4));
PyAPI_FUNC_DECL(int Py_UNICODE_ISSPACE_Func(Py_UCS4));
PyAPI_FUNC_DECL(int Py_UNICODE_ISTITLE_Func(Py_UCS4));
PyAPI_FUNC_DECL(int Py_UNICODE_ISUPPER_Func(Py_UCS4));
PyAPI_FUNC_DECL(int Py_UNICODE_TODECIMAL_Func(Py_UCS4));
PyAPI_FUNC_DECL(int Py_UNICODE_TODIGIT_Func(Py_UCS4));
PyAPI_FUNC_DECL(Py_UCS4 Py_UNICODE_TOLOWER_Func(Py_UCS4));
PyAPI_FUNC_DECL(double Py_UNICODE_TONUMERIC_Func(Py_UCS4));
PyAPI_FUNC_DECL(Py_UCS4 Py_UNICODE_TOTITLE_Func(Py_UCS4));
PyAPI_FUNC_DECL(Py_UCS4 Py_UNICODE_TOUPPER_Func(Py_UCS4));
PyAPI_FUNC_DECL(void Py_XDECREF_Func(PyObject*));
PyAPI_FUNC_DECL(void Py_XINCREF_Func(PyObject*));
PyAPI_FUNC_DECL(PyObject* _PyCode_ConstantKey(PyObject*));
PyAPI_FUNC_DECL(int _PyObject_DebugMallocStats(FILE*));
PyAPI_FUNC_DECL(Py_ssize_t _PyObject_SIZE_Func(PyObject*));
PyAPI_FUNC_DECL(Py_ssize_t _PyObject_VAR_SIZE_Func(PyObject*, Py_ssize_t));
/* C-API functions */
PyAPI_FUNC_DECL(int _PyAST_Optimize(struct _mod*, PyArena* arena,
int optimize));
PyAPI_FUNC_DECL(PyCodeObject* PyAST_Compile(struct _mod*, const char*,
PyCompilerFlags*, PyArena*));
PyAPI_FUNC_DECL(PyCodeObject* PyAST_CompileEx(struct _mod*, const char*,
PyCompilerFlags*, int, PyArena*));
PyAPI_FUNC_DECL(PyCodeObject* PyAST_CompileObject(struct _mod*, PyObject*,
PyCompilerFlags*, int,
PyArena*));
PyAPI_FUNC_DECL(int PyArena_AddPyObject(PyArena*, PyObject*));
PyAPI_FUNC_DECL(void PyArena_Free(PyArena*));
PyAPI_FUNC_DECL(void* PyArena_Malloc(PyArena*, size_t));
PyAPI_FUNC_DECL(PyArena* PyArena_New(void));
PyAPI_FUNC_DECL(int PyArg_Parse(PyObject*, const char*, ...));
PyAPI_FUNC_DECL(int PyArg_ParseTuple(PyObject* args, const char* format, ...));
PyAPI_FUNC_DECL(int PyArg_ParseTupleAndKeywords(PyObject*, PyObject*,
const char*, char**, ...));
PyAPI_FUNC_DECL(int PyArg_UnpackTuple(PyObject*, const char*, Py_ssize_t,
Py_ssize_t, ...));
PyAPI_FUNC_DECL(int PyArg_VaParse(PyObject*, const char*, va_list));
PyAPI_FUNC_DECL(int PyArg_VaParseTupleAndKeywords(PyObject*, PyObject*,
const char*, char**,
va_list));
PyAPI_FUNC_DECL(int PyArg_ValidateKeywordArguments(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyBool_FromLong(long));
PyAPI_FUNC_DECL(int PyBuffer_FillInfo(Py_buffer*, PyObject*, void*, Py_ssize_t,
int, int));
PyAPI_FUNC_DECL(int PyBuffer_IsContiguous(const Py_buffer*, char));
PyAPI_FUNC_DECL(void PyBuffer_Release(Py_buffer*));
PyAPI_FUNC_DECL(char* PyByteArray_AsString(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyByteArray_Concat(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyByteArray_FromObject(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyByteArray_FromStringAndSize(const char*,
Py_ssize_t));
PyAPI_FUNC_DECL(int PyByteArray_Resize(PyObject*, Py_ssize_t));
PyAPI_FUNC_DECL(Py_ssize_t PyByteArray_Size(PyObject*));
PyAPI_FUNC_DECL(char* PyBytes_AsString(PyObject*));
PyAPI_FUNC_DECL(int PyBytes_AsStringAndSize(PyObject*, char**, Py_ssize_t*));
PyAPI_FUNC_DECL(void PyBytes_Concat(PyObject**, PyObject*));
PyAPI_FUNC_DECL(void PyBytes_ConcatAndDel(PyObject**, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyBytes_DecodeEscape(const char*, Py_ssize_t,
const char*, Py_ssize_t,
const char*));
PyAPI_FUNC_DECL(PyObject* PyBytes_FromFormat(const char*, ...));
PyAPI_FUNC_DECL(PyObject* PyBytes_FromFormatV(const char*, va_list));
PyAPI_FUNC_DECL(PyObject* PyBytes_FromObject(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyBytes_FromString(const char*));
PyAPI_FUNC_DECL(PyObject* PyBytes_FromStringAndSize(const char*, Py_ssize_t));
PyAPI_FUNC_DECL(PyObject* PyBytes_Repr(PyObject*, int));
PyAPI_FUNC_DECL(Py_ssize_t PyBytes_Size(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyCFunction_Call(PyObject*, PyObject*, PyObject*));
PyAPI_FUNC_DECL(int PyCFunction_GetFlags(PyObject*));
PyAPI_FUNC_DECL(PyCFunction PyCFunction_GetFunction(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyCFunction_GetSelf(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyCFunction_GET_SELF_Func(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyCFunction_New(PyMethodDef*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyCFunction_NewEx(PyMethodDef*, PyObject*,
PyObject*));
PyAPI_FUNC_DECL(PyObject* PyCallIter_New(PyObject*, PyObject*));
PyAPI_FUNC_DECL(int PyCallable_Check(PyObject*));
PyAPI_FUNC_DECL(void* PyCapsule_GetContext(PyObject*));
PyAPI_FUNC_DECL(PyCapsule_Destructor PyCapsule_GetDestructor(PyObject*));
PyAPI_FUNC_DECL(const char* PyCapsule_GetName(PyObject*));
PyAPI_FUNC_DECL(void* PyCapsule_GetPointer(PyObject*, const char*));
PyAPI_FUNC_DECL(void* PyCapsule_Import(const char*, int));
PyAPI_FUNC_DECL(int PyCapsule_IsValid(PyObject*, const char*));
PyAPI_FUNC_DECL(PyObject* PyCapsule_New(void*, const char*,
PyCapsule_Destructor));
PyAPI_FUNC_DECL(int PyCapsule_SetContext(PyObject*, void*));
PyAPI_FUNC_DECL(int PyCapsule_SetDestructor(PyObject*, PyCapsule_Destructor));
PyAPI_FUNC_DECL(int PyCapsule_SetName(PyObject*, const char*));
PyAPI_FUNC_DECL(int PyCapsule_SetPointer(PyObject*, void*));
PyAPI_FUNC_DECL(PyObject* PyClassMethod_New(PyObject*));
PyAPI_FUNC_DECL(PyCodeObject* PyCode_New(int, int, int, int, int, PyObject*,
PyObject*, PyObject*, PyObject*,
PyObject*, PyObject*, PyObject*,
PyObject*, int, PyObject*));
PyAPI_FUNC_DECL(PyCodeObject* PyCode_NewEmpty(const char*, const char*, int));
PyAPI_FUNC_DECL(PyCodeObject* PyCode_NewWithPosOnlyArgs(
int, int, int, int, int, int, PyObject*, PyObject*, PyObject*, PyObject*,
PyObject*, PyObject*, PyObject*, PyObject*, int, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyCodec_BackslashReplaceErrors(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyCodec_Decode(PyObject*, const char*, const char*));
PyAPI_FUNC_DECL(PyObject* PyCodec_Decoder(const char*));
PyAPI_FUNC_DECL(PyObject* PyCodec_Encode(PyObject*, const char*, const char*));
PyAPI_FUNC_DECL(PyObject* PyCodec_Encoder(const char*));
PyAPI_FUNC_DECL(PyObject* PyCodec_IgnoreErrors(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyCodec_IncrementalDecoder(const char*, const char*));
PyAPI_FUNC_DECL(PyObject* PyCodec_IncrementalEncoder(const char*, const char*));
PyAPI_FUNC_DECL(int PyCodec_KnownEncoding(const char*));
PyAPI_FUNC_DECL(PyObject* PyCodec_LookupError(const char*));
PyAPI_FUNC_DECL(PyObject* PyCodec_NameReplaceErrors(PyObject*));
PyAPI_FUNC_DECL(int PyCodec_Register(PyObject*));
PyAPI_FUNC_DECL(int PyCodec_RegisterError(const char*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyCodec_ReplaceErrors(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyCodec_StreamReader(const char*, PyObject*,
const char*));
PyAPI_FUNC_DECL(PyObject* PyCodec_StreamWriter(const char*, PyObject*,
const char*));
PyAPI_FUNC_DECL(PyObject* PyCodec_StrictErrors(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyCodec_XMLCharRefReplaceErrors(PyObject*));
PyAPI_FUNC_DECL(int PyCompile_OpcodeStackEffect(int, int));
PyAPI_FUNC_DECL(Py_complex PyComplex_AsCComplex(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyComplex_FromCComplex(Py_complex));
PyAPI_FUNC_DECL(PyObject* PyComplex_FromDoubles(double, double));
PyAPI_FUNC_DECL(double PyComplex_ImagAsDouble(PyObject*));
PyAPI_FUNC_DECL(double PyComplex_RealAsDouble(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyDescr_NAME_Func(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyDescr_NewClassMethod(PyTypeObject*, PyMethodDef*));
PyAPI_FUNC_DECL(PyObject* PyDescr_NewGetSet(PyTypeObject*, PyGetSetDef*));
PyAPI_FUNC_DECL(PyObject* PyDescr_NewMember(PyTypeObject*,
struct PyMemberDef*));
PyAPI_FUNC_DECL(PyObject* PyDescr_NewMethod(PyTypeObject*, PyMethodDef*));
PyAPI_FUNC_DECL(PyObject* PyDictProxy_New(PyObject*));
PyAPI_FUNC_DECL(void PyDict_Clear(PyObject*));
PyAPI_FUNC_DECL(int PyDict_Contains(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyDict_Copy(PyObject*));
PyAPI_FUNC_DECL(int PyDict_DelItem(PyObject*, PyObject*));
PyAPI_FUNC_DECL(int PyDict_DelItemString(PyObject*, const char*));
PyAPI_FUNC_DECL(PyObject* PyDict_GetItem(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyDict_GetItemString(PyObject*, const char*));
PyAPI_FUNC_DECL(PyObject* PyDict_GetItemWithError(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyDict_Items(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyDict_Keys(PyObject*));
PyAPI_FUNC_DECL(int PyDict_Merge(PyObject*, PyObject*, int));
PyAPI_FUNC_DECL(int PyDict_MergeFromSeq2(PyObject*, PyObject*, int));
PyAPI_FUNC_DECL(PyObject* PyDict_New(void));
PyAPI_FUNC_DECL(int PyDict_Next(PyObject*, Py_ssize_t*, PyObject**,
PyObject**));
PyAPI_FUNC_DECL(int PyDict_SetItem(PyObject*, PyObject*, PyObject*));
PyAPI_FUNC_DECL(int PyDict_SetItemString(PyObject*, const char*, PyObject*));
PyAPI_FUNC_DECL(Py_ssize_t PyDict_Size(PyObject*));
PyAPI_FUNC_DECL(int PyDict_Update(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyDict_Values(PyObject*));
PyAPI_FUNC_DECL(int PyErr_BadArgument(void));
PyAPI_FUNC_DECL(void PyErr_BadInternalCall(void));
PyAPI_FUNC_DECL(int PyErr_CheckSignals(void));
PyAPI_FUNC_DECL(void PyErr_Clear(void));
PyAPI_FUNC_DECL(void PyErr_Display(PyObject*, PyObject*, PyObject*));
PyAPI_FUNC_DECL(int PyErr_ExceptionMatches(PyObject*));
PyAPI_FUNC_DECL(void PyErr_Fetch(PyObject**, PyObject**, PyObject**));
PyAPI_FUNC_DECL(PyObject* PyErr_Format(PyObject*, const char*, ...));
PyAPI_FUNC_DECL(PyObject* PyErr_FormatV(PyObject*, const char*, va_list));
PyAPI_FUNC_DECL(void PyErr_GetExcInfo(PyObject**, PyObject**, PyObject**));
PyAPI_FUNC_DECL(int PyErr_GivenExceptionMatches(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyErr_NewException(const char*, PyObject*,
PyObject*));
PyAPI_FUNC_DECL(PyObject* PyErr_NewExceptionWithDoc(const char*, const char*,
PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyErr_NoMemory(void));
PyAPI_FUNC_DECL(void PyErr_NormalizeException(PyObject**, PyObject**,
PyObject**));
PyAPI_FUNC_DECL(PyObject* PyErr_Occurred(void));
PyAPI_FUNC_DECL(void PyErr_Print(void));
PyAPI_FUNC_DECL(void PyErr_PrintEx(int));
PyAPI_FUNC_DECL(PyObject* PyErr_ProgramText(const char*, int));
PyAPI_FUNC_DECL(PyObject* PyErr_ProgramTextObject(PyObject*, int));
PyAPI_FUNC_DECL(int PyErr_ResourceWarning(PyObject*, Py_ssize_t, const char*,
...));
PyAPI_FUNC_DECL(void PyErr_Restore(PyObject*, PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyErr_SetExcFromWindowsErr(PyObject*, int));
PyAPI_FUNC_DECL(PyObject* PyErr_SetExcFromWindowsErrWithFilename(PyObject*, int,
const char*));
PyAPI_FUNC_DECL(PyObject* PyErr_SetExcFromWindowsErrWithFilenameObject(
PyObject*, int, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyErr_SetExcFromWindowsErrWithFilenameObjects(
PyObject*, int, PyObject*, PyObject*));
PyAPI_FUNC_DECL(void PyErr_SetExcInfo(PyObject*, PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyErr_SetFromErrno(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyErr_SetFromErrnoWithFilename(PyObject*,
const char*));
PyAPI_FUNC_DECL(PyObject* PyErr_SetFromErrnoWithFilenameObject(PyObject*,
PyObject*));
PyAPI_FUNC_DECL(PyObject* PyErr_SetFromErrnoWithFilenameObjects(PyObject*,
PyObject*,
PyObject*));
PyAPI_FUNC_DECL(PyObject* PyErr_SetFromWindowsErr(int));
PyAPI_FUNC_DECL(PyObject* PyErr_SetFromWindowsErrWithFilename(int,
const char*));
PyAPI_FUNC_DECL(PyObject* PyErr_SetImportError(PyObject*, PyObject*,
PyObject*));
PyAPI_FUNC_DECL(PyObject* PyErr_SetImportErrorSubclass(PyObject*, PyObject*,
PyObject*, PyObject*));
PyAPI_FUNC_DECL(void PyErr_SetInterrupt(void));
PyAPI_FUNC_DECL(void PyErr_SetNone(PyObject*));
PyAPI_FUNC_DECL(void PyErr_SetObject(PyObject*, PyObject*));
PyAPI_FUNC_DECL(void PyErr_SetString(PyObject*, const char*));
PyAPI_FUNC_DECL(void PyErr_SyntaxLocation(const char*, int));
PyAPI_FUNC_DECL(void PyErr_SyntaxLocationEx(const char*, int, int));
PyAPI_FUNC_DECL(void PyErr_SyntaxLocationObject(PyObject*, int, int));
PyAPI_FUNC_DECL(int PyErr_WarnEx(PyObject*, const char*, Py_ssize_t));
PyAPI_FUNC_DECL(int PyErr_WarnExplicit(PyObject*, const char*, const char*, int,
const char*, PyObject*));
PyAPI_FUNC_DECL(int PyErr_WarnExplicitObject(PyObject*, PyObject*, PyObject*,
int, PyObject*, PyObject*));
PyAPI_FUNC_DECL(int PyErr_WarnFormat(PyObject*, Py_ssize_t, const char*, ...));
PyAPI_FUNC_DECL(void PyErr_WriteUnraisable(PyObject*));
PyAPI_FUNC_DECL(void PyEval_AcquireLock(void));
PyAPI_FUNC_DECL(void PyEval_AcquireThread(PyThreadState*));
PyAPI_FUNC_DECL(PyObject* PyEval_CallFunction(PyObject*, const char*, ...));
PyAPI_FUNC_DECL(PyObject* PyEval_CallMethod(PyObject*, const char*, const char*,
...));
PyAPI_FUNC_DECL(PyObject* PyEval_CallObjectWithKeywords(PyObject*, PyObject*,
PyObject*));
PyAPI_FUNC_DECL(PyObject* PyEval_EvalCode(PyObject*, PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyEval_EvalCodeEx(PyObject*, PyObject*, PyObject*,
PyObject**, int, PyObject**, int,
PyObject**, int, PyObject*,
PyObject*));
PyAPI_FUNC_DECL(PyObject* PyEval_EvalFrame(PyFrameObject*));
PyAPI_FUNC_DECL(PyObject* PyEval_EvalFrameEx(PyFrameObject*, int));
PyAPI_FUNC_DECL(PyObject* PyEval_GetBuiltins(void));
PyAPI_FUNC_DECL(PyFrameObject* PyEval_GetFrame(void));
PyAPI_FUNC_DECL(const char* PyEval_GetFuncDesc(PyObject*));
PyAPI_FUNC_DECL(const char* PyEval_GetFuncName(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyEval_GetGlobals(void));
PyAPI_FUNC_DECL(PyObject* PyEval_GetLocals(void));
PyAPI_FUNC_DECL(void PyEval_InitThreads(void));
PyAPI_FUNC_DECL(int PyEval_MergeCompilerFlags(PyCompilerFlags*));
PyAPI_FUNC_DECL(void PyEval_ReleaseLock(void));
PyAPI_FUNC_DECL(void PyEval_ReleaseThread(PyThreadState*));
PyAPI_FUNC_DECL(void PyEval_RestoreThread(PyThreadState*));
PyAPI_FUNC_DECL(PyThreadState* PyEval_SaveThread(void));
PyAPI_FUNC_DECL(void PyEval_SetProfile(Py_tracefunc, PyObject*));
PyAPI_FUNC_DECL(void PyEval_SetTrace(Py_tracefunc, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyException_GetCause(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyException_GetContext(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyException_GetTraceback(PyObject*));
PyAPI_FUNC_DECL(void PyException_SetCause(PyObject*, PyObject*));
PyAPI_FUNC_DECL(void PyException_SetContext(PyObject*, PyObject*));
PyAPI_FUNC_DECL(int PyException_SetTraceback(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyFile_GetLine(PyObject*, int));
PyAPI_FUNC_DECL(int PyFile_SetOpenCodeHook(Py_OpenCodeHookFunction hook,
void* userData));
PyAPI_FUNC_DECL(int PyFile_WriteObject(PyObject*, PyObject*, int));
PyAPI_FUNC_DECL(int PyFile_WriteString(const char*, PyObject*));
PyAPI_FUNC_DECL(double PyFloat_AsDouble(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyFloat_FromDouble(double));
PyAPI_FUNC_DECL(PyObject* PyFloat_FromString(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyFloat_GetInfo(void));
PyAPI_FUNC_DECL(double PyFloat_GetMax(void));
PyAPI_FUNC_DECL(double PyFloat_GetMin(void));
PyAPI_FUNC_DECL(void PyFrame_FastToLocals(PyFrameObject*));
PyAPI_FUNC_DECL(int PyFrame_GetLineNumber(PyFrameObject*));
PyAPI_FUNC_DECL(void PyFrame_LocalsToFast(PyFrameObject*, int));
PyAPI_FUNC_DECL(PyFrameObject* PyFrame_New(PyThreadState*, PyCodeObject*,
PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyFrozenSet_New(PyObject*));
PyAPI_FUNC_DECL(PyFutureFeatures* PyFuture_FromAST(struct _mod*, const char*));
PyAPI_FUNC_DECL(PyFutureFeatures* PyFuture_FromASTObject(struct _mod*,
PyObject*));
PyAPI_FUNC_DECL(Py_ssize_t PyGC_Collect(void));
PyAPI_FUNC_DECL(int PyGILState_Check(void));
PyAPI_FUNC_DECL(PyGILState_STATE PyGILState_Ensure(void));
PyAPI_FUNC_DECL(PyThreadState* PyGILState_GetThisThreadState(void));
PyAPI_FUNC_DECL(void PyGILState_Release(PyGILState_STATE));
PyAPI_FUNC_DECL(PyObject* PyImport_AddModule(const char*));
PyAPI_FUNC_DECL(PyObject* PyImport_AddModuleObject(PyObject*));
PyAPI_FUNC_DECL(int PyImport_AppendInittab(const char*, PyObject* (*)(void)));
PyAPI_FUNC_DECL(void PyImport_Cleanup(void));
PyAPI_FUNC_DECL(PyObject* PyImport_ExecCodeModule(const char*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyImport_ExecCodeModuleEx(const char*, PyObject*,
const char*));
PyAPI_FUNC_DECL(PyObject* PyImport_ExecCodeModuleObject(PyObject*, PyObject*,
PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyImport_ExecCodeModuleWithPathnames(
const char*, PyObject*, const char*, const char*));
PyAPI_FUNC_DECL(long PyImport_GetMagicNumber(void));
PyAPI_FUNC_DECL(const char* PyImport_GetMagicTag(void));
PyAPI_FUNC_DECL(PyObject* PyImport_GetModule(PyObject* name));
PyAPI_FUNC_DECL(PyObject* PyImport_GetModuleDict(void));
PyAPI_FUNC_DECL(PyObject* PyImport_Import(PyObject*));
PyAPI_FUNC_DECL(int PyImport_ImportFrozenModule(const char*));
PyAPI_FUNC_DECL(int PyImport_ImportFrozenModuleObject(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyImport_ImportModule(const char*));
PyAPI_FUNC_DECL(PyObject* PyImport_ImportModuleLevel(const char*, PyObject*,
PyObject*, PyObject*,
int));
PyAPI_FUNC_DECL(PyObject* PyImport_ImportModuleLevelObject(PyObject*, PyObject*,
PyObject*, PyObject*,
int));
PyAPI_FUNC_DECL(PyObject* PyImport_ImportModuleNoBlock(const char*));
PyAPI_FUNC_DECL(PyObject* PyImport_ReloadModule(PyObject*));
PyAPI_FUNC_DECL(int PyInstanceMethod_Check(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyInstanceMethod_GET_FUNCTION_Func(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyInstanceMethod_New(PyObject*));
PyAPI_FUNC_DECL(void PyInterpreterState_Clear(PyInterpreterState*));
PyAPI_FUNC_DECL(void PyInterpreterState_Delete(PyInterpreterState*));
PyAPI_FUNC_DECL(PyInterpreterState* PyInterpreterState_Head(void));
PyAPI_FUNC_DECL(PyInterpreterState* PyInterpreterState_Main(void));
PyAPI_FUNC_DECL(
PyInterpreterState* PyInterpreterState_Next(PyInterpreterState*));
PyAPI_FUNC_DECL(
PyThreadState* PyInterpreterState_ThreadHead(PyInterpreterState*));
PyAPI_FUNC_DECL(PyObject* PyIter_Next(PyObject*));
PyAPI_FUNC_DECL(int PyList_Append(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyList_AsTuple(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyList_GetItem(PyObject*, Py_ssize_t));
PyAPI_FUNC_DECL(PyObject* PyList_GetSlice(PyObject*, Py_ssize_t, Py_ssize_t));
PyAPI_FUNC_DECL(int PyList_Insert(PyObject*, Py_ssize_t, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyList_New(Py_ssize_t));
PyAPI_FUNC_DECL(int PyList_Reverse(PyObject*));
PyAPI_FUNC_DECL(int PyList_SetItem(PyObject*, Py_ssize_t, PyObject*));
PyAPI_FUNC_DECL(int PyList_SetSlice(PyObject*, Py_ssize_t, Py_ssize_t,
PyObject*));
PyAPI_FUNC_DECL(Py_ssize_t PyList_Size(PyObject*));
PyAPI_FUNC_DECL(int PyList_Sort(PyObject*));
PyAPI_FUNC_DECL(double PyLong_AsDouble(PyObject*));
PyAPI_FUNC_DECL(long PyLong_AsLong(PyObject*));
PyAPI_FUNC_DECL(long PyLong_AsLongAndOverflow(PyObject*, int*));
PyAPI_FUNC_DECL(long long PyLong_AsLongLong(PyObject*));
PyAPI_FUNC_DECL(long long PyLong_AsLongLongAndOverflow(PyObject*, int*));
PyAPI_FUNC_DECL(pid_t PyLong_AsPid(PyObject*));
PyAPI_FUNC_DECL(size_t PyLong_AsSize_t(PyObject*));
PyAPI_FUNC_DECL(Py_ssize_t PyLong_AsSsize_t(PyObject*));
PyAPI_FUNC_DECL(unsigned long PyLong_AsUnsignedLong(PyObject*));
PyAPI_FUNC_DECL(unsigned long long PyLong_AsUnsignedLongLong(PyObject*));
PyAPI_FUNC_DECL(unsigned long long PyLong_AsUnsignedLongLongMask(PyObject*));
PyAPI_FUNC_DECL(unsigned long PyLong_AsUnsignedLongMask(PyObject*));
PyAPI_FUNC_DECL(void* PyLong_AsVoidPtr(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyLong_FromDouble(double));
PyAPI_FUNC_DECL(PyObject* PyLong_FromLong(long));
PyAPI_FUNC_DECL(PyObject* PyLong_FromLongLong(long long));
PyAPI_FUNC_DECL(PyObject* PyLong_FromPid(pid_t));
PyAPI_FUNC_DECL(PyObject* PyLong_FromSize_t(size_t));
PyAPI_FUNC_DECL(PyObject* PyLong_FromSsize_t(Py_ssize_t));
PyAPI_FUNC_DECL(PyObject* PyLong_FromString(const char*, char**, int));
PyAPI_FUNC_DECL(PyObject* PyLong_FromUnsignedLong(unsigned long));
PyAPI_FUNC_DECL(PyObject* PyLong_FromUnsignedLongLong(unsigned long long));
PyAPI_FUNC_DECL(PyObject* PyLong_FromVoidPtr(void*));
PyAPI_FUNC_DECL(PyObject* PyLong_GetInfo(void));
PyAPI_FUNC_DECL(int PyMapping_Check(PyObject*));
PyAPI_FUNC_DECL(int PyMapping_DelItem(PyObject*, PyObject*));
PyAPI_FUNC_DECL(int PyMapping_DelItemString(PyObject*, const char*));
PyAPI_FUNC_DECL(PyObject* PyMapping_GetItemString(PyObject*, const char*));
PyAPI_FUNC_DECL(int PyMapping_HasKey(PyObject*, PyObject*));
PyAPI_FUNC_DECL(int PyMapping_HasKeyString(PyObject*, const char*));
PyAPI_FUNC_DECL(PyObject* PyMapping_Items(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyMapping_Keys(PyObject*));
PyAPI_FUNC_DECL(Py_ssize_t PyMapping_Length(PyObject*));
PyAPI_FUNC_DECL(int PyMapping_SetItemString(PyObject*, const char*, PyObject*));
PyAPI_FUNC_DECL(Py_ssize_t PyMapping_Size(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyMapping_Values(PyObject*));
PyAPI_FUNC_DECL(void* PyMem_Calloc(size_t, size_t));
PyAPI_FUNC_DECL(void PyMem_Del(void*));
PyAPI_FUNC_DECL(void PyMem_Free(void*));
PyAPI_FUNC_DECL(void* PyMem_Malloc(size_t));
PyAPI_FUNC_DECL(void* PyMem_RawCalloc(size_t, size_t));
PyAPI_FUNC_DECL(void PyMem_RawFree(void*));
PyAPI_FUNC_DECL(void* PyMem_RawMalloc(size_t));
PyAPI_FUNC_DECL(void* PyMem_RawRealloc(void*, size_t));
PyAPI_FUNC_DECL(void* PyMem_Realloc(void*, size_t));
PyAPI_FUNC_DECL(PyObject* PyMemoryView_FromMemory(char*, Py_ssize_t, int));
PyAPI_FUNC_DECL(PyObject* PyMemoryView_FromObject(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyMemoryView_GetContiguous(PyObject*, int, char));
PyAPI_FUNC_DECL(PyObject* PyMethod_Function(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyMethod_GET_FUNCTION_Func(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyMethod_GET_SELF_Func(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyMethod_New(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyMethod_Self(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyModuleDef_Init(struct PyModuleDef*));
PyAPI_FUNC_DECL(int PyModule_AddFunctions(PyObject*, PyMethodDef*));
PyAPI_FUNC_DECL(int PyModule_AddIntConstant(PyObject*, const char*, long));
PyAPI_FUNC_DECL(int PyModule_AddObject(PyObject*, const char*, PyObject*));
PyAPI_FUNC_DECL(int PyModule_AddStringConstant(PyObject*, const char*,
const char*));
PyAPI_FUNC_DECL(PyObject* PyModule_Create2(struct PyModuleDef*, int));
PyAPI_FUNC_DECL(int PyModule_ExecDef(PyObject*, PyModuleDef*));
PyAPI_FUNC_DECL(PyObject* PyModule_FromDefAndSpec2(struct PyModuleDef*,
PyObject*, int));
PyAPI_FUNC_DECL(PyModuleDef* PyModule_GetDef(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyModule_GetDict(PyObject*));
PyAPI_FUNC_DECL(const char* PyModule_GetFilename(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyModule_GetFilenameObject(PyObject*));
PyAPI_FUNC_DECL(const char* PyModule_GetName(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyModule_GetNameObject(PyObject*));
PyAPI_FUNC_DECL(void* PyModule_GetState(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyModule_New(const char*));
PyAPI_FUNC_DECL(PyObject* PyModule_NewObject(PyObject*));
PyAPI_FUNC_DECL(int PyModule_SetDocString(PyObject*, const char*));
PyAPI_FUNC_DECL(PyCodeObject* PyNode_Compile(struct _node*, const char*));
PyAPI_FUNC_DECL(PyObject* PyNumber_Absolute(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_Add(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_And(PyObject*, PyObject*));
PyAPI_FUNC_DECL(Py_ssize_t PyNumber_AsSsize_t(PyObject*, PyObject*));
PyAPI_FUNC_DECL(int PyNumber_Check(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_Divmod(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_Float(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_FloorDivide(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_InPlaceAdd(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_InPlaceAnd(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_InPlaceFloorDivide(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_InPlaceLshift(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_InPlaceMatrixMultiply(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_InPlaceMultiply(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_InPlaceOr(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_InPlacePower(PyObject*, PyObject*,
PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_InPlaceRemainder(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_InPlaceRshift(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_InPlaceSubtract(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_InPlaceTrueDivide(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_InPlaceXor(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_Index(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_Invert(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_Long(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_Lshift(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_MatrixMultiply(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_Multiply(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_Negative(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_Or(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_Positive(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_Power(PyObject*, PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_Remainder(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_Rshift(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_Subtract(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_ToBase(PyObject*, int));
PyAPI_FUNC_DECL(PyObject* PyNumber_TrueDivide(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyNumber_Xor(PyObject*, PyObject*));
PyAPI_FUNC_DECL(int PyODict_DelItem(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyODict_New(void));
PyAPI_FUNC_DECL(int PyODict_SetItem(PyObject*, PyObject*, PyObject*));
PyAPI_FUNC_DECL(void PyOS_AfterFork(void));
PyAPI_FUNC_DECL(void PyOS_AfterFork_Child(void));
PyAPI_FUNC_DECL(void PyOS_AfterFork_Parent(void));
PyAPI_FUNC_DECL(void PyOS_BeforeFork(void));
PyAPI_FUNC_DECL(int PyOS_CheckStack(void));
PyAPI_FUNC_DECL(PyObject* PyOS_FSPath(PyObject*));
PyAPI_FUNC_DECL(void PyOS_InitInterrupts(void));
PyAPI_FUNC_DECL(int PyOS_InterruptOccurred(void));
PyAPI_FUNC_DECL(char* PyOS_double_to_string(double, char, int, int, int*));
PyAPI_FUNC_DECL(PyOS_sighandler_t PyOS_getsig(int));
PyAPI_FUNC_DECL(int PyOS_stricmp(const char*, const char*));
PyAPI_FUNC_DECL(int PyOS_strnicmp(const char*, const char*, Py_ssize_t));
PyAPI_FUNC_DECL(PyOS_sighandler_t PyOS_setsig(int, PyOS_sighandler_t));
PyAPI_FUNC_DECL(int PyOS_snprintf(char*, size_t, const char*, ...));
PyAPI_FUNC_DECL(double PyOS_string_to_double(const char*, char**, PyObject*));
PyAPI_FUNC_DECL(long PyOS_strtol(const char*, char**, int));
PyAPI_FUNC_DECL(unsigned long PyOS_strtoul(const char*, char**, int));
PyAPI_FUNC_DECL(int PyOS_vsnprintf(char*, size_t, const char*, va_list));
PyAPI_FUNC_DECL(PyObject* PyObject_ASCII(PyObject*));
PyAPI_FUNC_DECL(int PyObject_AsCharBuffer(PyObject*, const char**,
Py_ssize_t*));
PyAPI_FUNC_DECL(int PyObject_AsFileDescriptor(PyObject*));
PyAPI_FUNC_DECL(int PyObject_AsReadBuffer(PyObject*, const void**,
Py_ssize_t*));
PyAPI_FUNC_DECL(int PyObject_AsWriteBuffer(PyObject*, void**, Py_ssize_t*));
PyAPI_FUNC_DECL(PyObject* PyObject_Bytes(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyObject_Call(PyObject*, PyObject*, PyObject*));
PyAPI_FUNC_DECL(int PyObject_CallFinalizerFromDealloc(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyObject_CallFunction(PyObject*, const char*, ...));
PyAPI_FUNC_DECL(PyObject* PyObject_CallFunctionObjArgs(PyObject*, ...));
PyAPI_FUNC_DECL(PyObject* PyObject_CallMethod(PyObject*, const char*,
const char*, ...));
PyAPI_FUNC_DECL(PyObject* PyObject_CallMethodObjArgs(PyObject*, PyObject*,
...));
PyAPI_FUNC_DECL(PyObject* PyObject_CallObject(PyObject*, PyObject*));
PyAPI_FUNC_DECL(void* PyObject_Calloc(size_t, size_t));
PyAPI_FUNC_DECL(int PyObject_CheckReadBuffer(PyObject*));
PyAPI_FUNC_DECL(void PyObject_ClearWeakRefs(PyObject*));
PyAPI_FUNC_DECL(int PyObject_DelAttr(PyObject*, PyObject*));
PyAPI_FUNC_DECL(int PyObject_DelAttrString(PyObject*, const char*));
PyAPI_FUNC_DECL(int PyObject_DelItem(PyObject*, PyObject*));
PyAPI_FUNC_DECL(int PyObject_DelItemString(PyObject*, const char*));
PyAPI_FUNC_DECL(PyObject* PyObject_Dir(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyObject_Format(PyObject*, PyObject*));
PyAPI_FUNC_DECL(void PyObject_Free(void*));
PyAPI_FUNC_DECL(void PyObject_GC_Del(void*));
PyAPI_FUNC_DECL(void PyObject_GC_Track(void*));
PyAPI_FUNC_DECL(void PyObject_GC_UnTrack(void*));
PyAPI_FUNC_DECL(PyObject* PyObject_GenericGetAttr(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyObject_GenericGetDict(PyObject*, void*));
PyAPI_FUNC_DECL(int PyObject_GenericSetAttr(PyObject*, PyObject*, PyObject*));
PyAPI_FUNC_DECL(int PyObject_GenericSetDict(PyObject*, PyObject*, void*));
PyAPI_FUNC_DECL(PyObject* PyObject_GetAttr(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyObject_GetAttrString(PyObject*, const char*));
PyAPI_FUNC_DECL(int PyObject_GetBuffer(PyObject*, Py_buffer*, int));
PyAPI_FUNC_DECL(PyObject* PyObject_GetItem(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyObject_GetIter(PyObject*));
PyAPI_FUNC_DECL(int PyObject_HasAttr(PyObject*, PyObject*));
PyAPI_FUNC_DECL(int PyObject_HasAttrString(PyObject*, const char*));
PyAPI_FUNC_DECL(Py_hash_t PyObject_Hash(PyObject*));
PyAPI_FUNC_DECL(Py_hash_t PyObject_HashNotImplemented(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyObject_Init(PyObject*, PyTypeObject*));
PyAPI_FUNC_DECL(PyVarObject* PyObject_InitVar(PyVarObject*, PyTypeObject*,
Py_ssize_t));
PyAPI_FUNC_DECL(int PyObject_IsInstance(PyObject*, PyObject*));
PyAPI_FUNC_DECL(int PyObject_IsSubclass(PyObject*, PyObject*));
PyAPI_FUNC_DECL(int PyObject_IsTrue(PyObject*));
PyAPI_FUNC_DECL(Py_ssize_t PyObject_Length(PyObject*));
PyAPI_FUNC_DECL(Py_ssize_t PyObject_LengthHint(PyObject*, Py_ssize_t));
PyAPI_FUNC_DECL(void* PyObject_Malloc(size_t));
PyAPI_FUNC_DECL(int PyObject_Not(PyObject*));
PyAPI_FUNC_DECL(int PyObject_Print(PyObject*, FILE*, int));
PyAPI_FUNC_DECL(void* PyObject_Realloc(void*, size_t));
PyAPI_FUNC_DECL(PyObject* PyObject_Repr(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyObject_RichCompare(PyObject*, PyObject*, int));
PyAPI_FUNC_DECL(int PyObject_RichCompareBool(PyObject*, PyObject*, int));
PyAPI_FUNC_DECL(PyObject* PyObject_SelfIter(PyObject*));
PyAPI_FUNC_DECL(int PyObject_SetAttr(PyObject*, PyObject*, PyObject*));
PyAPI_FUNC_DECL(int PyObject_SetAttrString(PyObject*, const char*, PyObject*));
PyAPI_FUNC_DECL(int PyObject_SetItem(PyObject*, PyObject*, PyObject*));
PyAPI_FUNC_DECL(Py_ssize_t PyObject_Size(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyObject_Str(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyObject_Type(PyObject*));
PyAPI_FUNC_DECL(const char* PyObject_TypeName(PyObject*));
PyAPI_FUNC_DECL(struct _mod* PyParser_ASTFromFile(FILE*, const char*,
const char*, int, const char*,
const char*, PyCompilerFlags*,
int*, PyArena*));
PyAPI_FUNC_DECL(struct _mod* PyParser_ASTFromFileObject(
FILE*, PyObject*, const char*, int, const char*, const char*,
PyCompilerFlags*, int*, PyArena*));
PyAPI_FUNC_DECL(struct _mod* PyParser_ASTFromString(const char*, const char*,
int, PyCompilerFlags*,
PyArena*));
PyAPI_FUNC_DECL(struct _mod* PyParser_ASTFromStringObject(
const char*, PyObject*, int, PyCompilerFlags*, PyArena*));
PyAPI_FUNC_DECL(struct _node* PyParser_SimpleParseFileFlags(FILE*, const char*,
int, int));
PyAPI_FUNC_DECL(struct _node* PyParser_SimpleParseStringFlags(const char*, int,
int));
PyAPI_FUNC_DECL(struct _node* PyParser_SimpleParseStringFlagsFilename(
const char*, const char*, int, int));
PyAPI_FUNC_DECL(int PyRun_AnyFile(FILE*, const char*));
PyAPI_FUNC_DECL(int PyRun_AnyFileEx(FILE*, const char*, int));
PyAPI_FUNC_DECL(int PyRun_AnyFileExFlags(FILE*, const char*, int,
PyCompilerFlags*));
PyAPI_FUNC_DECL(int PyRun_AnyFileFlags(FILE*, const char*, PyCompilerFlags*));
PyAPI_FUNC_DECL(PyObject* PyRun_File(FILE*, const char*, int, PyObject*,
PyObject*));
PyAPI_FUNC_DECL(PyObject* PyRun_FileEx(FILE*, const char*, int, PyObject*,
PyObject*, int));
PyAPI_FUNC_DECL(PyObject* PyRun_FileExFlags(FILE*, const char*, int, PyObject*,
PyObject*, int, PyCompilerFlags*));
PyAPI_FUNC_DECL(PyObject* PyRun_FileFlags(FILE*, const char*, int, PyObject*,
PyObject*, PyCompilerFlags*));
PyAPI_FUNC_DECL(int PyRun_InteractiveLoop(FILE*, const char*));
PyAPI_FUNC_DECL(int PyRun_InteractiveLoopFlags(FILE*, const char*,
PyCompilerFlags*));
PyAPI_FUNC_DECL(int PyRun_SimpleFile(FILE*, const char*));
PyAPI_FUNC_DECL(int PyRun_SimpleFileEx(FILE*, const char*, int));
PyAPI_FUNC_DECL(int PyRun_SimpleFileExFlags(FILE*, const char*, int,
PyCompilerFlags*));
PyAPI_FUNC_DECL(int PyRun_SimpleString(const char*));
PyAPI_FUNC_DECL(int PyRun_SimpleStringFlags(const char*, PyCompilerFlags*));
PyAPI_FUNC_DECL(PyObject* PyRun_String(const char*, int, PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyRun_StringFlags(const char*, int, PyObject*,
PyObject*, PyCompilerFlags*));
PyAPI_FUNC_DECL(PyObject* PySeqIter_New(PyObject*));
PyAPI_FUNC_DECL(int PySequence_Check(PyObject*));
PyAPI_FUNC_DECL(PyObject* PySequence_Concat(PyObject*, PyObject*));
PyAPI_FUNC_DECL(int PySequence_Contains(PyObject*, PyObject*));
PyAPI_FUNC_DECL(Py_ssize_t PySequence_Count(PyObject*, PyObject*));
PyAPI_FUNC_DECL(int PySequence_DelItem(PyObject*, Py_ssize_t));
PyAPI_FUNC_DECL(int PySequence_DelSlice(PyObject*, Py_ssize_t, Py_ssize_t));
PyAPI_FUNC_DECL(PyObject* PySequence_Fast(PyObject*, const char*));
PyAPI_FUNC_DECL(PyObject* PySequence_GetItem(PyObject*, Py_ssize_t));
PyAPI_FUNC_DECL(PyObject* PySequence_GetSlice(PyObject*, Py_ssize_t,
Py_ssize_t));
PyAPI_FUNC_DECL(int PySequence_In(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PySequence_InPlaceConcat(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PySequence_InPlaceRepeat(PyObject*, Py_ssize_t));
PyAPI_FUNC_DECL(Py_ssize_t PySequence_Index(PyObject*, PyObject*));
PyAPI_FUNC_DECL(Py_ssize_t PySequence_Length(PyObject*));
PyAPI_FUNC_DECL(PyObject* PySequence_List(PyObject*));
PyAPI_FUNC_DECL(PyObject* PySequence_Repeat(PyObject*, Py_ssize_t));
PyAPI_FUNC_DECL(int PySequence_SetItem(PyObject*, Py_ssize_t, PyObject*));
PyAPI_FUNC_DECL(int PySequence_SetSlice(PyObject*, Py_ssize_t, Py_ssize_t,
PyObject*));
PyAPI_FUNC_DECL(Py_ssize_t PySequence_Size(PyObject*));
PyAPI_FUNC_DECL(PyObject* PySequence_Tuple(PyObject*));
PyAPI_FUNC_DECL(int PySet_Add(PyObject*, PyObject*));
PyAPI_FUNC_DECL(int PySet_Clear(PyObject*));
PyAPI_FUNC_DECL(int PySet_Contains(PyObject*, PyObject*));
PyAPI_FUNC_DECL(int PySet_Discard(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PySet_New(PyObject*));
PyAPI_FUNC_DECL(PyObject* PySet_Pop(PyObject*));
PyAPI_FUNC_DECL(Py_ssize_t PySet_Size(PyObject*));
PyAPI_FUNC_DECL(Py_ssize_t PySlice_AdjustIndices(Py_ssize_t, Py_ssize_t*,
Py_ssize_t*, Py_ssize_t));
PyAPI_FUNC_DECL(int PySlice_GetIndices(PyObject*, Py_ssize_t, Py_ssize_t*,
Py_ssize_t*, Py_ssize_t*));
PyAPI_FUNC_DECL(int PySlice_GetIndicesEx(PyObject*, Py_ssize_t, Py_ssize_t*,
Py_ssize_t*, Py_ssize_t*,
Py_ssize_t*));
PyAPI_FUNC_DECL(PyObject* PySlice_New(PyObject*, PyObject*, PyObject*));
PyAPI_FUNC_DECL(int PySlice_Unpack(PyObject*, Py_ssize_t*, Py_ssize_t*,
Py_ssize_t*));
PyAPI_FUNC_DECL(int PyState_AddModule(PyObject*, struct PyModuleDef*));
PyAPI_FUNC_DECL(PyObject* PyState_FindModule(struct PyModuleDef*));
PyAPI_FUNC_DECL(int PyState_RemoveModule(struct PyModuleDef*));
PyAPI_FUNC_DECL(PyObject* PyStaticMethod_New(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyStructSequence_GetItem(PyObject*, Py_ssize_t));
PyAPI_FUNC_DECL(int PyStructSequence_InitType2(PyTypeObject*,
PyStructSequence_Desc*));
PyAPI_FUNC_DECL(PyObject* PyStructSequence_New(PyTypeObject*));
PyAPI_FUNC_DECL(PyTypeObject* PyStructSequence_NewType(PyStructSequence_Desc*));
PyAPI_FUNC_DECL(void PyStructSequence_SetItem(PyObject*, Py_ssize_t,
PyObject*));
PyAPI_FUNC_DECL(void PySys_AddWarnOption(const wchar_t*));
PyAPI_FUNC_DECL(void PySys_AddWarnOptionUnicode(PyObject*));
PyAPI_FUNC_DECL(void PySys_AddXOption(const wchar_t*));
PyAPI_FUNC_DECL(int PySys_Audit(const char*, const char*, ...));
PyAPI_FUNC_DECL(void PySys_FormatStderr(const char*, ...));
PyAPI_FUNC_DECL(void PySys_FormatStdout(const char*, ...));
PyAPI_FUNC_DECL(PyObject* PySys_GetObject(const char*));
PyAPI_FUNC_DECL(PyObject* PySys_GetXOptions(void));
PyAPI_FUNC_DECL(int PySys_HasWarnOptions(void));
PyAPI_FUNC_DECL(void PySys_ResetWarnOptions(void));
PyAPI_FUNC_DECL(void PySys_SetArgv(int, wchar_t**));
PyAPI_FUNC_DECL(void PySys_SetArgvEx(int, wchar_t**, int));
PyAPI_FUNC_DECL(int PySys_SetObject(const char*, PyObject*));
PyAPI_FUNC_DECL(void PySys_SetPath(const wchar_t*));
PyAPI_FUNC_DECL(void PySys_WriteStderr(const char*, ...));
PyAPI_FUNC_DECL(void PySys_WriteStdout(const char*, ...));
PyAPI_FUNC_DECL(void PyThreadState_Clear(PyThreadState*));
PyAPI_FUNC_DECL(void PyThreadState_Delete(PyThreadState*));
PyAPI_FUNC_DECL(void PyThreadState_DeleteCurrent(void));
PyAPI_FUNC_DECL(PyThreadState* PyThreadState_Get(void));
PyAPI_FUNC_DECL(PyObject* PyThreadState_GetDict(void));
PyAPI_FUNC_DECL(PyThreadState* PyThreadState_New(PyInterpreterState*));
PyAPI_FUNC_DECL(PyThreadState* PyThreadState_Next(PyThreadState*));
PyAPI_FUNC_DECL(int PyThreadState_SetAsyncExc(unsigned long, PyObject*));
PyAPI_FUNC_DECL(PyThreadState* PyThreadState_Swap(PyThreadState*));
PyAPI_FUNC_DECL(PyObject* PyThread_GetInfo(void));
PyAPI_FUNC_DECL(void PyThread_ReInitTLS(void));
PyAPI_FUNC_DECL(int PyThread_acquire_lock(PyThread_type_lock, int));
PyAPI_FUNC_DECL(PyLockStatus PyThread_acquire_lock_timed(PyThread_type_lock,
PY_TIMEOUT_T, int));
PyAPI_FUNC_DECL(PyThread_type_lock PyThread_allocate_lock(void));
PyAPI_FUNC_DECL(int PyThread_create_key(void));
PyAPI_FUNC_DECL(void PyThread_delete_key(int));
PyAPI_FUNC_DECL(void PyThread_delete_key_value(int));
PyAPI_FUNC_DECL(void PyThread_exit_thread(void));
PyAPI_FUNC_DECL(void PyThread_free_lock(PyThread_type_lock));
PyAPI_FUNC_DECL(void* PyThread_get_key_value(int));
PyAPI_FUNC_DECL(size_t PyThread_get_stacksize(void));
PyAPI_FUNC_DECL(unsigned long PyThread_get_thread_ident(void));
PyAPI_FUNC_DECL(void PyThread_init_thread(void));
PyAPI_FUNC_DECL(void PyThread_release_lock(PyThread_type_lock));
PyAPI_FUNC_DECL(int PyThread_set_key_value(int, void*));
PyAPI_FUNC_DECL(int PyThread_set_stacksize(size_t));
PyAPI_FUNC_DECL(long PyThread_start_new_thread(void (*)(void*), void*));
PyAPI_FUNC_DECL(int PyToken_OneChar(int));
PyAPI_FUNC_DECL(int PyToken_TwoChars(int, int));
PyAPI_FUNC_DECL(int PyToken_ThreeChars(int, int, int));
PyAPI_FUNC_DECL(int PyTraceBack_Here(PyFrameObject*));
PyAPI_FUNC_DECL(int PyTraceBack_Print(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyTuple_GetItem(PyObject*, Py_ssize_t));
PyAPI_FUNC_DECL(PyObject* PyTuple_GetSlice(PyObject*, Py_ssize_t, Py_ssize_t));
PyAPI_FUNC_DECL(PyObject* PyTuple_New(Py_ssize_t));
PyAPI_FUNC_DECL(PyObject* PyTuple_Pack(Py_ssize_t, ...));
PyAPI_FUNC_DECL(int PyTuple_SetItem(PyObject*, Py_ssize_t, PyObject*));
PyAPI_FUNC_DECL(Py_ssize_t PyTuple_Size(PyObject*));
PyAPI_FUNC_DECL(unsigned int PyType_ClearCache(void));
PyAPI_FUNC_DECL(PyObject* PyType_FromSpec(PyType_Spec*));
PyAPI_FUNC_DECL(PyObject* PyType_FromSpecWithBases(PyType_Spec*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyType_GenericAlloc(PyTypeObject*, Py_ssize_t));
PyAPI_FUNC_DECL(PyObject* PyType_GenericNew(PyTypeObject*, PyObject*,
PyObject*));
PyAPI_FUNC_DECL(unsigned long PyType_GetFlags(PyTypeObject*));
PyAPI_FUNC_DECL(void* PyType_GetSlot(PyTypeObject*, int));
PyAPI_FUNC_DECL(int PyType_IsSubtype(PyTypeObject*, PyTypeObject*));
PyAPI_FUNC_DECL(void PyType_Modified(PyTypeObject*));
PyAPI_FUNC_DECL(int PyType_Ready(PyTypeObject*));
PyAPI_FUNC_DECL(PyObject* PyUnicodeDecodeError_Create(const char*, const char*,
Py_ssize_t, Py_ssize_t,
Py_ssize_t, const char*));
PyAPI_FUNC_DECL(PyObject* PyUnicodeDecodeError_GetEncoding(PyObject*));
PyAPI_FUNC_DECL(int PyUnicodeDecodeError_GetEnd(PyObject*, Py_ssize_t*));
PyAPI_FUNC_DECL(PyObject* PyUnicodeDecodeError_GetObject(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyUnicodeDecodeError_GetReason(PyObject*));
PyAPI_FUNC_DECL(int PyUnicodeDecodeError_GetStart(PyObject*, Py_ssize_t*));
PyAPI_FUNC_DECL(int PyUnicodeDecodeError_SetEnd(PyObject*, Py_ssize_t));
PyAPI_FUNC_DECL(int PyUnicodeDecodeError_SetReason(PyObject*, const char*));
PyAPI_FUNC_DECL(int PyUnicodeDecodeError_SetStart(PyObject*, Py_ssize_t));
PyAPI_FUNC_DECL(PyObject* PyUnicodeEncodeError_GetEncoding(PyObject*));
PyAPI_FUNC_DECL(int PyUnicodeEncodeError_GetEnd(PyObject*, Py_ssize_t*));
PyAPI_FUNC_DECL(PyObject* PyUnicodeEncodeError_GetObject(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyUnicodeEncodeError_GetReason(PyObject*));
PyAPI_FUNC_DECL(int PyUnicodeEncodeError_GetStart(PyObject*, Py_ssize_t*));
PyAPI_FUNC_DECL(int PyUnicodeEncodeError_SetEnd(PyObject*, Py_ssize_t));
PyAPI_FUNC_DECL(int PyUnicodeEncodeError_SetReason(PyObject*, const char*));
PyAPI_FUNC_DECL(int PyUnicodeEncodeError_SetStart(PyObject*, Py_ssize_t));
PyAPI_FUNC_DECL(int PyUnicodeTranslateError_GetEnd(PyObject*, Py_ssize_t*));
PyAPI_FUNC_DECL(PyObject* PyUnicodeTranslateError_GetObject(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyUnicodeTranslateError_GetReason(PyObject*));
PyAPI_FUNC_DECL(int PyUnicodeTranslateError_GetStart(PyObject*, Py_ssize_t*));
PyAPI_FUNC_DECL(int PyUnicodeTranslateError_SetEnd(PyObject*, Py_ssize_t));
PyAPI_FUNC_DECL(int PyUnicodeTranslateError_SetReason(PyObject*, const char*));
PyAPI_FUNC_DECL(int PyUnicodeTranslateError_SetStart(PyObject*, Py_ssize_t));
PyAPI_FUNC_DECL(void PyUnicode_Append(PyObject**, PyObject*));
PyAPI_FUNC_DECL(void PyUnicode_AppendAndDel(PyObject**, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_AsASCIIString(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_AsCharmapString(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_AsDecodedObject(PyObject*, const char*,
const char*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_AsDecodedUnicode(PyObject*, const char*,
const char*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_AsEncodedObject(PyObject*, const char*,
const char*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_AsEncodedString(PyObject*, const char*,
const char*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_AsEncodedUnicode(PyObject*, const char*,
const char*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_AsLatin1String(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_AsMBCSString(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_AsRawUnicodeEscapeString(PyObject*));
PyAPI_FUNC_DECL(Py_UCS4* PyUnicode_AsUCS4(PyObject*, Py_UCS4*, Py_ssize_t,
int));
PyAPI_FUNC_DECL(Py_UCS4* PyUnicode_AsUCS4Copy(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_AsUTF16String(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_AsUTF32String(PyObject*));
PyAPI_FUNC_DECL(const char* PyUnicode_AsUTF8(PyObject*));
PyAPI_FUNC_DECL(const char* PyUnicode_AsUTF8AndSize(PyObject*, Py_ssize_t*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_AsUTF8String(PyObject*));
PyAPI_FUNC_DECL(Py_UNICODE* PyUnicode_AsUnicode(PyObject*));
PyAPI_FUNC_DECL(Py_UNICODE* PyUnicode_AsUnicodeAndSize(PyObject*, Py_ssize_t*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_AsUnicodeEscapeString(PyObject*));
PyAPI_FUNC_DECL(Py_ssize_t PyUnicode_AsWideChar(PyObject*, wchar_t*,
Py_ssize_t));
PyAPI_FUNC_DECL(wchar_t* PyUnicode_AsWideCharString(PyObject*, Py_ssize_t*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_BuildEncodingMap(PyObject*));
PyAPI_FUNC_DECL(int PyUnicode_Compare(PyObject*, PyObject*));
PyAPI_FUNC_DECL(int PyUnicode_CompareWithASCIIString(PyObject*, const char*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_Concat(PyObject*, PyObject*));
PyAPI_FUNC_DECL(int PyUnicode_Contains(PyObject*, PyObject*));
PyAPI_FUNC_DECL(Py_ssize_t PyUnicode_Count(PyObject*, PyObject*, Py_ssize_t,
Py_ssize_t));
PyAPI_FUNC_DECL(PyObject* PyUnicode_Decode(const char*, Py_ssize_t, const char*,
const char*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeASCII(const char*, Py_ssize_t,
const char*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeCharmap(const char*, Py_ssize_t,
PyObject*, const char*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeCodePageStateful(
int, const char*, Py_ssize_t, const char*, Py_ssize_t*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeFSDefault(const char*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeFSDefaultAndSize(const char*,
Py_ssize_t));
PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeLatin1(const char*, Py_ssize_t,
const char*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeLocale(const char*, const char*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeLocaleAndSize(const char*, Py_ssize_t,
const char*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeMBCS(const char*, Py_ssize_t,
const char*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeMBCSStateful(const char*, Py_ssize_t,
const char*,
Py_ssize_t*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeRawUnicodeEscape(const char*,
Py_ssize_t,
const char*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeUTF16(const char*, Py_ssize_t,
const char*, int*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeUTF16Stateful(const char*, Py_ssize_t,
const char*, int*,
Py_ssize_t*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeUTF32(const char*, Py_ssize_t,
const char*, int*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeUTF32Stateful(const char*, Py_ssize_t,
const char*, int*,
Py_ssize_t*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeUTF7(const char*, Py_ssize_t,
const char*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeUTF7Stateful(const char*, Py_ssize_t,
const char*,
Py_ssize_t*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeUTF8(const char*, Py_ssize_t,
const char*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeUTF8Stateful(const char*, Py_ssize_t,
const char*,
Py_ssize_t*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeUnicodeEscape(const char*, Py_ssize_t,
const char*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_EncodeCodePage(int, PyObject*,
const char*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_EncodeFSDefault(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_EncodeLocale(PyObject*, const char*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_EncodeUTF16(const Py_UNICODE*, Py_ssize_t,
const char*, int));
PyAPI_FUNC_DECL(PyObject* PyUnicode_EncodeUTF32(const Py_UNICODE*, Py_ssize_t,
const char*, int));
PyAPI_FUNC_DECL(int PyUnicode_FSConverter(PyObject*, void*));
PyAPI_FUNC_DECL(int PyUnicode_FSDecoder(PyObject*, void*));
PyAPI_FUNC_DECL(Py_ssize_t PyUnicode_Find(PyObject*, PyObject*, Py_ssize_t,
Py_ssize_t, int));
PyAPI_FUNC_DECL(Py_ssize_t PyUnicode_FindChar(PyObject*, Py_UCS4, Py_ssize_t,
Py_ssize_t, int));
PyAPI_FUNC_DECL(PyObject* PyUnicode_Format(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_FromEncodedObject(PyObject*, const char*,
const char*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_FromFormat(const char*, ...));
PyAPI_FUNC_DECL(PyObject* PyUnicode_FromFormatV(const char*, va_list));
PyAPI_FUNC_DECL(PyObject* PyUnicode_FromKindAndData(int, const void*,
Py_ssize_t));
PyAPI_FUNC_DECL(PyObject* PyUnicode_FromObject(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_FromOrdinal(int));
PyAPI_FUNC_DECL(PyObject* PyUnicode_FromString(const char*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_FromStringAndSize(const char*, Py_ssize_t));
PyAPI_FUNC_DECL(PyObject* PyUnicode_FromUnicode(const Py_UNICODE*, Py_ssize_t));
PyAPI_FUNC_DECL(PyObject* PyUnicode_FromWideChar(const wchar_t*, Py_ssize_t));
PyAPI_FUNC_DECL(const char* PyUnicode_GetDefaultEncoding(void));
PyAPI_FUNC_DECL(Py_ssize_t PyUnicode_GetLength(PyObject*));
PyAPI_FUNC_DECL(Py_ssize_t PyUnicode_GetSize(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_InternFromString(const char*));
PyAPI_FUNC_DECL(void PyUnicode_InternImmortal(PyObject**));
PyAPI_FUNC_DECL(void PyUnicode_InternInPlace(PyObject**));
PyAPI_FUNC_DECL(int PyUnicode_IsIdentifier(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_Join(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_New(Py_ssize_t, Py_UCS4));
PyAPI_FUNC_DECL(PyObject* PyUnicode_Partition(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_RPartition(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyUnicode_RSplit(PyObject*, PyObject*, Py_ssize_t));
PyAPI_FUNC_DECL(Py_UCS4 PyUnicode_ReadChar(PyObject*, Py_ssize_t));
PyAPI_FUNC_DECL(PyObject* PyUnicode_Replace(PyObject*, PyObject*, PyObject*,
Py_ssize_t));
PyAPI_FUNC_DECL(int PyUnicode_Resize(PyObject**, Py_ssize_t));
PyAPI_FUNC_DECL(PyObject* PyUnicode_RichCompare(PyObject*, PyObject*, int));
PyAPI_FUNC_DECL(PyObject* PyUnicode_Split(PyObject*, PyObject*, Py_ssize_t));
PyAPI_FUNC_DECL(PyObject* PyUnicode_Splitlines(PyObject*, int));
PyAPI_FUNC_DECL(PyObject* PyUnicode_Substring(PyObject*, Py_ssize_t,
Py_ssize_t));
PyAPI_FUNC_DECL(Py_ssize_t PyUnicode_Tailmatch(PyObject*, PyObject*, Py_ssize_t,
Py_ssize_t, int));
PyAPI_FUNC_DECL(PyObject* PyUnicode_Translate(PyObject*, PyObject*,
const char*));
PyAPI_FUNC_DECL(int PyUnicode_WriteChar(PyObject*, Py_ssize_t, Py_UCS4));
PyAPI_FUNC_DECL(PyObject* PyWeakref_GetObject(PyObject*));
PyAPI_FUNC_DECL(PyObject* PyWeakref_NewProxy(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyWeakref_NewRef(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* PyWrapper_New(PyObject*, PyObject*));
PyAPI_FUNC_DECL(int Py_AddPendingCall(int (*)(void*), void*));
PyAPI_FUNC_DECL(int Py_AtExit(void (*)(void)));
PyAPI_FUNC_DECL(PyObject* Py_BuildValue(const char*, ...));
PyAPI_FUNC_DECL(int Py_BytesMain(int, char**));
PyAPI_FUNC_DECL(PyObject* Py_CompileString(const char*, const char*, int));
PyAPI_FUNC_DECL(void Py_DecRef(PyObject*));
PyAPI_FUNC_DECL(wchar_t* Py_DecodeLocale(const char*, size_t*));
PyAPI_FUNC_DECL(char* Py_EncodeLocale(const wchar_t*, size_t*));
PyAPI_FUNC_DECL(void Py_EndInterpreter(PyThreadState*));
PyAPI_FUNC_DECL(void Py_Exit(int));
PyAPI_FUNC_DECL(void Py_FatalError(const char*)) _Py_NO_RETURN;
PyAPI_FUNC_DECL(void Py_Finalize(void));
PyAPI_FUNC_DECL(int Py_FdIsInteractive(FILE*, const char*));
PyAPI_FUNC_DECL(int Py_FinalizeEx(void));
PyAPI_FUNC_DECL(const char* Py_GetBuildInfo(void));
PyAPI_FUNC_DECL(const char* Py_GetCompiler(void));
PyAPI_FUNC_DECL(const char* Py_GetCopyright(void));
PyAPI_FUNC_DECL(wchar_t* Py_GetExecPrefix(void));
PyAPI_FUNC_DECL(wchar_t* Py_GetPath(void));
PyAPI_FUNC_DECL(const char* Py_GetPlatform(void));
PyAPI_FUNC_DECL(wchar_t* Py_GetPrefix(void));
PyAPI_FUNC_DECL(wchar_t* Py_GetProgramFullPath(void));
PyAPI_FUNC_DECL(wchar_t* Py_GetProgramName(void));
PyAPI_FUNC_DECL(wchar_t* Py_GetPythonHome(void));
PyAPI_FUNC_DECL(int Py_GetRecursionLimit(void));
PyAPI_FUNC_DECL(const char* Py_GetVersion(void));
PyAPI_FUNC_DECL(int Py_ISALNUM_Func(unsigned char));
PyAPI_FUNC_DECL(int Py_ISALPHA_Func(unsigned char));
PyAPI_FUNC_DECL(int Py_ISDIGIT_Func(unsigned char));
PyAPI_FUNC_DECL(int Py_ISLOWER_Func(unsigned char));
PyAPI_FUNC_DECL(int Py_ISSPACE_Func(unsigned char));
PyAPI_FUNC_DECL(int Py_ISUPPER_Func(unsigned char));
PyAPI_FUNC_DECL(int Py_ISXDIGIT_Func(unsigned char));
PyAPI_FUNC_DECL(unsigned char Py_TOLOWER_Func(unsigned char));
PyAPI_FUNC_DECL(unsigned char Py_TOUPPER_Func(unsigned char));
PyAPI_FUNC_DECL(void Py_IncRef(PyObject*));
PyAPI_FUNC_DECL(void Py_Initialize(void));
PyAPI_FUNC_DECL(void Py_InitializeEx(int));
PyAPI_FUNC_DECL(int Py_IsInitialized(void));
PyAPI_FUNC_DECL(int Py_Main(int, wchar_t**));
PyAPI_FUNC_DECL(int Py_MakePendingCalls(void));
PyAPI_FUNC_DECL(PyThreadState* Py_NewInterpreter(void));
PyAPI_FUNC_DECL(int Py_ReprEnter(PyObject*));
PyAPI_FUNC_DECL(void Py_ReprLeave(PyObject*));
PyAPI_FUNC_DECL(void Py_SetPath(const wchar_t*));
PyAPI_FUNC_DECL(void Py_SetProgramName(const wchar_t*));
PyAPI_FUNC_DECL(void Py_SetPythonHome(const wchar_t*));
PyAPI_FUNC_DECL(void Py_SetRecursionLimit(int));
PyAPI_FUNC_DECL(struct symtable* Py_SymtableString(const char*, const char*,
int));
PyAPI_FUNC_DECL(struct symtable* Py_SymtableStringObject(const char* str,
PyObject* filename,
int start));
PyAPI_FUNC_DECL(size_t Py_UNICODE_strlen(const Py_UNICODE*));
PyAPI_FUNC_DECL(char* Py_UniversalNewlineFgets(char*, int, FILE*, PyObject*));
PyAPI_FUNC_DECL(PyObject* Py_VaBuildValue(const char*, va_list));
PyAPI_FUNC_DECL(void _PyArg_BadArgument(const char*, const char*, const char*,
PyObject*));
PyAPI_FUNC_DECL(int _PyArg_CheckPositional(const char*, Py_ssize_t, Py_ssize_t,
Py_ssize_t));
PyAPI_FUNC_DECL(void _PyArg_Fini(void));
PyAPI_FUNC_DECL(int _PyArg_NoKeywords(const char* funcname, PyObject* kw));
PyAPI_FUNC_DECL(int _PyArg_NoPositional(const char* funcname, PyObject* args));
PyAPI_FUNC_DECL(int _PyArg_ParseStack(PyObject* const* args, Py_ssize_t nargs,
const char* format, ...));
PyAPI_FUNC_DECL(int _PyArg_ParseStack_SizeT(PyObject* const* args,
Py_ssize_t nargs,
const char* format, ...));
PyAPI_FUNC_DECL(int _PyArg_ParseStackAndKeywords(PyObject* const*, Py_ssize_t,
PyObject*,
struct _PyArg_Parser*, ...));
PyAPI_FUNC_DECL(int _PyArg_ParseStackAndKeywords_SizeT(
PyObject* const*, Py_ssize_t, PyObject*, struct _PyArg_Parser*, ...));
PyAPI_FUNC_DECL(int _PyArg_ParseTupleAndKeywordsFast(PyObject*, PyObject*,
struct _PyArg_Parser*,
...));
PyAPI_FUNC_DECL(int _PyArg_ParseTupleAndKeywordsFast_SizeT(
PyObject*, PyObject*, struct _PyArg_Parser*, ...));
PyAPI_FUNC_DECL(int _PyArg_ParseTupleAndKeywords_SizeT(PyObject*, PyObject*,
const char*, char**,
...));
PyAPI_FUNC_DECL(int _PyArg_ParseTuple_SizeT(PyObject* args, const char* format,
...));
PyAPI_FUNC_DECL(int _PyArg_Parse_SizeT(PyObject*, const char*, ...));
PyAPI_FUNC_DECL(PyObject* const* _PyArg_UnpackKeywords(
PyObject* const*, Py_ssize_t, PyObject*, PyObject*, struct _PyArg_Parser*,
int, int, int, PyObject**));
PyAPI_FUNC_DECL(int _PyArg_UnpackStack(PyObject* const*, Py_ssize_t,
const char*, Py_ssize_t, Py_ssize_t,
...));
PyAPI_FUNC_DECL(int _PyArg_VaParseTupleAndKeywordsFast(PyObject*, PyObject*,
struct _PyArg_Parser*,
va_list));
PyAPI_FUNC_DECL(int _PyArg_VaParseTupleAndKeywordsFast_SizeT(
PyObject*, PyObject*, struct _PyArg_Parser*, va_list));
PyAPI_FUNC_DECL(int _PyArg_VaParseTupleAndKeywords_SizeT(PyObject*, PyObject*,
const char*, char**,
va_list));
PyAPI_FUNC_DECL(int _PyArg_VaParse_SizeT(PyObject*, const char*, va_list));
PyAPI_FUNC_DECL(void* _PyBytesWriter_Alloc(_PyBytesWriter* writer,
Py_ssize_t size));
PyAPI_FUNC_DECL(void _PyBytesWriter_Dealloc(_PyBytesWriter* writer));
PyAPI_FUNC_DECL(PyObject* _PyBytesWriter_Finish(_PyBytesWriter* writer,
void* str));
PyAPI_FUNC_DECL(void _PyBytesWriter_Init(_PyBytesWriter* writer));
PyAPI_FUNC_DECL(void* _PyBytesWriter_Prepare(_PyBytesWriter* writer, void* str,
Py_ssize_t growth));
PyAPI_FUNC_DECL(void* _PyBytesWriter_Resize(_PyBytesWriter* writer, void* str,
Py_ssize_t new_size));
PyAPI_FUNC_DECL(void* _PyBytesWriter_WriteBytes(_PyBytesWriter* writer,
void* str, const void* bytes,
Py_ssize_t len));
PyAPI_FUNC_DECL(PyObject* _PyBytes_DecodeEscape(const char*, Py_ssize_t,
const char*, Py_ssize_t,
const char*, const char**));
PyAPI_FUNC_DECL(PyObject* _PyBytes_Join(PyObject*, PyObject*));
PyAPI_FUNC_DECL(int _PyBytes_Resize(PyObject**, Py_ssize_t));
PyAPI_FUNC_DECL(PyObject* _PyCodecInfo_GetIncrementalDecoder(PyObject*,
const char*));
PyAPI_FUNC_DECL(PyObject* _PyCodecInfo_GetIncrementalEncoder(PyObject*,
const char*));
PyAPI_FUNC_DECL(PyObject* _PyCodec_LookupTextEncoding(const char*,
const char*));
PyAPI_FUNC_DECL(PyObject* _PyDict_GetItem_KnownHash(PyObject* pydict,
PyObject* key,
Py_hash_t hash));
PyAPI_FUNC_DECL(int _PyDict_Next(PyObject*, Py_ssize_t*, PyObject**, PyObject**,
Py_hash_t*));
PyAPI_FUNC_DECL(int _PyDict_SetItem_KnownHash(PyObject* pydict, PyObject* key,
PyObject* value, Py_hash_t hash));
PyAPI_FUNC_DECL(void _PyErr_BadInternalCall(const char*, int));
PyAPI_FUNC_DECL(void _PyErr_ChainExceptions(PyObject*, PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* _PyErr_FormatFromCause(PyObject*, const char*, ...));
PyAPI_FUNC_DECL(PyObject* _PyEval_EvalFrameDefault(PyFrameObject*, int));
PyAPI_FUNC_DECL(void _PyEval_ReInitThreads(_PyRuntimeState*));
PyAPI_FUNC_DECL(int _PyFloat_Pack2(double x, unsigned char* p, int le));
PyAPI_FUNC_DECL(int _PyFloat_Pack4(double x, unsigned char* p, int le));
PyAPI_FUNC_DECL(int _PyFloat_Pack8(double x, unsigned char* p, int le));
PyAPI_FUNC_DECL(double _PyFloat_Unpack2(const unsigned char* p, int le));
PyAPI_FUNC_DECL(double _PyFloat_Unpack4(const unsigned char* p, int le));
PyAPI_FUNC_DECL(double _PyFloat_Unpack8(const unsigned char* p, int le));
PyAPI_FUNC_DECL(void _PyGILState_Reinit(_PyRuntimeState*));
PyAPI_FUNC_DECL(void _PyImport_AcquireLock(void));
PyAPI_FUNC_DECL(void _PyImport_ReInitLock(void));
PyAPI_FUNC_DECL(int _PyImport_ReleaseLock(void));
PyAPI_FUNC_DECL(void _PyInterpreterState_DeleteExceptMain(_PyRuntimeState*));
PyAPI_FUNC_DECL(PyInterpreterState* _PyInterpreterState_Get(void));
PyAPI_FUNC_DECL(int _PyLong_AsByteArray(PyLongObject*, unsigned char*, size_t,
int, int));
PyAPI_FUNC_DECL(int _PyLong_AsInt(PyObject*));
PyAPI_FUNC_DECL(time_t _PyLong_AsTime_t(PyObject*));
PyAPI_FUNC_DECL(PyObject* _PyLong_Copy(PyLongObject*));
PyAPI_FUNC_DECL(PyObject* _PyLong_DivmodNear(PyObject*, PyObject*));
PyAPI_FUNC_DECL(double _PyLong_Frexp(PyLongObject*, Py_ssize_t*));
PyAPI_FUNC_DECL(PyObject* _PyLong_FromByteArray(const unsigned char*, size_t,
int, int));
PyAPI_FUNC_DECL(PyLongObject* _PyLong_FromNbInt(PyObject*));
PyAPI_FUNC_DECL(PyObject* _PyLong_FromTime_t(time_t));
PyAPI_FUNC_DECL(PyObject* _PyLong_GCD(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* _PyLong_Lshift(PyObject*, size_t));
PyAPI_FUNC_DECL(size_t _PyLong_NumBits(PyObject*));
PyAPI_FUNC_DECL(PyObject* _PyLong_Rshift(PyObject*, size_t));
PyAPI_FUNC_DECL(int _PyLong_Sign(PyObject*));
PyAPI_FUNC_DECL(int _PyLong_Size_t_Converter(PyObject*, void*));
PyAPI_FUNC_DECL(int _PyLong_UnsignedInt_Converter(PyObject*, void*));
PyAPI_FUNC_DECL(int _PyLong_UnsignedLong_Converter(PyObject*, void*));
PyAPI_FUNC_DECL(int _PyLong_UnsignedLongLong_Converter(PyObject*, void*));
PyAPI_FUNC_DECL(int _PyLong_UnsignedShort_Converter(PyObject*, void*));
PyAPI_FUNC_DECL(char* _PyMem_RawStrdup(const char*));
PyAPI_FUNC_DECL(char* _PyMem_Strdup(const char*));
PyAPI_FUNC_DECL(PyObject* _PyNamespace_New(PyObject* kwds));
PyAPI_FUNC_DECL(int _PyOS_InterruptOccurred(PyThreadState*));
PyAPI_FUNC_DECL(int _PyOS_URandom(void*, Py_ssize_t));
PyAPI_FUNC_DECL(int _PyOS_URandomNonblock(void*, Py_ssize_t));
PyAPI_FUNC_DECL(PyObject* _PyObject_CallMethod_SizeT(PyObject*, const char*,
const char*, ...));
PyAPI_FUNC_DECL(PyObject* _PyObject_CallNoArg(PyObject*));
PyAPI_FUNC_DECL(PyObject* _PyObject_FastCall(PyObject*, PyObject**,
Py_ssize_t));
PyAPI_FUNC_DECL(PyObject* _PyObject_FastCallDict(PyObject*, PyObject**,
Py_ssize_t, PyObject*));
PyAPI_FUNC_DECL(PyObject* _PyObject_FastCallKeywords(PyObject*, PyObject**,
Py_ssize_t, PyObject*));
PyAPI_FUNC_DECL(PyObject* _PyObject_GC_Calloc(size_t));
PyAPI_FUNC_DECL(PyObject* _PyObject_GC_Malloc(size_t));
PyAPI_FUNC_DECL(PyObject* _PyObject_GC_New(PyTypeObject*));
PyAPI_FUNC_DECL(PyVarObject* _PyObject_GC_NewVar(PyTypeObject*, Py_ssize_t));
PyAPI_FUNC_DECL(PyVarObject* _PyObject_GC_Resize(PyVarObject*, Py_ssize_t));
PyAPI_FUNC_DECL(PyObject* _PyObject_GetAttrId(PyObject*,
struct _Py_Identifier*));
PyAPI_FUNC_DECL(int _PyObject_HasAttrId(PyObject*, struct _Py_Identifier*));
PyAPI_FUNC_DECL(int _PyObject_LookupAttr(PyObject*, PyObject*, PyObject**));
PyAPI_FUNC_DECL(PyObject* _PyObject_LookupSpecial(PyObject*,
struct _Py_Identifier*));
PyAPI_FUNC_DECL(PyObject* _PyObject_New(PyTypeObject*));
PyAPI_FUNC_DECL(PyVarObject* _PyObject_NewVar(PyTypeObject*, Py_ssize_t));
PyAPI_FUNC_DECL(int _PyObject_SetAttrId(PyObject*, struct _Py_Identifier*,
PyObject*));
PyAPI_FUNC_DECL(void _PyRuntimeState_ReInitThreads(_PyRuntimeState*));
PyAPI_FUNC_DECL(char* const* _PySequence_BytesToCharpArray(PyObject*));
PyAPI_FUNC_DECL(int _PySet_NextEntry(PyObject* pyset, Py_ssize_t* ppos,
PyObject** pkey, Py_hash_t* phash));
PyAPI_FUNC_DECL(void _PySignal_AfterFork(void));
PyAPI_FUNC_DECL(int _PyState_AddModule(PyObject*, struct PyModuleDef*));
PyAPI_FUNC_DECL(void _PyState_ClearModules(void));
PyAPI_FUNC_DECL(size_t _PySys_GetSizeOf(PyObject*));
PyAPI_FUNC_DECL(PyThreadState* _PyThreadState_GET_Func(void));
PyAPI_FUNC_DECL(int _PyThreadState_GetRecursionDepth(PyThreadState*));
PyAPI_FUNC_DECL(void _PyThreadState_Init(_PyRuntimeState*, PyThreadState*));
PyAPI_FUNC_DECL(PyThreadState* _PyThreadState_Prealloc(PyInterpreterState*));
PyAPI_FUNC_DECL(_PyTime_t _PyTime_AsMicroseconds(_PyTime_t, _PyTime_round_t));
PyAPI_FUNC_DECL(_PyTime_t _PyTime_AsMilliseconds(_PyTime_t, _PyTime_round_t));
PyAPI_FUNC_DECL(PyObject* _PyTime_AsNanosecondsObject(_PyTime_t));
PyAPI_FUNC_DECL(double _PyTime_AsSecondsDouble(_PyTime_t));
PyAPI_FUNC_DECL(int _PyTime_AsTimespec(_PyTime_t, struct timespec*));
PyAPI_FUNC_DECL(int _PyTime_AsTimeval(_PyTime_t, struct timeval*,
_PyTime_round_t));
PyAPI_FUNC_DECL(int _PyTime_AsTimevalTime_t(_PyTime_t, time_t*, int*,
_PyTime_round_t));
PyAPI_FUNC_DECL(int _PyTime_AsTimeval_noraise(_PyTime_t, struct timeval*,
_PyTime_round_t));
PyAPI_FUNC_DECL(int _PyTime_FromMillisecondsObject(_PyTime_t*, PyObject*,
_PyTime_round_t));
PyAPI_FUNC_DECL(_PyTime_t _PyTime_FromNanoseconds(_PyTime_t ns));
PyAPI_FUNC_DECL(int _PyTime_FromNanosecondsObject(_PyTime_t* t, PyObject* obj));
PyAPI_FUNC_DECL(_PyTime_t _PyTime_FromSeconds(int seconds));
PyAPI_FUNC_DECL(int _PyTime_FromSecondsObject(_PyTime_t*, PyObject*,
_PyTime_round_t));
PyAPI_FUNC_DECL(int _PyTime_FromTimespec(_PyTime_t* tp, struct timespec* ts));
PyAPI_FUNC_DECL(int _PyTime_FromTimeval(_PyTime_t* tp, struct timeval* tv));
PyAPI_FUNC_DECL(_PyTime_t _PyTime_GetMonotonicClock(void));
PyAPI_FUNC_DECL(int _PyTime_GetMonotonicClockWithInfo(_PyTime_t*,
_Py_clock_info_t*));
PyAPI_FUNC_DECL(_PyTime_t _PyTime_GetPerfCounter(void));
PyAPI_FUNC_DECL(int _PyTime_GetPerfCounterWithInfo(_PyTime_t* t,
_Py_clock_info_t* info));
PyAPI_FUNC_DECL(_PyTime_t _PyTime_GetSystemClock(void));
PyAPI_FUNC_DECL(int _PyTime_GetSystemClockWithInfo(_PyTime_t*,
_Py_clock_info_t*));
PyAPI_FUNC_DECL(int _PyTime_Init(void));
PyAPI_FUNC_DECL(_PyTime_t _PyTime_MulDiv(_PyTime_t ticks, _PyTime_t mul,
_PyTime_t div));
PyAPI_FUNC_DECL(int _PyTime_ObjectToTime_t(PyObject*, time_t*,
_PyTime_round_t));
PyAPI_FUNC_DECL(int _PyTime_ObjectToTimespec(PyObject*, time_t*, long*,
_PyTime_round_t));
PyAPI_FUNC_DECL(int _PyTime_ObjectToTimeval(PyObject*, time_t*, long*,
_PyTime_round_t));
PyAPI_FUNC_DECL(int _PyTime_gmtime(time_t, struct tm*));
PyAPI_FUNC_DECL(int _PyTime_localtime(time_t, struct tm*));
PyAPI_FUNC_DECL(void _PyTraceback_Add(const char*, const char*, int));
PyAPI_FUNC_DECL(void _PyTrash_deposit_object(PyObject*));
PyAPI_FUNC_DECL(void _PyTrash_destroy_chain(void));
PyAPI_FUNC_DECL(void _PyTrash_thread_deposit_object(PyObject*));
PyAPI_FUNC_DECL(void _PyTrash_thread_destroy_chain(void));
PyAPI_FUNC_DECL(PyObject* _PyType_Lookup(PyTypeObject*, PyObject*));
PyAPI_FUNC_DECL(const char* _PyType_Name(PyTypeObject*));
PyAPI_FUNC_DECL(void _PyUnicodeWriter_Dealloc(_PyUnicodeWriter*));
PyAPI_FUNC_DECL(PyObject* _PyUnicodeWriter_Finish(_PyUnicodeWriter*));
PyAPI_FUNC_DECL(void _PyUnicodeWriter_Init(_PyUnicodeWriter*));
PyAPI_FUNC_DECL(int _PyUnicodeWriter_Prepare(_PyUnicodeWriter*, Py_ssize_t,
Py_UCS4));
PyAPI_FUNC_DECL(int _PyUnicodeWriter_WriteASCIIString(_PyUnicodeWriter*,
const char*, Py_ssize_t));
PyAPI_FUNC_DECL(int _PyUnicodeWriter_WriteChar(_PyUnicodeWriter*, Py_UCS4));
PyAPI_FUNC_DECL(int _PyUnicodeWriter_WriteCharInline(_PyUnicodeWriter*,
Py_UCS4));
PyAPI_FUNC_DECL(int _PyUnicodeWriter_WriteLatin1String(_PyUnicodeWriter*,
const char*,
Py_ssize_t));
PyAPI_FUNC_DECL(int _PyUnicodeWriter_WriteStr(_PyUnicodeWriter*, PyObject*));
PyAPI_FUNC_DECL(int _PyUnicodeWriter_WriteSubstring(_PyUnicodeWriter*,
PyObject*, Py_ssize_t,
Py_ssize_t));
PyAPI_FUNC_DECL(PyObject* _PyUnicode_AsASCIIString(PyObject*, const char*));
PyAPI_FUNC_DECL(PyObject* _PyUnicode_AsLatin1String(PyObject*, const char*));
PyAPI_FUNC_DECL(PyObject* _PyUnicode_AsUTF8String(PyObject*, const char*));
PyAPI_FUNC_DECL(PyObject* _PyUnicode_DecodeUnicodeEscape(
const char*, Py_ssize_t, const char*, const char**));
PyAPI_FUNC_DECL(int _PyUnicode_EQ(PyObject*, PyObject*));
PyAPI_FUNC_DECL(PyObject* _PyUnicode_EncodeUTF16(PyObject*, const char*, int));
PyAPI_FUNC_DECL(PyObject* _PyUnicode_EncodeUTF32(PyObject*, const char*, int));
PyAPI_FUNC_DECL(int _PyUnicode_EqualToASCIIString(PyObject*, const char*));
PyAPI_FUNC_DECL(int _PyUnicode_IsAlpha(Py_UCS4));
PyAPI_FUNC_DECL(int _PyUnicode_IsCaseIgnorable(Py_UCS4));
PyAPI_FUNC_DECL(int _PyUnicode_IsCased(Py_UCS4));
PyAPI_FUNC_DECL(int _PyUnicode_IsDecimalDigit(Py_UCS4));
PyAPI_FUNC_DECL(int _PyUnicode_IsDigit(Py_UCS4));
PyAPI_FUNC_DECL(int _PyUnicode_IsLinebreak(Py_UCS4));
PyAPI_FUNC_DECL(int _PyUnicode_IsLowercase(Py_UCS4));
PyAPI_FUNC_DECL(int _PyUnicode_IsNumeric(Py_UCS4));
PyAPI_FUNC_DECL(int _PyUnicode_IsPrintable(Py_UCS4));
PyAPI_FUNC_DECL(int _PyUnicode_IsTitlecase(Py_UCS4));
PyAPI_FUNC_DECL(int _PyUnicode_IsUppercase(Py_UCS4));
PyAPI_FUNC_DECL(int _PyUnicode_IsWhitespace(Py_UCS4));
PyAPI_FUNC_DECL(int _PyUnicode_IsXidContinue(Py_UCS4));
PyAPI_FUNC_DECL(int _PyUnicode_IsXidStart(Py_UCS4));
PyAPI_FUNC_DECL(int _PyUnicode_Ready(PyObject*));
PyAPI_FUNC_DECL(int _PyUnicode_ToDecimalDigit(Py_UCS4));
PyAPI_FUNC_DECL(int _PyUnicode_ToDigit(Py_UCS4));
PyAPI_FUNC_DECL(int _PyUnicode_ToFoldedFull(Py_UCS4, Py_UCS4*));
PyAPI_FUNC_DECL(int _PyUnicode_ToLowerFull(Py_UCS4, Py_UCS4*));
PyAPI_FUNC_DECL(Py_UCS4 _PyUnicode_ToLowercase(Py_UCS4));
PyAPI_FUNC_DECL(double _PyUnicode_ToNumeric(Py_UCS4));
PyAPI_FUNC_DECL(int _PyUnicode_ToTitleFull(Py_UCS4, Py_UCS4*));
PyAPI_FUNC_DECL(Py_UCS4 _PyUnicode_ToTitlecase(Py_UCS4));
PyAPI_FUNC_DECL(int _PyUnicode_ToUpperFull(Py_UCS4, Py_UCS4*));
PyAPI_FUNC_DECL(Py_UCS4 _PyUnicode_ToUppercase(Py_UCS4));
PyAPI_FUNC_DECL(PyObject* _Py_BuildValue_SizeT(const char*, ...));
PyAPI_FUNC_DECL(int _Py_CheckRecursiveCall(const char*));
PyAPI_FUNC_DECL(void _Py_Dealloc(PyObject*));
PyAPI_FUNC_DECL(int _Py_DecodeLocaleEx(const char*, wchar_t**, size_t*,
const char**, int, _Py_error_handler));
PyAPI_FUNC_DECL(int _Py_DecodeUTF8Ex(const char*, Py_ssize_t, wchar_t**,
size_t*, const char**, _Py_error_handler));
PyAPI_FUNC_DECL(wchar_t* _Py_DecodeUTF8_surrogateescape(const char*, Py_ssize_t,
size_t*));
PyAPI_FUNC_DECL(int _Py_EncodeLocaleEx(const wchar_t*, char**, size_t*,
const char**, int, _Py_error_handler));
PyAPI_FUNC_DECL(int _Py_EncodeUTF8Ex(const wchar_t*, char**, size_t*,
const char**, int, _Py_error_handler));
PyAPI_FUNC_DECL(void _Py_FreeCharPArray(char* const array[]));
PyAPI_FUNC_DECL(int _Py_GetLocaleconvNumeric(struct lconv*, PyObject**,
PyObject**));
PyAPI_FUNC_DECL(Py_hash_t _Py_HashBytes(const void*, Py_ssize_t));
PyAPI_FUNC_DECL(Py_hash_t _Py_HashDouble(double));
PyAPI_FUNC_DECL(Py_hash_t _Py_HashPointer(void*));
PyAPI_FUNC_DECL(int _Py_IsFinalizing(void));
PyAPI_FUNC_DECL(PyObject* _Py_Mangle(PyObject*, PyObject*));
PyAPI_FUNC_DECL(void _Py_NewReference(PyObject*));
PyAPI_FUNC_DECL(void _Py_PyAtExit(void (*func)(PyObject*), PyObject*));
PyAPI_FUNC_DECL(void _Py_RestoreSignals(void));
PyAPI_FUNC_DECL(char* _Py_SetLocaleFromEnv(int));
PyAPI_FUNC_DECL(const char* _Py_SourceAsString(PyObject*, const char*,
const char*, PyCompilerFlags*,
PyObject**));
PyAPI_FUNC_DECL(struct symtable* _Py_SymtableStringObjectFlags(
const char*, PyObject*, int, PyCompilerFlags*));
PyAPI_FUNC_DECL(PyObject* _Py_VaBuildValue_SizeT(const char*, va_list));
PyAPI_FUNC_DECL(double _Py_c_abs(Py_complex));
PyAPI_FUNC_DECL(Py_complex _Py_c_diff(Py_complex, Py_complex));
PyAPI_FUNC_DECL(Py_complex _Py_c_neg(Py_complex));
PyAPI_FUNC_DECL(Py_complex _Py_c_pow(Py_complex, Py_complex));
PyAPI_FUNC_DECL(Py_complex _Py_c_prod(Py_complex, Py_complex));
PyAPI_FUNC_DECL(Py_complex _Py_c_quot(Py_complex, Py_complex));
PyAPI_FUNC_DECL(Py_complex _Py_c_sum(Py_complex, Py_complex));
PyAPI_FUNC_DECL(PyObject* _Py_device_encoding(int));
PyAPI_FUNC_DECL(char* _Py_dg_dtoa(double, int, int, int*, int*, char**));
PyAPI_FUNC_DECL(void _Py_dg_freedtoa(char*));
PyAPI_FUNC_DECL(double _Py_dg_infinity(int sign));
PyAPI_FUNC_DECL(double _Py_dg_stdnan(int sign));
PyAPI_FUNC_DECL(double _Py_dg_strtod(const char*, char**));
PyAPI_FUNC_DECL(int _Py_dup(int));
PyAPI_FUNC_DECL(FILE* _Py_fopen(const char*, const char*));
PyAPI_FUNC_DECL(FILE* _Py_fopen_obj(PyObject*, const char*));
PyAPI_FUNC_DECL(int _Py_fstat(int, struct _Py_stat_struct*));
PyAPI_FUNC_DECL(int _Py_fstat_noraise(int, struct _Py_stat_struct*));
PyAPI_FUNC_DECL(int _Py_get_blocking(int));
PyAPI_FUNC_DECL(int _Py_get_inheritable(int));
PyAPI_FUNC_DECL(int _Py_normalize_encoding(const char*, char*, size_t));
PyAPI_FUNC_DECL(int _Py_open(const char*, int));
PyAPI_FUNC_DECL(int _Py_open_noraise(const char*, int));
PyAPI_FUNC_DECL(double _Py_parse_inf_or_nan(const char*, char**));
PyAPI_FUNC_DECL(Py_ssize_t _Py_read(int, void*, size_t));
PyAPI_FUNC_DECL(int _Py_set_blocking(int, int));
PyAPI_FUNC_DECL(int _Py_set_inheritable(int, int, int*));
PyAPI_FUNC_DECL(int _Py_set_inheritable_async_safe(int, int, int*));
PyAPI_FUNC_DECL(int _Py_stat(PyObject*, struct stat*));
PyAPI_FUNC_DECL(PyObject* _Py_string_to_number_with_underscores(
const char*, Py_ssize_t, const char*, PyObject*, void*,
PyObject* (*)(const char*, Py_ssize_t, void*)));
PyAPI_FUNC_DECL(FILE* _Py_wfopen(const wchar_t*, const wchar_t*));
PyAPI_FUNC_DECL(wchar_t* _Py_wgetcwd(wchar_t*, size_t));
PyAPI_FUNC_DECL(int _Py_wreadlink(const wchar_t*, wchar_t*, size_t));
PyAPI_FUNC_DECL(wchar_t* _Py_wrealpath(const wchar_t*, wchar_t*, size_t));
PyAPI_FUNC_DECL(Py_ssize_t _Py_write(int, const void*, size_t));
PyAPI_FUNC_DECL(Py_ssize_t _Py_write_noraise(int, const void*, size_t));
/* Macros */
#ifdef PY_SSIZE_T_CLEAN
#define PyArg_Parse _PyArg_Parse_SizeT
#define PyArg_ParseTuple _PyArg_ParseTuple_SizeT
#define PyArg_ParseTupleAndKeywords _PyArg_ParseTupleAndKeywords_SizeT
#define PyArg_VaParse _PyArg_VaParse_SizeT
#define PyArg_VaParseTupleAndKeywords _PyArg_VaParseTupleAndKeywords_SizeT
#define Py_BuildValue _Py_BuildValue_SizeT
#define Py_VaBuildValue _Py_VaBuildValue_SizeT
#define _PyArg_ParseStack _PyArg_ParseStack_SizeT
#define _PyArg_ParseStackAndKeywords _PyArg_ParseStackAndKeywords_SizeT
#define _PyArg_ParseTupleAndKeywordsFast _PyArg_ParseTupleAndKeywordsFast_SizeT
#define _PyArg_VaParseTupleAndKeywordsFast \
_PyArg_VaParseTupleAndKeywordsFast_SizeT
#endif
/* Parentheses around the whole expressions are needed to compile
* "if PyDict_CheckExact(other) {". Parentheses around "op" are needed for
* "PyBytes_Check(state = PyTuple_GET_ITEM(args, 0))" */
#define PyAnySet_Check(op) (PyAnySet_Check_Func((PyObject*)(op)))
#define PyAnySet_CheckExact(op) (PyAnySet_CheckExact_Func((PyObject*)(op)))
#define PyBool_Check(op) (PyBool_Check_Func((PyObject*)(op)))
#define PyByteArray_Check(op) (PyByteArray_Check_Func((PyObject*)(op)))
#define PyByteArray_CheckExact(op) \
(PyByteArray_CheckExact_Func((PyObject*)(op)))
#define PyBytes_Check(op) (PyBytes_Check_Func((PyObject*)(op)))
#define PyBytes_CheckExact(op) (PyBytes_CheckExact_Func((PyObject*)(op)))
#define PyCapsule_CheckExact(op) (PyCapsule_CheckExact_Func((PyObject*)(op)))
#define PyCFunction_Check(op) (PyCFunction_Check_Func((PyObject*)(op)))
#define PyCode_Check(op) (PyCode_Check_Func((PyObject*)(op)))
#define PyCode_GetNumFree(op) PyCode_GetNumFree_Func((PyObject*)op)
#define PyComplex_Check(op) (PyComplex_Check_Func((PyObject*)(op)))
#define PyComplex_CheckExact(op) (PyComplex_CheckExact_Func((PyObject*)(op)))
#define PyDict_Check(op) (PyDict_Check_Func((PyObject*)(op)))
#define PyDict_CheckExact(op) (PyDict_CheckExact_Func((PyObject*)(op)))
#define PyFloat_Check(op) (PyFloat_Check_Func((PyObject*)(op)))
#define PyFloat_CheckExact(op) (PyFloat_CheckExact_Func((PyObject*)(op)))
#define PyFrozenSet_Check(op) (PyFrozenSet_Check_Func((PyObject*)(op)))
#define PyFrozenSet_CheckExact(op) \
(PyFrozenSet_CheckExact_Func((PyObject*)(op)))
#define PyIndex_Check(op) (PyIndex_Check_Func((PyObject*)(op)))
#define PyIter_Check(op) (PyIter_Check_Func((PyObject*)(op)))
#define PyList_Check(op) (PyList_Check_Func((PyObject*)(op)))
#define PyList_CheckExact(op) (PyList_CheckExact_Func((PyObject*)(op)))
#define PyLong_Check(op) (PyLong_Check_Func((PyObject*)(op)))
#define PyLong_CheckExact(op) (PyLong_CheckExact_Func((PyObject*)(op)))
#define PyMemoryView_Check(op) (PyMemoryView_Check_Func((PyObject*)(op)))
#define PyMethod_Check(op) (PyMethod_Check_Func((PyObject*)(op)))
#define PyModule_Check(op) (PyModule_Check_Func((PyObject*)(op)))
#define PyModule_CheckExact(op) (PyModule_CheckExact_Func((PyObject*)(op)))
#define PyObject_CheckBuffer(op) (PyObject_CheckBuffer_Func((PyObject*)(op)))
#define PyObject_TypeCheck(op, tp) \
(PyObject_TypeCheck_Func((PyObject*)(op), (PyTypeObject*)(tp)))
#define PySet_Check(op) (PySet_Check_Func((PyObject*)(op)))
#define PySlice_Check(op) (PySlice_Check_Func((PyObject*)(op)))
#define PyTraceBack_Check(op) (PyTraceBack_Check_Func((PyObject*)(op)))
#define PyTuple_Check(op) (PyTuple_Check_Func((PyObject*)(op)))
#define PyTuple_CheckExact(op) (PyTuple_CheckExact_Func((PyObject*)(op)))
#define PyType_Check(op) (PyType_Check_Func((PyObject*)(op)))
#define PyType_CheckExact(op) (PyType_CheckExact_Func((PyObject*)(op)))
#define PyUnicode_Check(op) (PyUnicode_Check_Func((PyObject*)(op)))
#define PyUnicode_CheckExact(op) (PyUnicode_CheckExact_Func((PyObject*)(op)))
#define PyWeakref_Check(op) (PyWeakref_Check_Func((PyObject*)(op)))
#define PyFPE_START_PROTECT(err_string, leave_stmt)
#define PyFPE_END_PROTECT(v)
#define _Py_BEGIN_SUPPRESS_IPH
#define _Py_END_SUPPRESS_IPH
#define _Py_SET_53BIT_PRECISION_HEADER
#define _Py_SET_53BIT_PRECISION_START
#define _Py_SET_53BIT_PRECISION_END
#define PyModule_AddIntMacro(m, c) PyModule_AddIntConstant(m, #c, c)
#define PyModule_Create(module) PyModule_Create2(module, PYTHON_API_VERSION)
#define PyByteArray_AS_STRING(op) PyByteArray_AsString((PyObject*)op)
#define PyByteArray_GET_SIZE(op) PyByteArray_Size((PyObject*)op)
#define PyBytes_AS_STRING(op) PyBytes_AsString((PyObject*)op)
#define PyBytes_GET_SIZE(op) PyBytes_Size((PyObject*)op)
#define PyCFunction_GET_SELF(op) PyCFunction_GET_SELF_Func((PyObject*)op)
#define PyDescr_NAME(op) PyDescr_NAME_Func((PyObject*)op)
#define PyDict_GET_SIZE(op) PyDict_GET_SIZE_Func((PyObject*)op)
#define PyEval_CallObject(func, arg) \
PyEval_CallObjectWithKeywords(func, arg, (PyObject*)NULL)
#define PyFloat_AS_DOUBLE(op) PyFloat_AsDouble((PyObject*)op)
#define PyInstanceMethod_GET_FUNCTION(op) \
(PyInstanceMethod_GET_FUNCTION_Func((PyObject*)op))
#define PyList_GET_ITEM(op, i) PyList_GetItem((PyObject*)op, i)
#define PyList_GET_SIZE(op) PyList_Size((PyObject*)op)
#define PyList_SET_ITEM(op, i, v) PyList_SET_ITEM_Func((PyObject*)op, i, v)
#define PyLong_AS_LONG(op) PyLong_AsLong(op)
#define PyMethod_GET_FUNCTION(op) (PyMethod_GET_FUNCTION_Func((PyObject*)op))
#define PyMethod_GET_SELF(op) (PyMethod_GET_SELF_Func((PyObject*)op))
#define PySequence_Fast_GET_SIZE(op) \
PySequence_Fast_GET_SIZE_Func((PyObject*)op)
#define PySequence_Fast_GET_ITEM(op, i) \
PySequence_Fast_GET_ITEM_Func((PyObject*)op, i)
#define PySequence_ITEM(op, i) PySequence_ITEM_Func((PyObject*)op, i)
#define PySet_GET_SIZE(op) PySet_Size((PyObject*)op)
#define PyTuple_GET_ITEM(op, i) PyTuple_GET_ITEM_Func((PyObject*)op, i)
#define PyTuple_GET_SIZE(op) PyTuple_GET_SIZE_Func((PyObject*)op)
#define PyTuple_SET_ITEM(op, i, v) PyTuple_SET_ITEM_Func((PyObject*)op, i, v)
#define PyType_HasFeature(t, f) ((PyType_GetFlags(t) & (f)) != 0)
#define PyType_IS_GC(t) PyType_HasFeature((t), Py_TPFLAGS_HAVE_GC)
#define PyStructSequence_GET_ITEM(op, i) \
PyStructSequence_GetItem((PyObject*)op, i)
#define PyStructSequence_SET_ITEM(op, i, v) \
PyStructSequence_SET_ITEM_Func((PyObject*)op, i, v)
#define PyUnicode_GET_LENGTH(op) PyUnicode_GET_LENGTH_Func((PyObject*)op)
#define PyUnicode_GET_SIZE(op) PyUnicode_GetSize((PyObject*)op)
#define PyUnicode_IS_READY(op) 1
#define PyUnicode_KIND(op) PyUnicode_KIND_Func((PyObject*)op)
#define PyUnicode_DATA(op) PyUnicode_DATA_Func((PyObject*)op)
#define PyUnicode_1BYTE_DATA(op) ((Py_UCS1*)PyUnicode_DATA(op))
#define PyUnicode_2BYTE_DATA(op) ((Py_UCS2*)PyUnicode_DATA(op))
#define PyUnicode_4BYTE_DATA(op) ((Py_UCS4*)PyUnicode_DATA(op))
#define PyUnicode_READ(kind, data, index) \
PyUnicode_READ_Func(kind, (void*)data, index)
#define PyUnicode_READ_CHAR(op, index) \
PyUnicode_READ_CHAR_Func((PyObject*)op, index)
#define PyUnicode_READY(op) 0
#define PyUnicode_WRITE(kind, data, index, value) \
PyUnicode_WRITE_Func(kind, data, index, value)
#define PyUnicode_IS_ASCII(op) PyUnicode_IS_ASCII_Func((PyObject*)op)
#define PyUnicode_IS_COMPACT_ASCII(op) PyUnicode_IS_ASCII_Func((PyObject*)op)
#define PyWeakref_GET_OBJECT(ref) \
PyWeakref_GET_OBJECT_Func((PyWeakReference*)ref)
#define Py_MIN(x, y) (((x) > (y)) ? (y) : (x))
#define Py_MAX(x, y) (((x) > (y)) ? (x) : (y))
#define Py_ABS(x) ((x) < 0 ? -(x) : (x))
#define Py_BUILD_ASSERT_EXPR(cond) (sizeof(char[1 - 2 * !(cond)]) - 1)
#define Py_BUILD_ASSERT(cond) \
do { \
(void)Py_BUILD_ASSERT_EXPR(cond); \
} while (0)
#define _PyThreadState_GET() _PyThreadState_GET_Func()
#define _Py_SIZE_ROUND_DOWN(n, a) ((size_t)(n) & ~(size_t)((a)-1))
#define _Py_SIZE_ROUND_UP(n, a) \
(((size_t)(n) + (size_t)((a)-1)) & ~(size_t)((a)-1))
#define _Py_ALIGN_DOWN(p, a) ((void*)((uintptr_t)(p) & ~(uintptr_t)((a)-1)))
#define _Py_ALIGN_UP(p, a) \
((void*)(((uintptr_t)(p) + (uintptr_t)((a)-1)) & ~(uintptr_t)((a)-1)))
#define _Py_IS_ALIGNED(p, a) (!((uintptr_t)(p) & (uintptr_t)((a)-1)))
#define Py_CLEAR(op) \
do { \
PyObject* _py_tmp = (PyObject*)(op); \
if (_py_tmp != NULL) { \
(op) = NULL; \
Py_DECREF_Func(_py_tmp); \
} \
} while (0)
#define Py_DECREF(op) Py_DECREF_Func((PyObject*)op)
#define Py_INCREF(op) Py_INCREF_Func((PyObject*)op)
#define Py_REFCNT(op) Py_REFCNT_Func((PyObject*)op)
#define Py_SET_REFCNT(op, refcnt) Py_SET_REFCNT_Func((PyObject*)op, (refcnt))
#define Py_XDECREF(op) Py_DecRef((PyObject*)op)
#define Py_XINCREF(op) Py_IncRef((PyObject*)op)
#define Py_SETREF(op, op2) \
do { \
PyObject* _py_tmp = (PyObject*)(op); \
(op) = (op2); \
Py_DECREF(_py_tmp); \
} while (0)
#define Py_XSETREF(op, op2) \
do { \
PyObject* _py_tmp = (PyObject*)(op); \
(op) = (op2); \
Py_XDECREF(_py_tmp); \
} while (0)
#define PyObject_MALLOC PyObject_Malloc
#define PyObject_REALLOC PyObject_Realloc
#define PyObject_FREE PyObject_Free
#define PyObject_Del PyObject_Free
#define PyObject_DEL PyObject_Free
#define _PyObject_SIZE(typeobj) _PyObject_SIZE_Func((PyObject*)typeobj)
#define _PyObject_VAR_SIZE(typeobj, nitems) \
_PyObject_VAR_SIZE_Func((PyObject*)typeobj, nitems)
#define PyObject_INIT(op, typeobj) \
PyObject_Init((PyObject*)op, (PyTypeObject*)typeobj)
#define PyObject_INIT_VAR(op, typeobj, size) \
PyObject_InitVar((PyVarObject*)op, (PyTypeObject*)typeobj, size)
#define PyObject_New(type, typeobj) \
((type*)_PyObject_New((PyTypeObject*)typeobj))
#define PyObject_NEW(type, typeobj) PyObject_New(type, typeobj)
#define PyObject_NewVar(type, typeobj, n) \
((type*)_PyObject_NewVar((PyTypeObject*)typeobj, n))
#define PyObject_NEW_VAR(type, typeobj, n) PyObject_NewVar(type, typeobj, n)
#define Py_SIZE(obj) (*Py_SIZE_Func((PyVarObject*)(obj)))
#define Py_TYPE(obj) Py_TYPE_Func((PyObject*)(obj))
#define Py_SET_TYPE(obj, type) Py_SET_TYPE_Func((PyObject*)(obj), type)
#define PyExceptionClass_Check(obj) \
PyExceptionClass_Check_Func((PyObject*)(obj))
#define PyExceptionInstance_Class(obj) \
((PyObject*)Py_TYPE_Func((PyObject*)(obj)))
#define PyExceptionInstance_Check(x) PyExceptionInstance_Check_Func(x)
#define PyObject_GC_New(type, typeobj) ((type*)_PyObject_GC_New(typeobj))
#define PyObject_GC_NewVar(type, typeobj, n) \
((type*)_PyObject_GC_NewVar((typeobj), (n)))
#define Py_VISIT(op) \
do { \
if (op) { \
int vret = visit((PyObject*)(op), arg); \
if (vret) return vret; \
} \
} while (0)
/* Memory macros from pymem.h */
#define PyMem_DEL(p) PyMem_Del(p)
#define PyMem_FREE(p) PyMem_Free(p)
#define PyMem_MALLOC(n) PyMem_Malloc(n)
#define PyMem_New(type, n) ((type*)PyMem_New_Func(sizeof(type), n))
#define PyMem_NEW(type, n) PyMem_New(type, n)
#define PyMem_REALLOC(p, n) PyMem_Realloc(p, n)
#define PyMem_Resize(p, type, n) \
((p) = ((size_t)(n) > PY_SSIZE_T_MAX / sizeof(type)) \
? NULL \
: (type*)PyMem_Realloc((p), (n) * sizeof(type)))
#define PyMem_RESIZE(p, type, n) PyMem_Resize(p, type, n)
/* Character macros from pyctype.h */
#define Py_CHARMASK(c) ((unsigned char)((c)&0xff))
#define Py_ISALNUM(c) (Py_ISALNUM_Func(Py_CHARMASK(c)))
#define Py_ISALPHA(c) (Py_ISALPHA_Func(Py_CHARMASK(c)))
#define Py_ISDIGIT(c) (Py_ISDIGIT_Func(Py_CHARMASK(c)))
#define Py_ISLOWER(c) (Py_ISLOWER_Func(Py_CHARMASK(c)))
#define Py_ISSPACE(c) (Py_ISSPACE_Func(Py_CHARMASK(c)))
#define Py_ISUPPER(c) (Py_ISUPPER_Func(Py_CHARMASK(c)))
#define Py_ISXDIGIT(c) (Py_ISXDIGIT_Func(Py_CHARMASK(c)))
#define Py_TOLOWER(c) (Py_TOLOWER_Func(Py_CHARMASK(c)))
#define Py_TOUPPER(c) (Py_TOUPPER_Func(Py_CHARMASK(c)))
#define Py_SAFE_DOWNCAST(VALUE, WIDE, NARROW) (NARROW)(VALUE)
#define Py_EnterRecursiveCall(where) Py_EnterRecursiveCall_Func(where)
#define Py_LeaveRecursiveCall() Py_LeaveRecursiveCall_Func()
#define _PyIsSelectable_fd(FD) ((unsigned int)(FD) < (unsigned int)FD_SETSIZE)
#define _PYTIME_FROMSECONDS(seconds) _PyTime_FromSeconds(seconds)
#define Py_UNICODE_ISALNUM(ch) \
(Py_UNICODE_ISALPHA(ch) || Py_UNICODE_ISDECIMAL(ch) || \
Py_UNICODE_ISDIGIT(ch) || Py_UNICODE_ISNUMERIC(ch))
#define Py_UNICODE_ISALPHA(ch) Py_UNICODE_ISALPHA_Func(ch)
#define Py_UNICODE_ISDECIMAL(ch) Py_UNICODE_ISDECIMAL_Func(ch)
#define Py_UNICODE_ISDIGIT(ch) Py_UNICODE_ISDIGIT_Func(ch)
#define Py_UNICODE_ISLINEBREAK(ch) Py_UNICODE_ISLINEBREAK_Func(ch)
#define Py_UNICODE_ISLOWER(ch) Py_UNICODE_ISLOWER_Func(ch)
#define Py_UNICODE_ISNUMERIC(ch) Py_UNICODE_ISNUMERIC_Func(ch)
#define Py_UNICODE_ISPRINTABLE(ch) Py_UNICODE_ISPRINTABLE_Func(ch)
#define Py_UNICODE_ISSPACE(ch) Py_UNICODE_ISSPACE_Func(ch)
#define Py_UNICODE_ISTITLE(ch) Py_UNICODE_ISTITLE_Func(ch)
#define Py_UNICODE_ISUPPER(ch) Py_UNICODE_ISUPPER_Func(ch)
#define Py_UNICODE_IS_HIGH_SURROGATE(ch) (0xD800 <= (ch) && (ch) <= 0xDBFF)
#define Py_UNICODE_IS_LOW_SURROGATE(ch) (0xDC00 <= (ch) && (ch) <= 0xDFFF)
#define Py_UNICODE_IS_SURROGATE(ch) (0xD800 <= (ch) && (ch) <= 0xDFFF)
#define Py_UNICODE_TODECIMAL(ch) Py_UNICODE_TODECIMAL_Func(ch)
#define Py_UNICODE_TODIGIT(ch) Py_UNICODE_TODIGIT_Func(ch)
#define Py_UNICODE_TOLOWER(ch) Py_UNICODE_TOLOWER_Func(ch)
#define Py_UNICODE_TONUMERIC(ch) Py_UNICODE_TONUMERIC_Func(ch)
#define Py_UNICODE_TOTITLE(ch) Py_UNICODE_TOTITLE_Func(ch)
#define Py_UNICODE_TOUPPER(ch) Py_UNICODE_TOUPPER_Func(ch)
#define Py_UNICODE_JOIN_SURROGATES(high, low) \
(((((Py_UCS4)(high)&0x03FF) << 10) | ((Py_UCS4)(low)&0x03FF)) + 0x10000)
#define Py_UNICODE_HIGH_SURROGATE(ch) (0xD800 - (0x10000 >> 10) + ((ch) >> 10))
#define Py_UNICODE_LOW_SURROGATE(ch) (0xDC00 + ((ch)&0x3FF))
/* Define identity macro so `generate_cpython_sources.py` deletes the cpython
* macro. TODO(T56488016): Remove this macro when the generator is gone. */
#define _PyUnicodeWriter_Prepare(WRITER, LENGTH, MAXCHAR) \
_PyUnicodeWriter_Prepare(WRITER, LENGTH, MAXCHAR)
#define Py_MEMCPY memcpy
#define Py_VA_COPY va_copy
#define Py_ARITHMETIC_RIGHT_SHIFT(TYPE, I, J) ((I) >> (J))
#define Py_SAFE_DOWNCAST(VALUE, WIDE, NARROW) (NARROW)(VALUE)
#define _Py_SET_EDOM_FOR_NAN(X) ;
#define Py_SET_ERRNO_ON_MATH_ERROR(X) \
do { \
if (errno == 0) { \
if ((X) == Py_HUGE_VAL || (X) == -Py_HUGE_VAL) \
errno = ERANGE; \
else \
_Py_SET_EDOM_FOR_NAN(X) \
} \
} while (0)
#define Py_SET_ERANGE_IF_OVERFLOW(X) Py_SET_ERRNO_ON_MATH_ERROR(X)
#define Py_ADJUST_ERANGE1(X) \
do { \
if (errno == 0) { \
if ((X) == Py_HUGE_VAL || (X) == -Py_HUGE_VAL) errno = ERANGE; \
} else if (errno == ERANGE && (X) == 0.0) \
errno = 0; \
} while (0)
#define Py_ADJUST_ERANGE2(X, Y) \
do { \
if ((X) == Py_HUGE_VAL || (X) == -Py_HUGE_VAL || (Y) == Py_HUGE_VAL || \
(Y) == -Py_HUGE_VAL) { \
if (errno == 0) errno = ERANGE; \
} else if (errno == ERANGE) \
errno = 0; \
} while (0)
#define Py_FORCE_DOUBLE(X) (X)
#define Py_IS_NAN(X) isnan(X)
#define Py_IS_INFINITY(X) isinf(X)
#define Py_IS_FINITE(X) isfinite(X)
#define Py_OVERFLOWED(X) \
((X) != 0.0 && (errno == ERANGE || (X) == Py_HUGE_VAL || (X) == -Py_HUGE_VAL))
#define _Py_IntegralTypeSigned(type) ((type)(-1) < 0)
#define _Py_IntegralTypeMax(type) \
((_Py_IntegralTypeSigned(type)) \
? (((((type)1 << (sizeof(type) * CHAR_BIT - 2)) - 1) << 1) + 1) \
: ~(type)0)
#define _Py_IntegralTypeMin(type) \
((_Py_IntegralTypeSigned(type)) ? -_Py_IntegralTypeMax(type) - 1 : 0)
#define _Py_InIntegralTypeRange(type, v) \
(_Py_IntegralTypeMin(type) <= v && v <= _Py_IntegralTypeMax(type))
#define Py_RETURN_FALSE \
do { \
PyObject* return_value_ = Py_False; \
Py_INCREF(return_value_); \
return return_value_; \
} while (0)
#define Py_RETURN_INF(sign) \
return PyFloat_FromDouble(copysign(Py_HUGE_VAL, (sign)))
#define Py_RETURN_NAN return PyFloat_FromDouble(Py_NAN)
#define Py_RETURN_NONE \
do { \
PyObject* return_value_ = Py_None; \
Py_INCREF(return_value_); \
return return_value_; \
} while (0)
#define Py_RETURN_NOTIMPLEMENTED \
do { \
PyObject* return_value_ = Py_NotImplemented; \
Py_INCREF(return_value_); \
return return_value_; \
} while (0)
#define Py_RETURN_RICHCOMPARE(val1, val2, op) \
do { \
switch (op) { \
case Py_EQ: \
if ((val1) == (val2)) Py_RETURN_TRUE; \
Py_RETURN_FALSE; \
case Py_NE: \
if ((val1) != (val2)) Py_RETURN_TRUE; \
Py_RETURN_FALSE; \
case Py_LT: \
if ((val1) < (val2)) Py_RETURN_TRUE; \
Py_RETURN_FALSE; \
case Py_GT: \
if ((val1) > (val2)) Py_RETURN_TRUE; \
Py_RETURN_FALSE; \
case Py_LE: \
if ((val1) <= (val2)) Py_RETURN_TRUE; \
Py_RETURN_FALSE; \
case Py_GE: \
if ((val1) >= (val2)) Py_RETURN_TRUE; \
Py_RETURN_FALSE; \
default: \
Py_UNREACHABLE(); \
} \
} while (0)
#define Py_RETURN_TRUE \
do { \
PyObject* return_value_ = Py_True; \
Py_INCREF(return_value_); \
return return_value_; \
} while (0)
#define Py_BEGIN_ALLOW_THREADS \
{ \
PyThreadState* _save; \
_save = PyEval_SaveThread();
#define Py_BLOCK_THREADS PyEval_RestoreThread(_save);
#define Py_UNBLOCK_THREADS _save = PyEval_SaveThread();
#define Py_END_ALLOW_THREADS \
PyEval_RestoreThread(_save); \
}
#ifdef __cplusplus
}
#endif
#endif /* !CPYTHON_FUNC_H */