this repo has no description
1/* Copyright (c) Facebook, Inc. and its affiliates. (http://www.facebook.com) */
2#ifndef CPYTHON_FUNC_H
3#define CPYTHON_FUNC_H
4
5#include <math.h>
6
7#include "cpython-types.h"
8
9#include "pyconfig.h"
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15#ifndef PyAPI_FUNC_DECL
16#define PyAPI_FUNC_DECL(DECL) __attribute__((visibility("default"))) DECL
17#endif
18#define PyAPI_FUNC(RTYPE) __attribute__((visibility("default"))) RTYPE
19
20#ifdef __cplusplus
21#define PyMODINIT_FUNC extern "C" PyObject*
22#else
23#define PyMODINIT_FUNC PyObject*
24#endif
25#define Py_LOCAL(type) static type
26#define Py_LOCAL_INLINE(type) static inline type
27
28#define Py_GCC_ATTRIBUTE(x) __attribute__(x)
29#define Py_ALIGNED(x) __attribute__((aligned(x)))
30#define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
31#define Py_UNUSED(name) _unused_##name __attribute__((unused))
32#ifndef _Py_NO_RETURN
33#define _Py_NO_RETURN __attribute__((__noreturn__))
34#endif
35
36#define Py_UNREACHABLE() abort()
37
38/* Singletons */
39PyAPI_FUNC_DECL(PyTypeObject* PyAsyncGen_Type_Ptr(void));
40PyAPI_FUNC_DECL(PyTypeObject* PyBaseObject_Type_Ptr(void));
41PyAPI_FUNC_DECL(PyTypeObject* PyBool_Type_Ptr(void));
42PyAPI_FUNC_DECL(PyTypeObject* PyByteArrayIter_Type_Ptr(void));
43PyAPI_FUNC_DECL(PyTypeObject* PyByteArray_Type_Ptr(void));
44PyAPI_FUNC_DECL(PyTypeObject* PyBytesIter_Type_Ptr(void));
45PyAPI_FUNC_DECL(PyTypeObject* PyBytes_Type_Ptr(void));
46PyAPI_FUNC_DECL(PyTypeObject* PyClassMethod_Type_Ptr(void));
47PyAPI_FUNC_DECL(PyTypeObject* PyCode_Type_Ptr(void));
48PyAPI_FUNC_DECL(PyTypeObject* PyComplex_Type_Ptr(void));
49PyAPI_FUNC_DECL(PyTypeObject* PyCoro_Type_Ptr(void));
50PyAPI_FUNC_DECL(PyTypeObject* PyDictItems_Type_Ptr(void));
51PyAPI_FUNC_DECL(PyTypeObject* PyDictIterItem_Type_Ptr(void));
52PyAPI_FUNC_DECL(PyTypeObject* PyDictIterKey_Type_Ptr(void));
53PyAPI_FUNC_DECL(PyTypeObject* PyDictIterValue_Type_Ptr(void));
54PyAPI_FUNC_DECL(PyTypeObject* PyDictKeys_Type_Ptr(void));
55PyAPI_FUNC_DECL(PyTypeObject* PyDictProxy_Type_Ptr(void));
56PyAPI_FUNC_DECL(PyTypeObject* PyDictValues_Type_Ptr(void));
57PyAPI_FUNC_DECL(PyTypeObject* PyDict_Type_Ptr(void));
58PyAPI_FUNC_DECL(PyObject* PyEllipsis_Ptr(void));
59PyAPI_FUNC_DECL(PyTypeObject* PyEllipsis_Type_Ptr(void));
60PyAPI_FUNC_DECL(PyTypeObject* PyEnum_Type_Ptr(void));
61PyAPI_FUNC_DECL(PyObject* PyExc_ArithmeticError_Ptr(void));
62PyAPI_FUNC_DECL(PyObject* PyExc_AssertionError_Ptr(void));
63PyAPI_FUNC_DECL(PyObject* PyExc_AttributeError_Ptr(void));
64PyAPI_FUNC_DECL(PyObject* PyExc_BaseException_Ptr(void));
65PyAPI_FUNC_DECL(PyObject* PyExc_BlockingIOError_Ptr(void));
66PyAPI_FUNC_DECL(PyObject* PyExc_BrokenPipeError_Ptr(void));
67PyAPI_FUNC_DECL(PyObject* PyExc_BufferError_Ptr(void));
68PyAPI_FUNC_DECL(PyObject* PyExc_BytesWarning_Ptr(void));
69PyAPI_FUNC_DECL(PyObject* PyExc_ChildProcessError_Ptr(void));
70PyAPI_FUNC_DECL(PyObject* PyExc_ConnectionAbortedError_Ptr(void));
71PyAPI_FUNC_DECL(PyObject* PyExc_ConnectionError_Ptr(void));
72PyAPI_FUNC_DECL(PyObject* PyExc_ConnectionRefusedError_Ptr(void));
73PyAPI_FUNC_DECL(PyObject* PyExc_ConnectionResetError_Ptr(void));
74PyAPI_FUNC_DECL(PyObject* PyExc_DeprecationWarning_Ptr(void));
75PyAPI_FUNC_DECL(PyObject* PyExc_EOFError_Ptr(void));
76PyAPI_FUNC_DECL(PyObject* PyExc_Exception_Ptr(void));
77PyAPI_FUNC_DECL(PyObject* PyExc_FileExistsError_Ptr(void));
78PyAPI_FUNC_DECL(PyObject* PyExc_FileNotFoundError_Ptr(void));
79PyAPI_FUNC_DECL(PyObject* PyExc_FloatingPointError_Ptr(void));
80PyAPI_FUNC_DECL(PyObject* PyExc_FutureWarning_Ptr(void));
81PyAPI_FUNC_DECL(PyObject* PyExc_GeneratorExit_Ptr(void));
82PyAPI_FUNC_DECL(PyObject* PyExc_ImportError_Ptr(void));
83PyAPI_FUNC_DECL(PyObject* PyExc_ImportWarning_Ptr(void));
84PyAPI_FUNC_DECL(PyObject* PyExc_IndentationError_Ptr(void));
85PyAPI_FUNC_DECL(PyObject* PyExc_IndexError_Ptr(void));
86PyAPI_FUNC_DECL(PyObject* PyExc_InterruptedError_Ptr(void));
87PyAPI_FUNC_DECL(PyObject* PyExc_IsADirectoryError_Ptr(void));
88PyAPI_FUNC_DECL(PyObject* PyExc_KeyError_Ptr(void));
89PyAPI_FUNC_DECL(PyObject* PyExc_KeyboardInterrupt_Ptr(void));
90PyAPI_FUNC_DECL(PyObject* PyExc_LookupError_Ptr(void));
91PyAPI_FUNC_DECL(PyObject* PyExc_MemoryError_Ptr(void));
92PyAPI_FUNC_DECL(PyObject* PyExc_ModuleNotFoundError_Ptr(void));
93PyAPI_FUNC_DECL(PyObject* PyExc_NameError_Ptr(void));
94PyAPI_FUNC_DECL(PyObject* PyExc_NotADirectoryError_Ptr(void));
95PyAPI_FUNC_DECL(PyObject* PyExc_NotImplementedError_Ptr(void));
96PyAPI_FUNC_DECL(PyObject* PyExc_OSError_Ptr(void));
97PyAPI_FUNC_DECL(PyObject* PyExc_OverflowError_Ptr(void));
98PyAPI_FUNC_DECL(PyObject* PyExc_PendingDeprecationWarning_Ptr(void));
99PyAPI_FUNC_DECL(PyObject* PyExc_PermissionError_Ptr(void));
100PyAPI_FUNC_DECL(PyObject* PyExc_ProcessLookupError_Ptr(void));
101PyAPI_FUNC_DECL(PyObject* PyExc_RecursionError_Ptr(void));
102PyAPI_FUNC_DECL(PyObject* PyExc_ReferenceError_Ptr(void));
103PyAPI_FUNC_DECL(PyObject* PyExc_ResourceWarning_Ptr(void));
104PyAPI_FUNC_DECL(PyObject* PyExc_RuntimeError_Ptr(void));
105PyAPI_FUNC_DECL(PyObject* PyExc_RuntimeWarning_Ptr(void));
106PyAPI_FUNC_DECL(PyObject* PyExc_StopAsyncIteration_Ptr(void));
107PyAPI_FUNC_DECL(PyObject* PyExc_StopIteration_Ptr(void));
108PyAPI_FUNC_DECL(PyObject* PyExc_SyntaxError_Ptr(void));
109PyAPI_FUNC_DECL(PyObject* PyExc_SyntaxWarning_Ptr(void));
110PyAPI_FUNC_DECL(PyObject* PyExc_SystemError_Ptr(void));
111PyAPI_FUNC_DECL(PyObject* PyExc_SystemExit_Ptr(void));
112PyAPI_FUNC_DECL(PyObject* PyExc_TabError_Ptr(void));
113PyAPI_FUNC_DECL(PyObject* PyExc_TimeoutError_Ptr(void));
114PyAPI_FUNC_DECL(PyObject* PyExc_TypeError_Ptr(void));
115PyAPI_FUNC_DECL(PyObject* PyExc_UnboundLocalError_Ptr(void));
116PyAPI_FUNC_DECL(PyObject* PyExc_UnicodeDecodeError_Ptr(void));
117PyAPI_FUNC_DECL(PyObject* PyExc_UnicodeEncodeError_Ptr(void));
118PyAPI_FUNC_DECL(PyObject* PyExc_UnicodeError_Ptr(void));
119PyAPI_FUNC_DECL(PyObject* PyExc_UnicodeTranslateError_Ptr(void));
120PyAPI_FUNC_DECL(PyObject* PyExc_UnicodeWarning_Ptr(void));
121PyAPI_FUNC_DECL(PyObject* PyExc_UserWarning_Ptr(void));
122PyAPI_FUNC_DECL(PyObject* PyExc_ValueError_Ptr(void));
123PyAPI_FUNC_DECL(PyObject* PyExc_Warning_Ptr(void));
124PyAPI_FUNC_DECL(PyObject* PyExc_ZeroDivisionError_Ptr(void));
125PyAPI_FUNC_DECL(PyObject* PyFalse_Ptr(void));
126PyAPI_FUNC_DECL(PyTypeObject* PyFloat_Type_Ptr(void));
127PyAPI_FUNC_DECL(PyTypeObject* PyFrozenSet_Type_Ptr(void));
128PyAPI_FUNC_DECL(PyTypeObject* PyFunction_Type_Ptr(void));
129PyAPI_FUNC_DECL(PyTypeObject* PyGen_Type_Ptr(void));
130PyAPI_FUNC_DECL(PyTypeObject* PyListIter_Type_Ptr(void));
131PyAPI_FUNC_DECL(PyTypeObject* PyList_Type_Ptr(void));
132PyAPI_FUNC_DECL(PyTypeObject* PyLongRangeIter_Type_Ptr(void));
133PyAPI_FUNC_DECL(PyTypeObject* PyLong_Type_Ptr(void));
134PyAPI_FUNC_DECL(PyTypeObject* PyMemoryView_Type_Ptr(void));
135PyAPI_FUNC_DECL(PyTypeObject* PyMethod_Type_Ptr(void));
136PyAPI_FUNC_DECL(PyTypeObject* PyModule_Type_Ptr(void));
137PyAPI_FUNC_DECL(PyObject* PyNone_Ptr(void));
138PyAPI_FUNC_DECL(PyObject* PyNotImplemented_Ptr(void));
139PyAPI_FUNC_DECL(PyTypeObject* PyProperty_Type_Ptr(void));
140PyAPI_FUNC_DECL(PyTypeObject* PyRangeIter_Type_Ptr(void));
141PyAPI_FUNC_DECL(PyTypeObject* PyRange_Type_Ptr(void));
142PyAPI_FUNC_DECL(PyTypeObject* PySeqIter_Type_Ptr(void));
143PyAPI_FUNC_DECL(PyTypeObject* PySetIter_Type_Ptr(void));
144PyAPI_FUNC_DECL(PyTypeObject* PySet_Type_Ptr(void));
145PyAPI_FUNC_DECL(PyTypeObject* PySlice_Type_Ptr(void));
146PyAPI_FUNC_DECL(PyTypeObject* PyStaticMethod_Type_Ptr(void));
147PyAPI_FUNC_DECL(PyTypeObject* PySuper_Type_Ptr(void));
148PyAPI_FUNC_DECL(PyObject* PyTrue_Ptr(void));
149PyAPI_FUNC_DECL(PyTypeObject* PyTupleIter_Type_Ptr(void));
150PyAPI_FUNC_DECL(PyTypeObject* PyTuple_Type_Ptr(void));
151PyAPI_FUNC_DECL(PyTypeObject* PyType_Type_Ptr(void));
152PyAPI_FUNC_DECL(PyTypeObject* PyUnicodeIter_Type_Ptr(void));
153PyAPI_FUNC_DECL(PyTypeObject* PyUnicode_Type_Ptr(void));
154PyAPI_FUNC_DECL(const _Py_HashSecret_t* _Py_HashSecret_Ptr(void));
155PyAPI_FUNC_DECL(PyObject* _PyLong_One_Ptr(void));
156PyAPI_FUNC_DECL(PyObject* _PyLong_Zero_Ptr(void));
157PyAPI_FUNC_DECL(PyTypeObject* _PyNone_Type_Ptr(void));
158PyAPI_FUNC_DECL(PyTypeObject* _PyNotImplemented_Type_Ptr(void));
159PyAPI_FUNC_DECL(_PyRuntimeState* _PyRuntime_Ptr(void));
160
161/* Macro helpers */
162PyAPI_FUNC_DECL(int PyAnySet_CheckExact_Func(PyObject*));
163PyAPI_FUNC_DECL(int PyAnySet_Check_Func(PyObject*));
164PyAPI_FUNC_DECL(int PyBool_Check_Func(PyObject*));
165PyAPI_FUNC_DECL(int PyByteArray_CheckExact_Func(PyObject*));
166PyAPI_FUNC_DECL(int PyByteArray_Check_Func(PyObject*));
167PyAPI_FUNC_DECL(int PyBytes_CheckExact_Func(PyObject*));
168PyAPI_FUNC_DECL(int PyBytes_Check_Func(PyObject*));
169PyAPI_FUNC_DECL(int PyCFunction_Check_Func(PyObject*));
170PyAPI_FUNC_DECL(int PyCapsule_CheckExact_Func(PyObject*));
171PyAPI_FUNC_DECL(int PyCode_Check_Func(PyObject*));
172PyAPI_FUNC_DECL(Py_ssize_t PyCode_GetNumFree_Func(PyObject*));
173PyAPI_FUNC_DECL(int PyComplex_CheckExact_Func(PyObject*));
174PyAPI_FUNC_DECL(int PyComplex_Check_Func(PyObject*));
175PyAPI_FUNC_DECL(int PyDict_CheckExact_Func(PyObject*));
176PyAPI_FUNC_DECL(int PyDict_Check_Func(PyObject*));
177PyAPI_FUNC_DECL(Py_ssize_t PyDict_GET_SIZE_Func(PyObject*));
178PyAPI_FUNC_DECL(int PyExceptionClass_Check_Func(PyObject*));
179PyAPI_FUNC_DECL(int PyExceptionInstance_Check_Func(PyObject*));
180PyAPI_FUNC_DECL(int PyFloat_CheckExact_Func(PyObject*));
181PyAPI_FUNC_DECL(int PyFloat_Check_Func(PyObject*));
182PyAPI_FUNC_DECL(int PyFrozenSet_CheckExact_Func(PyObject*));
183PyAPI_FUNC_DECL(int PyFrozenSet_Check_Func(PyObject*));
184PyAPI_FUNC_DECL(int PyIndex_Check_Func(PyObject*));
185PyAPI_FUNC_DECL(int PyIter_Check_Func(PyObject*));
186PyAPI_FUNC_DECL(int PyList_CheckExact_Func(PyObject*));
187PyAPI_FUNC_DECL(int PyList_Check_Func(PyObject*));
188PyAPI_FUNC_DECL(int PyList_SET_ITEM_Func(PyObject*, Py_ssize_t, PyObject*));
189PyAPI_FUNC_DECL(int PyLong_CheckExact_Func(PyObject*));
190PyAPI_FUNC_DECL(int PyLong_Check_Func(PyObject*));
191PyAPI_FUNC_DECL(void* PyMem_New_Func(size_t size, size_t n));
192PyAPI_FUNC_DECL(int PyMemoryView_Check_Func(PyObject*));
193PyAPI_FUNC_DECL(int PyMethod_Check_Func(PyObject*));
194PyAPI_FUNC_DECL(int PyModule_CheckExact_Func(PyObject*));
195PyAPI_FUNC_DECL(int PyModule_Check_Func(PyObject*));
196PyAPI_FUNC_DECL(int PyObject_CheckBuffer_Func(PyObject*));
197PyAPI_FUNC_DECL(int PyObject_TypeCheck_Func(PyObject*, PyTypeObject*));
198PyAPI_FUNC_DECL(int PySet_Check_Func(PyObject*));
199PyAPI_FUNC_DECL(PyObject* PySequence_Fast_GET_ITEM_Func(PyObject*, Py_ssize_t));
200PyAPI_FUNC_DECL(Py_ssize_t PySequence_Fast_GET_SIZE_Func(PyObject*));
201PyAPI_FUNC_DECL(PyObject* PySequence_ITEM_Func(PyObject*, Py_ssize_t));
202PyAPI_FUNC_DECL(int PySlice_Check_Func(PyObject*));
203PyAPI_FUNC_DECL(PyObject* PyStructSequence_SET_ITEM_Func(PyObject*, Py_ssize_t,
204 PyObject*));
205PyAPI_FUNC_DECL(int PyTraceBack_Check_Func(PyObject*));
206PyAPI_FUNC_DECL(int PyTuple_CheckExact_Func(PyObject*));
207PyAPI_FUNC_DECL(int PyTuple_Check_Func(PyObject*));
208PyAPI_FUNC_DECL(PyObject* PyTuple_GET_ITEM_Func(PyObject*, Py_ssize_t));
209PyAPI_FUNC_DECL(Py_ssize_t PyTuple_GET_SIZE_Func(PyObject*));
210PyAPI_FUNC_DECL(PyObject* PyTuple_SET_ITEM_Func(PyObject*, Py_ssize_t,
211 PyObject*));
212PyAPI_FUNC_DECL(int PyType_CheckExact_Func(PyObject*));
213PyAPI_FUNC_DECL(int PyType_Check_Func(PyObject*));
214PyAPI_FUNC_DECL(int PyUnicode_CheckExact_Func(PyObject*));
215PyAPI_FUNC_DECL(int PyUnicode_Check_Func(PyObject*));
216PyAPI_FUNC_DECL(void* PyUnicode_DATA_Func(PyObject*));
217PyAPI_FUNC_DECL(Py_ssize_t PyUnicode_GET_LENGTH_Func(PyObject*));
218PyAPI_FUNC_DECL(int PyUnicode_IS_ASCII_Func(PyObject*));
219PyAPI_FUNC_DECL(int PyUnicode_KIND_Func(PyObject*));
220PyAPI_FUNC_DECL(Py_UCS4 PyUnicode_READ_CHAR_Func(PyObject*, Py_ssize_t));
221PyAPI_FUNC_DECL(Py_UCS4 PyUnicode_READ_Func(int, void*, Py_ssize_t));
222PyAPI_FUNC_DECL(void PyUnicode_WRITE_Func(enum PyUnicode_Kind, void*,
223 Py_ssize_t, Py_UCS4));
224PyAPI_FUNC_DECL(int PyWeakref_Check_Func(PyObject*));
225PyAPI_FUNC_DECL(PyObject* PyWeakref_GET_OBJECT_Func(PyObject*));
226PyAPI_FUNC_DECL(void Py_DECREF_Func(PyObject*));
227PyAPI_FUNC_DECL(int Py_EnterRecursiveCall_Func(const char*));
228PyAPI_FUNC_DECL(void Py_INCREF_Func(PyObject*));
229PyAPI_FUNC_DECL(void Py_LeaveRecursiveCall_Func(void));
230PyAPI_FUNC_DECL(Py_ssize_t Py_REFCNT_Func(PyObject*));
231PyAPI_FUNC_DECL(Py_ssize_t* Py_SIZE_Func(PyVarObject*));
232PyAPI_FUNC_DECL(PyTypeObject* Py_TYPE_Func(PyObject* obj));
233PyAPI_FUNC_DECL(void Py_SET_TYPE_Func(PyObject* obj, PyTypeObject* type));
234PyAPI_FUNC_DECL(void Py_SET_REFCNT_Func(PyObject* obj, Py_ssize_t refcnt));
235PyAPI_FUNC_DECL(int Py_UNICODE_ISALPHA_Func(Py_UCS4));
236PyAPI_FUNC_DECL(int Py_UNICODE_ISDECIMAL_Func(Py_UCS4));
237PyAPI_FUNC_DECL(int Py_UNICODE_ISDIGIT_Func(Py_UCS4));
238PyAPI_FUNC_DECL(int Py_UNICODE_ISLINEBREAK_Func(Py_UCS4));
239PyAPI_FUNC_DECL(int Py_UNICODE_ISLOWER_Func(Py_UCS4));
240PyAPI_FUNC_DECL(int Py_UNICODE_ISNUMERIC_Func(Py_UCS4));
241PyAPI_FUNC_DECL(int Py_UNICODE_ISPRINTABLE_Func(Py_UCS4));
242PyAPI_FUNC_DECL(int Py_UNICODE_ISSPACE_Func(Py_UCS4));
243PyAPI_FUNC_DECL(int Py_UNICODE_ISTITLE_Func(Py_UCS4));
244PyAPI_FUNC_DECL(int Py_UNICODE_ISUPPER_Func(Py_UCS4));
245PyAPI_FUNC_DECL(int Py_UNICODE_TODECIMAL_Func(Py_UCS4));
246PyAPI_FUNC_DECL(int Py_UNICODE_TODIGIT_Func(Py_UCS4));
247PyAPI_FUNC_DECL(Py_UCS4 Py_UNICODE_TOLOWER_Func(Py_UCS4));
248PyAPI_FUNC_DECL(double Py_UNICODE_TONUMERIC_Func(Py_UCS4));
249PyAPI_FUNC_DECL(Py_UCS4 Py_UNICODE_TOTITLE_Func(Py_UCS4));
250PyAPI_FUNC_DECL(Py_UCS4 Py_UNICODE_TOUPPER_Func(Py_UCS4));
251PyAPI_FUNC_DECL(void Py_XDECREF_Func(PyObject*));
252PyAPI_FUNC_DECL(void Py_XINCREF_Func(PyObject*));
253PyAPI_FUNC_DECL(PyObject* _PyCode_ConstantKey(PyObject*));
254PyAPI_FUNC_DECL(int _PyObject_DebugMallocStats(FILE*));
255PyAPI_FUNC_DECL(Py_ssize_t _PyObject_SIZE_Func(PyObject*));
256PyAPI_FUNC_DECL(Py_ssize_t _PyObject_VAR_SIZE_Func(PyObject*, Py_ssize_t));
257
258/* C-API functions */
259PyAPI_FUNC_DECL(int _PyAST_Optimize(struct _mod*, PyArena* arena,
260 int optimize));
261PyAPI_FUNC_DECL(PyCodeObject* PyAST_Compile(struct _mod*, const char*,
262 PyCompilerFlags*, PyArena*));
263PyAPI_FUNC_DECL(PyCodeObject* PyAST_CompileEx(struct _mod*, const char*,
264 PyCompilerFlags*, int, PyArena*));
265PyAPI_FUNC_DECL(PyCodeObject* PyAST_CompileObject(struct _mod*, PyObject*,
266 PyCompilerFlags*, int,
267 PyArena*));
268PyAPI_FUNC_DECL(int PyArena_AddPyObject(PyArena*, PyObject*));
269PyAPI_FUNC_DECL(void PyArena_Free(PyArena*));
270PyAPI_FUNC_DECL(void* PyArena_Malloc(PyArena*, size_t));
271PyAPI_FUNC_DECL(PyArena* PyArena_New(void));
272PyAPI_FUNC_DECL(int PyArg_Parse(PyObject*, const char*, ...));
273PyAPI_FUNC_DECL(int PyArg_ParseTuple(PyObject* args, const char* format, ...));
274PyAPI_FUNC_DECL(int PyArg_ParseTupleAndKeywords(PyObject*, PyObject*,
275 const char*, char**, ...));
276PyAPI_FUNC_DECL(int PyArg_UnpackTuple(PyObject*, const char*, Py_ssize_t,
277 Py_ssize_t, ...));
278PyAPI_FUNC_DECL(int PyArg_VaParse(PyObject*, const char*, va_list));
279PyAPI_FUNC_DECL(int PyArg_VaParseTupleAndKeywords(PyObject*, PyObject*,
280 const char*, char**,
281 va_list));
282PyAPI_FUNC_DECL(int PyArg_ValidateKeywordArguments(PyObject*));
283PyAPI_FUNC_DECL(PyObject* PyBool_FromLong(long));
284PyAPI_FUNC_DECL(int PyBuffer_FillInfo(Py_buffer*, PyObject*, void*, Py_ssize_t,
285 int, int));
286PyAPI_FUNC_DECL(int PyBuffer_IsContiguous(const Py_buffer*, char));
287PyAPI_FUNC_DECL(void PyBuffer_Release(Py_buffer*));
288PyAPI_FUNC_DECL(char* PyByteArray_AsString(PyObject*));
289PyAPI_FUNC_DECL(PyObject* PyByteArray_Concat(PyObject*, PyObject*));
290PyAPI_FUNC_DECL(PyObject* PyByteArray_FromObject(PyObject*));
291PyAPI_FUNC_DECL(PyObject* PyByteArray_FromStringAndSize(const char*,
292 Py_ssize_t));
293PyAPI_FUNC_DECL(int PyByteArray_Resize(PyObject*, Py_ssize_t));
294PyAPI_FUNC_DECL(Py_ssize_t PyByteArray_Size(PyObject*));
295PyAPI_FUNC_DECL(char* PyBytes_AsString(PyObject*));
296PyAPI_FUNC_DECL(int PyBytes_AsStringAndSize(PyObject*, char**, Py_ssize_t*));
297PyAPI_FUNC_DECL(void PyBytes_Concat(PyObject**, PyObject*));
298PyAPI_FUNC_DECL(void PyBytes_ConcatAndDel(PyObject**, PyObject*));
299PyAPI_FUNC_DECL(PyObject* PyBytes_DecodeEscape(const char*, Py_ssize_t,
300 const char*, Py_ssize_t,
301 const char*));
302PyAPI_FUNC_DECL(PyObject* PyBytes_FromFormat(const char*, ...));
303PyAPI_FUNC_DECL(PyObject* PyBytes_FromFormatV(const char*, va_list));
304PyAPI_FUNC_DECL(PyObject* PyBytes_FromObject(PyObject*));
305PyAPI_FUNC_DECL(PyObject* PyBytes_FromString(const char*));
306PyAPI_FUNC_DECL(PyObject* PyBytes_FromStringAndSize(const char*, Py_ssize_t));
307PyAPI_FUNC_DECL(PyObject* PyBytes_Repr(PyObject*, int));
308PyAPI_FUNC_DECL(Py_ssize_t PyBytes_Size(PyObject*));
309PyAPI_FUNC_DECL(PyObject* PyCFunction_Call(PyObject*, PyObject*, PyObject*));
310PyAPI_FUNC_DECL(int PyCFunction_GetFlags(PyObject*));
311PyAPI_FUNC_DECL(PyCFunction PyCFunction_GetFunction(PyObject*));
312PyAPI_FUNC_DECL(PyObject* PyCFunction_GetSelf(PyObject*));
313PyAPI_FUNC_DECL(PyObject* PyCFunction_GET_SELF_Func(PyObject*));
314PyAPI_FUNC_DECL(PyObject* PyCFunction_New(PyMethodDef*, PyObject*));
315PyAPI_FUNC_DECL(PyObject* PyCFunction_NewEx(PyMethodDef*, PyObject*,
316 PyObject*));
317PyAPI_FUNC_DECL(PyObject* PyCallIter_New(PyObject*, PyObject*));
318PyAPI_FUNC_DECL(int PyCallable_Check(PyObject*));
319PyAPI_FUNC_DECL(void* PyCapsule_GetContext(PyObject*));
320PyAPI_FUNC_DECL(PyCapsule_Destructor PyCapsule_GetDestructor(PyObject*));
321PyAPI_FUNC_DECL(const char* PyCapsule_GetName(PyObject*));
322PyAPI_FUNC_DECL(void* PyCapsule_GetPointer(PyObject*, const char*));
323PyAPI_FUNC_DECL(void* PyCapsule_Import(const char*, int));
324PyAPI_FUNC_DECL(int PyCapsule_IsValid(PyObject*, const char*));
325PyAPI_FUNC_DECL(PyObject* PyCapsule_New(void*, const char*,
326 PyCapsule_Destructor));
327PyAPI_FUNC_DECL(int PyCapsule_SetContext(PyObject*, void*));
328PyAPI_FUNC_DECL(int PyCapsule_SetDestructor(PyObject*, PyCapsule_Destructor));
329PyAPI_FUNC_DECL(int PyCapsule_SetName(PyObject*, const char*));
330PyAPI_FUNC_DECL(int PyCapsule_SetPointer(PyObject*, void*));
331PyAPI_FUNC_DECL(PyObject* PyClassMethod_New(PyObject*));
332PyAPI_FUNC_DECL(PyCodeObject* PyCode_New(int, int, int, int, int, PyObject*,
333 PyObject*, PyObject*, PyObject*,
334 PyObject*, PyObject*, PyObject*,
335 PyObject*, int, PyObject*));
336PyAPI_FUNC_DECL(PyCodeObject* PyCode_NewEmpty(const char*, const char*, int));
337PyAPI_FUNC_DECL(PyCodeObject* PyCode_NewWithPosOnlyArgs(
338 int, int, int, int, int, int, PyObject*, PyObject*, PyObject*, PyObject*,
339 PyObject*, PyObject*, PyObject*, PyObject*, int, PyObject*));
340PyAPI_FUNC_DECL(PyObject* PyCodec_BackslashReplaceErrors(PyObject*));
341PyAPI_FUNC_DECL(PyObject* PyCodec_Decode(PyObject*, const char*, const char*));
342PyAPI_FUNC_DECL(PyObject* PyCodec_Decoder(const char*));
343PyAPI_FUNC_DECL(PyObject* PyCodec_Encode(PyObject*, const char*, const char*));
344PyAPI_FUNC_DECL(PyObject* PyCodec_Encoder(const char*));
345PyAPI_FUNC_DECL(PyObject* PyCodec_IgnoreErrors(PyObject*));
346PyAPI_FUNC_DECL(PyObject* PyCodec_IncrementalDecoder(const char*, const char*));
347PyAPI_FUNC_DECL(PyObject* PyCodec_IncrementalEncoder(const char*, const char*));
348PyAPI_FUNC_DECL(int PyCodec_KnownEncoding(const char*));
349PyAPI_FUNC_DECL(PyObject* PyCodec_LookupError(const char*));
350PyAPI_FUNC_DECL(PyObject* PyCodec_NameReplaceErrors(PyObject*));
351PyAPI_FUNC_DECL(int PyCodec_Register(PyObject*));
352PyAPI_FUNC_DECL(int PyCodec_RegisterError(const char*, PyObject*));
353PyAPI_FUNC_DECL(PyObject* PyCodec_ReplaceErrors(PyObject*));
354PyAPI_FUNC_DECL(PyObject* PyCodec_StreamReader(const char*, PyObject*,
355 const char*));
356PyAPI_FUNC_DECL(PyObject* PyCodec_StreamWriter(const char*, PyObject*,
357 const char*));
358PyAPI_FUNC_DECL(PyObject* PyCodec_StrictErrors(PyObject*));
359PyAPI_FUNC_DECL(PyObject* PyCodec_XMLCharRefReplaceErrors(PyObject*));
360PyAPI_FUNC_DECL(int PyCompile_OpcodeStackEffect(int, int));
361PyAPI_FUNC_DECL(Py_complex PyComplex_AsCComplex(PyObject*));
362PyAPI_FUNC_DECL(PyObject* PyComplex_FromCComplex(Py_complex));
363PyAPI_FUNC_DECL(PyObject* PyComplex_FromDoubles(double, double));
364PyAPI_FUNC_DECL(double PyComplex_ImagAsDouble(PyObject*));
365PyAPI_FUNC_DECL(double PyComplex_RealAsDouble(PyObject*));
366PyAPI_FUNC_DECL(PyObject* PyDescr_NAME_Func(PyObject*));
367PyAPI_FUNC_DECL(PyObject* PyDescr_NewClassMethod(PyTypeObject*, PyMethodDef*));
368PyAPI_FUNC_DECL(PyObject* PyDescr_NewGetSet(PyTypeObject*, PyGetSetDef*));
369PyAPI_FUNC_DECL(PyObject* PyDescr_NewMember(PyTypeObject*,
370 struct PyMemberDef*));
371PyAPI_FUNC_DECL(PyObject* PyDescr_NewMethod(PyTypeObject*, PyMethodDef*));
372PyAPI_FUNC_DECL(PyObject* PyDictProxy_New(PyObject*));
373PyAPI_FUNC_DECL(void PyDict_Clear(PyObject*));
374PyAPI_FUNC_DECL(int PyDict_Contains(PyObject*, PyObject*));
375PyAPI_FUNC_DECL(PyObject* PyDict_Copy(PyObject*));
376PyAPI_FUNC_DECL(int PyDict_DelItem(PyObject*, PyObject*));
377PyAPI_FUNC_DECL(int PyDict_DelItemString(PyObject*, const char*));
378PyAPI_FUNC_DECL(PyObject* PyDict_GetItem(PyObject*, PyObject*));
379PyAPI_FUNC_DECL(PyObject* PyDict_GetItemString(PyObject*, const char*));
380PyAPI_FUNC_DECL(PyObject* PyDict_GetItemWithError(PyObject*, PyObject*));
381PyAPI_FUNC_DECL(PyObject* PyDict_Items(PyObject*));
382PyAPI_FUNC_DECL(PyObject* PyDict_Keys(PyObject*));
383PyAPI_FUNC_DECL(int PyDict_Merge(PyObject*, PyObject*, int));
384PyAPI_FUNC_DECL(int PyDict_MergeFromSeq2(PyObject*, PyObject*, int));
385PyAPI_FUNC_DECL(PyObject* PyDict_New(void));
386PyAPI_FUNC_DECL(int PyDict_Next(PyObject*, Py_ssize_t*, PyObject**,
387 PyObject**));
388PyAPI_FUNC_DECL(int PyDict_SetItem(PyObject*, PyObject*, PyObject*));
389PyAPI_FUNC_DECL(int PyDict_SetItemString(PyObject*, const char*, PyObject*));
390PyAPI_FUNC_DECL(Py_ssize_t PyDict_Size(PyObject*));
391PyAPI_FUNC_DECL(int PyDict_Update(PyObject*, PyObject*));
392PyAPI_FUNC_DECL(PyObject* PyDict_Values(PyObject*));
393PyAPI_FUNC_DECL(int PyErr_BadArgument(void));
394PyAPI_FUNC_DECL(void PyErr_BadInternalCall(void));
395PyAPI_FUNC_DECL(int PyErr_CheckSignals(void));
396PyAPI_FUNC_DECL(void PyErr_Clear(void));
397PyAPI_FUNC_DECL(void PyErr_Display(PyObject*, PyObject*, PyObject*));
398PyAPI_FUNC_DECL(int PyErr_ExceptionMatches(PyObject*));
399PyAPI_FUNC_DECL(void PyErr_Fetch(PyObject**, PyObject**, PyObject**));
400PyAPI_FUNC_DECL(PyObject* PyErr_Format(PyObject*, const char*, ...));
401PyAPI_FUNC_DECL(PyObject* PyErr_FormatV(PyObject*, const char*, va_list));
402PyAPI_FUNC_DECL(void PyErr_GetExcInfo(PyObject**, PyObject**, PyObject**));
403PyAPI_FUNC_DECL(int PyErr_GivenExceptionMatches(PyObject*, PyObject*));
404PyAPI_FUNC_DECL(PyObject* PyErr_NewException(const char*, PyObject*,
405 PyObject*));
406PyAPI_FUNC_DECL(PyObject* PyErr_NewExceptionWithDoc(const char*, const char*,
407 PyObject*, PyObject*));
408PyAPI_FUNC_DECL(PyObject* PyErr_NoMemory(void));
409PyAPI_FUNC_DECL(void PyErr_NormalizeException(PyObject**, PyObject**,
410 PyObject**));
411PyAPI_FUNC_DECL(PyObject* PyErr_Occurred(void));
412PyAPI_FUNC_DECL(void PyErr_Print(void));
413PyAPI_FUNC_DECL(void PyErr_PrintEx(int));
414PyAPI_FUNC_DECL(PyObject* PyErr_ProgramText(const char*, int));
415PyAPI_FUNC_DECL(PyObject* PyErr_ProgramTextObject(PyObject*, int));
416PyAPI_FUNC_DECL(int PyErr_ResourceWarning(PyObject*, Py_ssize_t, const char*,
417 ...));
418PyAPI_FUNC_DECL(void PyErr_Restore(PyObject*, PyObject*, PyObject*));
419PyAPI_FUNC_DECL(PyObject* PyErr_SetExcFromWindowsErr(PyObject*, int));
420PyAPI_FUNC_DECL(PyObject* PyErr_SetExcFromWindowsErrWithFilename(PyObject*, int,
421 const char*));
422PyAPI_FUNC_DECL(PyObject* PyErr_SetExcFromWindowsErrWithFilenameObject(
423 PyObject*, int, PyObject*));
424PyAPI_FUNC_DECL(PyObject* PyErr_SetExcFromWindowsErrWithFilenameObjects(
425 PyObject*, int, PyObject*, PyObject*));
426PyAPI_FUNC_DECL(void PyErr_SetExcInfo(PyObject*, PyObject*, PyObject*));
427PyAPI_FUNC_DECL(PyObject* PyErr_SetFromErrno(PyObject*));
428PyAPI_FUNC_DECL(PyObject* PyErr_SetFromErrnoWithFilename(PyObject*,
429 const char*));
430PyAPI_FUNC_DECL(PyObject* PyErr_SetFromErrnoWithFilenameObject(PyObject*,
431 PyObject*));
432PyAPI_FUNC_DECL(PyObject* PyErr_SetFromErrnoWithFilenameObjects(PyObject*,
433 PyObject*,
434 PyObject*));
435PyAPI_FUNC_DECL(PyObject* PyErr_SetFromWindowsErr(int));
436PyAPI_FUNC_DECL(PyObject* PyErr_SetFromWindowsErrWithFilename(int,
437 const char*));
438PyAPI_FUNC_DECL(PyObject* PyErr_SetImportError(PyObject*, PyObject*,
439 PyObject*));
440PyAPI_FUNC_DECL(PyObject* PyErr_SetImportErrorSubclass(PyObject*, PyObject*,
441 PyObject*, PyObject*));
442PyAPI_FUNC_DECL(void PyErr_SetInterrupt(void));
443PyAPI_FUNC_DECL(void PyErr_SetNone(PyObject*));
444PyAPI_FUNC_DECL(void PyErr_SetObject(PyObject*, PyObject*));
445PyAPI_FUNC_DECL(void PyErr_SetString(PyObject*, const char*));
446PyAPI_FUNC_DECL(void PyErr_SyntaxLocation(const char*, int));
447PyAPI_FUNC_DECL(void PyErr_SyntaxLocationEx(const char*, int, int));
448PyAPI_FUNC_DECL(void PyErr_SyntaxLocationObject(PyObject*, int, int));
449PyAPI_FUNC_DECL(int PyErr_WarnEx(PyObject*, const char*, Py_ssize_t));
450PyAPI_FUNC_DECL(int PyErr_WarnExplicit(PyObject*, const char*, const char*, int,
451 const char*, PyObject*));
452PyAPI_FUNC_DECL(int PyErr_WarnExplicitObject(PyObject*, PyObject*, PyObject*,
453 int, PyObject*, PyObject*));
454PyAPI_FUNC_DECL(int PyErr_WarnFormat(PyObject*, Py_ssize_t, const char*, ...));
455PyAPI_FUNC_DECL(void PyErr_WriteUnraisable(PyObject*));
456PyAPI_FUNC_DECL(void PyEval_AcquireLock(void));
457PyAPI_FUNC_DECL(void PyEval_AcquireThread(PyThreadState*));
458PyAPI_FUNC_DECL(PyObject* PyEval_CallFunction(PyObject*, const char*, ...));
459PyAPI_FUNC_DECL(PyObject* PyEval_CallMethod(PyObject*, const char*, const char*,
460 ...));
461PyAPI_FUNC_DECL(PyObject* PyEval_CallObjectWithKeywords(PyObject*, PyObject*,
462 PyObject*));
463PyAPI_FUNC_DECL(PyObject* PyEval_EvalCode(PyObject*, PyObject*, PyObject*));
464PyAPI_FUNC_DECL(PyObject* PyEval_EvalCodeEx(PyObject*, PyObject*, PyObject*,
465 PyObject**, int, PyObject**, int,
466 PyObject**, int, PyObject*,
467 PyObject*));
468PyAPI_FUNC_DECL(PyObject* PyEval_EvalFrame(PyFrameObject*));
469PyAPI_FUNC_DECL(PyObject* PyEval_EvalFrameEx(PyFrameObject*, int));
470PyAPI_FUNC_DECL(PyObject* PyEval_GetBuiltins(void));
471PyAPI_FUNC_DECL(PyFrameObject* PyEval_GetFrame(void));
472PyAPI_FUNC_DECL(const char* PyEval_GetFuncDesc(PyObject*));
473PyAPI_FUNC_DECL(const char* PyEval_GetFuncName(PyObject*));
474PyAPI_FUNC_DECL(PyObject* PyEval_GetGlobals(void));
475PyAPI_FUNC_DECL(PyObject* PyEval_GetLocals(void));
476PyAPI_FUNC_DECL(void PyEval_InitThreads(void));
477PyAPI_FUNC_DECL(int PyEval_MergeCompilerFlags(PyCompilerFlags*));
478PyAPI_FUNC_DECL(void PyEval_ReleaseLock(void));
479PyAPI_FUNC_DECL(void PyEval_ReleaseThread(PyThreadState*));
480PyAPI_FUNC_DECL(void PyEval_RestoreThread(PyThreadState*));
481PyAPI_FUNC_DECL(PyThreadState* PyEval_SaveThread(void));
482PyAPI_FUNC_DECL(void PyEval_SetProfile(Py_tracefunc, PyObject*));
483PyAPI_FUNC_DECL(void PyEval_SetTrace(Py_tracefunc, PyObject*));
484PyAPI_FUNC_DECL(PyObject* PyException_GetCause(PyObject*));
485PyAPI_FUNC_DECL(PyObject* PyException_GetContext(PyObject*));
486PyAPI_FUNC_DECL(PyObject* PyException_GetTraceback(PyObject*));
487PyAPI_FUNC_DECL(void PyException_SetCause(PyObject*, PyObject*));
488PyAPI_FUNC_DECL(void PyException_SetContext(PyObject*, PyObject*));
489PyAPI_FUNC_DECL(int PyException_SetTraceback(PyObject*, PyObject*));
490PyAPI_FUNC_DECL(PyObject* PyFile_GetLine(PyObject*, int));
491PyAPI_FUNC_DECL(int PyFile_SetOpenCodeHook(Py_OpenCodeHookFunction hook,
492 void* userData));
493PyAPI_FUNC_DECL(int PyFile_WriteObject(PyObject*, PyObject*, int));
494PyAPI_FUNC_DECL(int PyFile_WriteString(const char*, PyObject*));
495PyAPI_FUNC_DECL(double PyFloat_AsDouble(PyObject*));
496PyAPI_FUNC_DECL(PyObject* PyFloat_FromDouble(double));
497PyAPI_FUNC_DECL(PyObject* PyFloat_FromString(PyObject*));
498PyAPI_FUNC_DECL(PyObject* PyFloat_GetInfo(void));
499PyAPI_FUNC_DECL(double PyFloat_GetMax(void));
500PyAPI_FUNC_DECL(double PyFloat_GetMin(void));
501PyAPI_FUNC_DECL(void PyFrame_FastToLocals(PyFrameObject*));
502PyAPI_FUNC_DECL(int PyFrame_GetLineNumber(PyFrameObject*));
503PyAPI_FUNC_DECL(void PyFrame_LocalsToFast(PyFrameObject*, int));
504PyAPI_FUNC_DECL(PyFrameObject* PyFrame_New(PyThreadState*, PyCodeObject*,
505 PyObject*, PyObject*));
506PyAPI_FUNC_DECL(PyObject* PyFrozenSet_New(PyObject*));
507PyAPI_FUNC_DECL(PyFutureFeatures* PyFuture_FromAST(struct _mod*, const char*));
508PyAPI_FUNC_DECL(PyFutureFeatures* PyFuture_FromASTObject(struct _mod*,
509 PyObject*));
510PyAPI_FUNC_DECL(Py_ssize_t PyGC_Collect(void));
511PyAPI_FUNC_DECL(int PyGILState_Check(void));
512PyAPI_FUNC_DECL(PyGILState_STATE PyGILState_Ensure(void));
513PyAPI_FUNC_DECL(PyThreadState* PyGILState_GetThisThreadState(void));
514PyAPI_FUNC_DECL(void PyGILState_Release(PyGILState_STATE));
515PyAPI_FUNC_DECL(PyObject* PyImport_AddModule(const char*));
516PyAPI_FUNC_DECL(PyObject* PyImport_AddModuleObject(PyObject*));
517PyAPI_FUNC_DECL(int PyImport_AppendInittab(const char*, PyObject* (*)(void)));
518PyAPI_FUNC_DECL(void PyImport_Cleanup(void));
519PyAPI_FUNC_DECL(PyObject* PyImport_ExecCodeModule(const char*, PyObject*));
520PyAPI_FUNC_DECL(PyObject* PyImport_ExecCodeModuleEx(const char*, PyObject*,
521 const char*));
522PyAPI_FUNC_DECL(PyObject* PyImport_ExecCodeModuleObject(PyObject*, PyObject*,
523 PyObject*, PyObject*));
524PyAPI_FUNC_DECL(PyObject* PyImport_ExecCodeModuleWithPathnames(
525 const char*, PyObject*, const char*, const char*));
526PyAPI_FUNC_DECL(long PyImport_GetMagicNumber(void));
527PyAPI_FUNC_DECL(const char* PyImport_GetMagicTag(void));
528PyAPI_FUNC_DECL(PyObject* PyImport_GetModule(PyObject* name));
529PyAPI_FUNC_DECL(PyObject* PyImport_GetModuleDict(void));
530PyAPI_FUNC_DECL(PyObject* PyImport_Import(PyObject*));
531PyAPI_FUNC_DECL(int PyImport_ImportFrozenModule(const char*));
532PyAPI_FUNC_DECL(int PyImport_ImportFrozenModuleObject(PyObject*));
533PyAPI_FUNC_DECL(PyObject* PyImport_ImportModule(const char*));
534PyAPI_FUNC_DECL(PyObject* PyImport_ImportModuleLevel(const char*, PyObject*,
535 PyObject*, PyObject*,
536 int));
537PyAPI_FUNC_DECL(PyObject* PyImport_ImportModuleLevelObject(PyObject*, PyObject*,
538 PyObject*, PyObject*,
539 int));
540PyAPI_FUNC_DECL(PyObject* PyImport_ImportModuleNoBlock(const char*));
541PyAPI_FUNC_DECL(PyObject* PyImport_ReloadModule(PyObject*));
542PyAPI_FUNC_DECL(int PyInstanceMethod_Check(PyObject*));
543PyAPI_FUNC_DECL(PyObject* PyInstanceMethod_GET_FUNCTION_Func(PyObject*));
544PyAPI_FUNC_DECL(PyObject* PyInstanceMethod_New(PyObject*));
545PyAPI_FUNC_DECL(void PyInterpreterState_Clear(PyInterpreterState*));
546PyAPI_FUNC_DECL(void PyInterpreterState_Delete(PyInterpreterState*));
547PyAPI_FUNC_DECL(PyInterpreterState* PyInterpreterState_Head(void));
548PyAPI_FUNC_DECL(PyInterpreterState* PyInterpreterState_Main(void));
549PyAPI_FUNC_DECL(
550 PyInterpreterState* PyInterpreterState_Next(PyInterpreterState*));
551PyAPI_FUNC_DECL(
552 PyThreadState* PyInterpreterState_ThreadHead(PyInterpreterState*));
553PyAPI_FUNC_DECL(PyObject* PyIter_Next(PyObject*));
554PyAPI_FUNC_DECL(int PyList_Append(PyObject*, PyObject*));
555PyAPI_FUNC_DECL(PyObject* PyList_AsTuple(PyObject*));
556PyAPI_FUNC_DECL(PyObject* PyList_GetItem(PyObject*, Py_ssize_t));
557PyAPI_FUNC_DECL(PyObject* PyList_GetSlice(PyObject*, Py_ssize_t, Py_ssize_t));
558PyAPI_FUNC_DECL(int PyList_Insert(PyObject*, Py_ssize_t, PyObject*));
559PyAPI_FUNC_DECL(PyObject* PyList_New(Py_ssize_t));
560PyAPI_FUNC_DECL(int PyList_Reverse(PyObject*));
561PyAPI_FUNC_DECL(int PyList_SetItem(PyObject*, Py_ssize_t, PyObject*));
562PyAPI_FUNC_DECL(int PyList_SetSlice(PyObject*, Py_ssize_t, Py_ssize_t,
563 PyObject*));
564PyAPI_FUNC_DECL(Py_ssize_t PyList_Size(PyObject*));
565PyAPI_FUNC_DECL(int PyList_Sort(PyObject*));
566PyAPI_FUNC_DECL(double PyLong_AsDouble(PyObject*));
567PyAPI_FUNC_DECL(long PyLong_AsLong(PyObject*));
568PyAPI_FUNC_DECL(long PyLong_AsLongAndOverflow(PyObject*, int*));
569PyAPI_FUNC_DECL(long long PyLong_AsLongLong(PyObject*));
570PyAPI_FUNC_DECL(long long PyLong_AsLongLongAndOverflow(PyObject*, int*));
571PyAPI_FUNC_DECL(pid_t PyLong_AsPid(PyObject*));
572PyAPI_FUNC_DECL(size_t PyLong_AsSize_t(PyObject*));
573PyAPI_FUNC_DECL(Py_ssize_t PyLong_AsSsize_t(PyObject*));
574PyAPI_FUNC_DECL(unsigned long PyLong_AsUnsignedLong(PyObject*));
575PyAPI_FUNC_DECL(unsigned long long PyLong_AsUnsignedLongLong(PyObject*));
576PyAPI_FUNC_DECL(unsigned long long PyLong_AsUnsignedLongLongMask(PyObject*));
577PyAPI_FUNC_DECL(unsigned long PyLong_AsUnsignedLongMask(PyObject*));
578PyAPI_FUNC_DECL(void* PyLong_AsVoidPtr(PyObject*));
579PyAPI_FUNC_DECL(PyObject* PyLong_FromDouble(double));
580PyAPI_FUNC_DECL(PyObject* PyLong_FromLong(long));
581PyAPI_FUNC_DECL(PyObject* PyLong_FromLongLong(long long));
582PyAPI_FUNC_DECL(PyObject* PyLong_FromPid(pid_t));
583PyAPI_FUNC_DECL(PyObject* PyLong_FromSize_t(size_t));
584PyAPI_FUNC_DECL(PyObject* PyLong_FromSsize_t(Py_ssize_t));
585PyAPI_FUNC_DECL(PyObject* PyLong_FromString(const char*, char**, int));
586PyAPI_FUNC_DECL(PyObject* PyLong_FromUnsignedLong(unsigned long));
587PyAPI_FUNC_DECL(PyObject* PyLong_FromUnsignedLongLong(unsigned long long));
588PyAPI_FUNC_DECL(PyObject* PyLong_FromVoidPtr(void*));
589PyAPI_FUNC_DECL(PyObject* PyLong_GetInfo(void));
590PyAPI_FUNC_DECL(int PyMapping_Check(PyObject*));
591PyAPI_FUNC_DECL(int PyMapping_DelItem(PyObject*, PyObject*));
592PyAPI_FUNC_DECL(int PyMapping_DelItemString(PyObject*, const char*));
593PyAPI_FUNC_DECL(PyObject* PyMapping_GetItemString(PyObject*, const char*));
594PyAPI_FUNC_DECL(int PyMapping_HasKey(PyObject*, PyObject*));
595PyAPI_FUNC_DECL(int PyMapping_HasKeyString(PyObject*, const char*));
596PyAPI_FUNC_DECL(PyObject* PyMapping_Items(PyObject*));
597PyAPI_FUNC_DECL(PyObject* PyMapping_Keys(PyObject*));
598PyAPI_FUNC_DECL(Py_ssize_t PyMapping_Length(PyObject*));
599PyAPI_FUNC_DECL(int PyMapping_SetItemString(PyObject*, const char*, PyObject*));
600PyAPI_FUNC_DECL(Py_ssize_t PyMapping_Size(PyObject*));
601PyAPI_FUNC_DECL(PyObject* PyMapping_Values(PyObject*));
602PyAPI_FUNC_DECL(void* PyMem_Calloc(size_t, size_t));
603PyAPI_FUNC_DECL(void PyMem_Del(void*));
604PyAPI_FUNC_DECL(void PyMem_Free(void*));
605PyAPI_FUNC_DECL(void* PyMem_Malloc(size_t));
606PyAPI_FUNC_DECL(void* PyMem_RawCalloc(size_t, size_t));
607PyAPI_FUNC_DECL(void PyMem_RawFree(void*));
608PyAPI_FUNC_DECL(void* PyMem_RawMalloc(size_t));
609PyAPI_FUNC_DECL(void* PyMem_RawRealloc(void*, size_t));
610PyAPI_FUNC_DECL(void* PyMem_Realloc(void*, size_t));
611PyAPI_FUNC_DECL(PyObject* PyMemoryView_FromMemory(char*, Py_ssize_t, int));
612PyAPI_FUNC_DECL(PyObject* PyMemoryView_FromObject(PyObject*));
613PyAPI_FUNC_DECL(PyObject* PyMemoryView_GetContiguous(PyObject*, int, char));
614PyAPI_FUNC_DECL(PyObject* PyMethod_Function(PyObject*));
615PyAPI_FUNC_DECL(PyObject* PyMethod_GET_FUNCTION_Func(PyObject*));
616PyAPI_FUNC_DECL(PyObject* PyMethod_GET_SELF_Func(PyObject*));
617PyAPI_FUNC_DECL(PyObject* PyMethod_New(PyObject*, PyObject*));
618PyAPI_FUNC_DECL(PyObject* PyMethod_Self(PyObject*));
619PyAPI_FUNC_DECL(PyObject* PyModuleDef_Init(struct PyModuleDef*));
620PyAPI_FUNC_DECL(int PyModule_AddFunctions(PyObject*, PyMethodDef*));
621PyAPI_FUNC_DECL(int PyModule_AddIntConstant(PyObject*, const char*, long));
622PyAPI_FUNC_DECL(int PyModule_AddObject(PyObject*, const char*, PyObject*));
623PyAPI_FUNC_DECL(int PyModule_AddStringConstant(PyObject*, const char*,
624 const char*));
625PyAPI_FUNC_DECL(PyObject* PyModule_Create2(struct PyModuleDef*, int));
626PyAPI_FUNC_DECL(int PyModule_ExecDef(PyObject*, PyModuleDef*));
627PyAPI_FUNC_DECL(PyObject* PyModule_FromDefAndSpec2(struct PyModuleDef*,
628 PyObject*, int));
629PyAPI_FUNC_DECL(PyModuleDef* PyModule_GetDef(PyObject*));
630PyAPI_FUNC_DECL(PyObject* PyModule_GetDict(PyObject*));
631PyAPI_FUNC_DECL(const char* PyModule_GetFilename(PyObject*));
632PyAPI_FUNC_DECL(PyObject* PyModule_GetFilenameObject(PyObject*));
633PyAPI_FUNC_DECL(const char* PyModule_GetName(PyObject*));
634PyAPI_FUNC_DECL(PyObject* PyModule_GetNameObject(PyObject*));
635PyAPI_FUNC_DECL(void* PyModule_GetState(PyObject*));
636PyAPI_FUNC_DECL(PyObject* PyModule_New(const char*));
637PyAPI_FUNC_DECL(PyObject* PyModule_NewObject(PyObject*));
638PyAPI_FUNC_DECL(int PyModule_SetDocString(PyObject*, const char*));
639PyAPI_FUNC_DECL(PyCodeObject* PyNode_Compile(struct _node*, const char*));
640PyAPI_FUNC_DECL(PyObject* PyNumber_Absolute(PyObject*));
641PyAPI_FUNC_DECL(PyObject* PyNumber_Add(PyObject*, PyObject*));
642PyAPI_FUNC_DECL(PyObject* PyNumber_And(PyObject*, PyObject*));
643PyAPI_FUNC_DECL(Py_ssize_t PyNumber_AsSsize_t(PyObject*, PyObject*));
644PyAPI_FUNC_DECL(int PyNumber_Check(PyObject*));
645PyAPI_FUNC_DECL(PyObject* PyNumber_Divmod(PyObject*, PyObject*));
646PyAPI_FUNC_DECL(PyObject* PyNumber_Float(PyObject*));
647PyAPI_FUNC_DECL(PyObject* PyNumber_FloorDivide(PyObject*, PyObject*));
648PyAPI_FUNC_DECL(PyObject* PyNumber_InPlaceAdd(PyObject*, PyObject*));
649PyAPI_FUNC_DECL(PyObject* PyNumber_InPlaceAnd(PyObject*, PyObject*));
650PyAPI_FUNC_DECL(PyObject* PyNumber_InPlaceFloorDivide(PyObject*, PyObject*));
651PyAPI_FUNC_DECL(PyObject* PyNumber_InPlaceLshift(PyObject*, PyObject*));
652PyAPI_FUNC_DECL(PyObject* PyNumber_InPlaceMatrixMultiply(PyObject*, PyObject*));
653PyAPI_FUNC_DECL(PyObject* PyNumber_InPlaceMultiply(PyObject*, PyObject*));
654PyAPI_FUNC_DECL(PyObject* PyNumber_InPlaceOr(PyObject*, PyObject*));
655PyAPI_FUNC_DECL(PyObject* PyNumber_InPlacePower(PyObject*, PyObject*,
656 PyObject*));
657PyAPI_FUNC_DECL(PyObject* PyNumber_InPlaceRemainder(PyObject*, PyObject*));
658PyAPI_FUNC_DECL(PyObject* PyNumber_InPlaceRshift(PyObject*, PyObject*));
659PyAPI_FUNC_DECL(PyObject* PyNumber_InPlaceSubtract(PyObject*, PyObject*));
660PyAPI_FUNC_DECL(PyObject* PyNumber_InPlaceTrueDivide(PyObject*, PyObject*));
661PyAPI_FUNC_DECL(PyObject* PyNumber_InPlaceXor(PyObject*, PyObject*));
662PyAPI_FUNC_DECL(PyObject* PyNumber_Index(PyObject*));
663PyAPI_FUNC_DECL(PyObject* PyNumber_Invert(PyObject*));
664PyAPI_FUNC_DECL(PyObject* PyNumber_Long(PyObject*));
665PyAPI_FUNC_DECL(PyObject* PyNumber_Lshift(PyObject*, PyObject*));
666PyAPI_FUNC_DECL(PyObject* PyNumber_MatrixMultiply(PyObject*, PyObject*));
667PyAPI_FUNC_DECL(PyObject* PyNumber_Multiply(PyObject*, PyObject*));
668PyAPI_FUNC_DECL(PyObject* PyNumber_Negative(PyObject*));
669PyAPI_FUNC_DECL(PyObject* PyNumber_Or(PyObject*, PyObject*));
670PyAPI_FUNC_DECL(PyObject* PyNumber_Positive(PyObject*));
671PyAPI_FUNC_DECL(PyObject* PyNumber_Power(PyObject*, PyObject*, PyObject*));
672PyAPI_FUNC_DECL(PyObject* PyNumber_Remainder(PyObject*, PyObject*));
673PyAPI_FUNC_DECL(PyObject* PyNumber_Rshift(PyObject*, PyObject*));
674PyAPI_FUNC_DECL(PyObject* PyNumber_Subtract(PyObject*, PyObject*));
675PyAPI_FUNC_DECL(PyObject* PyNumber_ToBase(PyObject*, int));
676PyAPI_FUNC_DECL(PyObject* PyNumber_TrueDivide(PyObject*, PyObject*));
677PyAPI_FUNC_DECL(PyObject* PyNumber_Xor(PyObject*, PyObject*));
678PyAPI_FUNC_DECL(int PyODict_DelItem(PyObject*, PyObject*));
679PyAPI_FUNC_DECL(PyObject* PyODict_New(void));
680PyAPI_FUNC_DECL(int PyODict_SetItem(PyObject*, PyObject*, PyObject*));
681PyAPI_FUNC_DECL(void PyOS_AfterFork(void));
682PyAPI_FUNC_DECL(void PyOS_AfterFork_Child(void));
683PyAPI_FUNC_DECL(void PyOS_AfterFork_Parent(void));
684PyAPI_FUNC_DECL(void PyOS_BeforeFork(void));
685PyAPI_FUNC_DECL(int PyOS_CheckStack(void));
686PyAPI_FUNC_DECL(PyObject* PyOS_FSPath(PyObject*));
687PyAPI_FUNC_DECL(void PyOS_InitInterrupts(void));
688PyAPI_FUNC_DECL(int PyOS_InterruptOccurred(void));
689PyAPI_FUNC_DECL(char* PyOS_double_to_string(double, char, int, int, int*));
690PyAPI_FUNC_DECL(PyOS_sighandler_t PyOS_getsig(int));
691PyAPI_FUNC_DECL(int PyOS_stricmp(const char*, const char*));
692PyAPI_FUNC_DECL(int PyOS_strnicmp(const char*, const char*, Py_ssize_t));
693PyAPI_FUNC_DECL(PyOS_sighandler_t PyOS_setsig(int, PyOS_sighandler_t));
694PyAPI_FUNC_DECL(int PyOS_snprintf(char*, size_t, const char*, ...));
695PyAPI_FUNC_DECL(double PyOS_string_to_double(const char*, char**, PyObject*));
696PyAPI_FUNC_DECL(long PyOS_strtol(const char*, char**, int));
697PyAPI_FUNC_DECL(unsigned long PyOS_strtoul(const char*, char**, int));
698PyAPI_FUNC_DECL(int PyOS_vsnprintf(char*, size_t, const char*, va_list));
699PyAPI_FUNC_DECL(PyObject* PyObject_ASCII(PyObject*));
700PyAPI_FUNC_DECL(int PyObject_AsCharBuffer(PyObject*, const char**,
701 Py_ssize_t*));
702PyAPI_FUNC_DECL(int PyObject_AsFileDescriptor(PyObject*));
703PyAPI_FUNC_DECL(int PyObject_AsReadBuffer(PyObject*, const void**,
704 Py_ssize_t*));
705PyAPI_FUNC_DECL(int PyObject_AsWriteBuffer(PyObject*, void**, Py_ssize_t*));
706PyAPI_FUNC_DECL(PyObject* PyObject_Bytes(PyObject*));
707PyAPI_FUNC_DECL(PyObject* PyObject_Call(PyObject*, PyObject*, PyObject*));
708PyAPI_FUNC_DECL(int PyObject_CallFinalizerFromDealloc(PyObject*));
709PyAPI_FUNC_DECL(PyObject* PyObject_CallFunction(PyObject*, const char*, ...));
710PyAPI_FUNC_DECL(PyObject* PyObject_CallFunctionObjArgs(PyObject*, ...));
711PyAPI_FUNC_DECL(PyObject* PyObject_CallMethod(PyObject*, const char*,
712 const char*, ...));
713PyAPI_FUNC_DECL(PyObject* PyObject_CallMethodObjArgs(PyObject*, PyObject*,
714 ...));
715PyAPI_FUNC_DECL(PyObject* PyObject_CallObject(PyObject*, PyObject*));
716PyAPI_FUNC_DECL(void* PyObject_Calloc(size_t, size_t));
717PyAPI_FUNC_DECL(int PyObject_CheckReadBuffer(PyObject*));
718PyAPI_FUNC_DECL(void PyObject_ClearWeakRefs(PyObject*));
719PyAPI_FUNC_DECL(int PyObject_DelAttr(PyObject*, PyObject*));
720PyAPI_FUNC_DECL(int PyObject_DelAttrString(PyObject*, const char*));
721PyAPI_FUNC_DECL(int PyObject_DelItem(PyObject*, PyObject*));
722PyAPI_FUNC_DECL(int PyObject_DelItemString(PyObject*, const char*));
723PyAPI_FUNC_DECL(PyObject* PyObject_Dir(PyObject*));
724PyAPI_FUNC_DECL(PyObject* PyObject_Format(PyObject*, PyObject*));
725PyAPI_FUNC_DECL(void PyObject_Free(void*));
726PyAPI_FUNC_DECL(void PyObject_GC_Del(void*));
727PyAPI_FUNC_DECL(void PyObject_GC_Track(void*));
728PyAPI_FUNC_DECL(void PyObject_GC_UnTrack(void*));
729PyAPI_FUNC_DECL(PyObject* PyObject_GenericGetAttr(PyObject*, PyObject*));
730PyAPI_FUNC_DECL(PyObject* PyObject_GenericGetDict(PyObject*, void*));
731PyAPI_FUNC_DECL(int PyObject_GenericSetAttr(PyObject*, PyObject*, PyObject*));
732PyAPI_FUNC_DECL(int PyObject_GenericSetDict(PyObject*, PyObject*, void*));
733PyAPI_FUNC_DECL(PyObject* PyObject_GetAttr(PyObject*, PyObject*));
734PyAPI_FUNC_DECL(PyObject* PyObject_GetAttrString(PyObject*, const char*));
735PyAPI_FUNC_DECL(int PyObject_GetBuffer(PyObject*, Py_buffer*, int));
736PyAPI_FUNC_DECL(PyObject* PyObject_GetItem(PyObject*, PyObject*));
737PyAPI_FUNC_DECL(PyObject* PyObject_GetIter(PyObject*));
738PyAPI_FUNC_DECL(int PyObject_HasAttr(PyObject*, PyObject*));
739PyAPI_FUNC_DECL(int PyObject_HasAttrString(PyObject*, const char*));
740PyAPI_FUNC_DECL(Py_hash_t PyObject_Hash(PyObject*));
741PyAPI_FUNC_DECL(Py_hash_t PyObject_HashNotImplemented(PyObject*));
742PyAPI_FUNC_DECL(PyObject* PyObject_Init(PyObject*, PyTypeObject*));
743PyAPI_FUNC_DECL(PyVarObject* PyObject_InitVar(PyVarObject*, PyTypeObject*,
744 Py_ssize_t));
745PyAPI_FUNC_DECL(int PyObject_IsInstance(PyObject*, PyObject*));
746PyAPI_FUNC_DECL(int PyObject_IsSubclass(PyObject*, PyObject*));
747PyAPI_FUNC_DECL(int PyObject_IsTrue(PyObject*));
748PyAPI_FUNC_DECL(Py_ssize_t PyObject_Length(PyObject*));
749PyAPI_FUNC_DECL(Py_ssize_t PyObject_LengthHint(PyObject*, Py_ssize_t));
750PyAPI_FUNC_DECL(void* PyObject_Malloc(size_t));
751PyAPI_FUNC_DECL(int PyObject_Not(PyObject*));
752PyAPI_FUNC_DECL(int PyObject_Print(PyObject*, FILE*, int));
753PyAPI_FUNC_DECL(void* PyObject_Realloc(void*, size_t));
754PyAPI_FUNC_DECL(PyObject* PyObject_Repr(PyObject*));
755PyAPI_FUNC_DECL(PyObject* PyObject_RichCompare(PyObject*, PyObject*, int));
756PyAPI_FUNC_DECL(int PyObject_RichCompareBool(PyObject*, PyObject*, int));
757PyAPI_FUNC_DECL(PyObject* PyObject_SelfIter(PyObject*));
758PyAPI_FUNC_DECL(int PyObject_SetAttr(PyObject*, PyObject*, PyObject*));
759PyAPI_FUNC_DECL(int PyObject_SetAttrString(PyObject*, const char*, PyObject*));
760PyAPI_FUNC_DECL(int PyObject_SetItem(PyObject*, PyObject*, PyObject*));
761PyAPI_FUNC_DECL(Py_ssize_t PyObject_Size(PyObject*));
762PyAPI_FUNC_DECL(PyObject* PyObject_Str(PyObject*));
763PyAPI_FUNC_DECL(PyObject* PyObject_Type(PyObject*));
764PyAPI_FUNC_DECL(const char* PyObject_TypeName(PyObject*));
765PyAPI_FUNC_DECL(struct _mod* PyParser_ASTFromFile(FILE*, const char*,
766 const char*, int, const char*,
767 const char*, PyCompilerFlags*,
768 int*, PyArena*));
769PyAPI_FUNC_DECL(struct _mod* PyParser_ASTFromFileObject(
770 FILE*, PyObject*, const char*, int, const char*, const char*,
771 PyCompilerFlags*, int*, PyArena*));
772PyAPI_FUNC_DECL(struct _mod* PyParser_ASTFromString(const char*, const char*,
773 int, PyCompilerFlags*,
774 PyArena*));
775PyAPI_FUNC_DECL(struct _mod* PyParser_ASTFromStringObject(
776 const char*, PyObject*, int, PyCompilerFlags*, PyArena*));
777PyAPI_FUNC_DECL(struct _node* PyParser_SimpleParseFileFlags(FILE*, const char*,
778 int, int));
779PyAPI_FUNC_DECL(struct _node* PyParser_SimpleParseStringFlags(const char*, int,
780 int));
781PyAPI_FUNC_DECL(struct _node* PyParser_SimpleParseStringFlagsFilename(
782 const char*, const char*, int, int));
783PyAPI_FUNC_DECL(int PyRun_AnyFile(FILE*, const char*));
784PyAPI_FUNC_DECL(int PyRun_AnyFileEx(FILE*, const char*, int));
785PyAPI_FUNC_DECL(int PyRun_AnyFileExFlags(FILE*, const char*, int,
786 PyCompilerFlags*));
787PyAPI_FUNC_DECL(int PyRun_AnyFileFlags(FILE*, const char*, PyCompilerFlags*));
788PyAPI_FUNC_DECL(PyObject* PyRun_File(FILE*, const char*, int, PyObject*,
789 PyObject*));
790PyAPI_FUNC_DECL(PyObject* PyRun_FileEx(FILE*, const char*, int, PyObject*,
791 PyObject*, int));
792PyAPI_FUNC_DECL(PyObject* PyRun_FileExFlags(FILE*, const char*, int, PyObject*,
793 PyObject*, int, PyCompilerFlags*));
794PyAPI_FUNC_DECL(PyObject* PyRun_FileFlags(FILE*, const char*, int, PyObject*,
795 PyObject*, PyCompilerFlags*));
796PyAPI_FUNC_DECL(int PyRun_InteractiveLoop(FILE*, const char*));
797PyAPI_FUNC_DECL(int PyRun_InteractiveLoopFlags(FILE*, const char*,
798 PyCompilerFlags*));
799PyAPI_FUNC_DECL(int PyRun_SimpleFile(FILE*, const char*));
800PyAPI_FUNC_DECL(int PyRun_SimpleFileEx(FILE*, const char*, int));
801PyAPI_FUNC_DECL(int PyRun_SimpleFileExFlags(FILE*, const char*, int,
802 PyCompilerFlags*));
803PyAPI_FUNC_DECL(int PyRun_SimpleString(const char*));
804PyAPI_FUNC_DECL(int PyRun_SimpleStringFlags(const char*, PyCompilerFlags*));
805PyAPI_FUNC_DECL(PyObject* PyRun_String(const char*, int, PyObject*, PyObject*));
806PyAPI_FUNC_DECL(PyObject* PyRun_StringFlags(const char*, int, PyObject*,
807 PyObject*, PyCompilerFlags*));
808PyAPI_FUNC_DECL(PyObject* PySeqIter_New(PyObject*));
809PyAPI_FUNC_DECL(int PySequence_Check(PyObject*));
810PyAPI_FUNC_DECL(PyObject* PySequence_Concat(PyObject*, PyObject*));
811PyAPI_FUNC_DECL(int PySequence_Contains(PyObject*, PyObject*));
812PyAPI_FUNC_DECL(Py_ssize_t PySequence_Count(PyObject*, PyObject*));
813PyAPI_FUNC_DECL(int PySequence_DelItem(PyObject*, Py_ssize_t));
814PyAPI_FUNC_DECL(int PySequence_DelSlice(PyObject*, Py_ssize_t, Py_ssize_t));
815PyAPI_FUNC_DECL(PyObject* PySequence_Fast(PyObject*, const char*));
816PyAPI_FUNC_DECL(PyObject* PySequence_GetItem(PyObject*, Py_ssize_t));
817PyAPI_FUNC_DECL(PyObject* PySequence_GetSlice(PyObject*, Py_ssize_t,
818 Py_ssize_t));
819PyAPI_FUNC_DECL(int PySequence_In(PyObject*, PyObject*));
820PyAPI_FUNC_DECL(PyObject* PySequence_InPlaceConcat(PyObject*, PyObject*));
821PyAPI_FUNC_DECL(PyObject* PySequence_InPlaceRepeat(PyObject*, Py_ssize_t));
822PyAPI_FUNC_DECL(Py_ssize_t PySequence_Index(PyObject*, PyObject*));
823PyAPI_FUNC_DECL(Py_ssize_t PySequence_Length(PyObject*));
824PyAPI_FUNC_DECL(PyObject* PySequence_List(PyObject*));
825PyAPI_FUNC_DECL(PyObject* PySequence_Repeat(PyObject*, Py_ssize_t));
826PyAPI_FUNC_DECL(int PySequence_SetItem(PyObject*, Py_ssize_t, PyObject*));
827PyAPI_FUNC_DECL(int PySequence_SetSlice(PyObject*, Py_ssize_t, Py_ssize_t,
828 PyObject*));
829PyAPI_FUNC_DECL(Py_ssize_t PySequence_Size(PyObject*));
830PyAPI_FUNC_DECL(PyObject* PySequence_Tuple(PyObject*));
831PyAPI_FUNC_DECL(int PySet_Add(PyObject*, PyObject*));
832PyAPI_FUNC_DECL(int PySet_Clear(PyObject*));
833PyAPI_FUNC_DECL(int PySet_Contains(PyObject*, PyObject*));
834PyAPI_FUNC_DECL(int PySet_Discard(PyObject*, PyObject*));
835PyAPI_FUNC_DECL(PyObject* PySet_New(PyObject*));
836PyAPI_FUNC_DECL(PyObject* PySet_Pop(PyObject*));
837PyAPI_FUNC_DECL(Py_ssize_t PySet_Size(PyObject*));
838PyAPI_FUNC_DECL(Py_ssize_t PySlice_AdjustIndices(Py_ssize_t, Py_ssize_t*,
839 Py_ssize_t*, Py_ssize_t));
840PyAPI_FUNC_DECL(int PySlice_GetIndices(PyObject*, Py_ssize_t, Py_ssize_t*,
841 Py_ssize_t*, Py_ssize_t*));
842PyAPI_FUNC_DECL(int PySlice_GetIndicesEx(PyObject*, Py_ssize_t, Py_ssize_t*,
843 Py_ssize_t*, Py_ssize_t*,
844 Py_ssize_t*));
845PyAPI_FUNC_DECL(PyObject* PySlice_New(PyObject*, PyObject*, PyObject*));
846PyAPI_FUNC_DECL(int PySlice_Unpack(PyObject*, Py_ssize_t*, Py_ssize_t*,
847 Py_ssize_t*));
848PyAPI_FUNC_DECL(int PyState_AddModule(PyObject*, struct PyModuleDef*));
849PyAPI_FUNC_DECL(PyObject* PyState_FindModule(struct PyModuleDef*));
850PyAPI_FUNC_DECL(int PyState_RemoveModule(struct PyModuleDef*));
851PyAPI_FUNC_DECL(PyObject* PyStaticMethod_New(PyObject*));
852PyAPI_FUNC_DECL(PyObject* PyStructSequence_GetItem(PyObject*, Py_ssize_t));
853PyAPI_FUNC_DECL(int PyStructSequence_InitType2(PyTypeObject*,
854 PyStructSequence_Desc*));
855PyAPI_FUNC_DECL(PyObject* PyStructSequence_New(PyTypeObject*));
856PyAPI_FUNC_DECL(PyTypeObject* PyStructSequence_NewType(PyStructSequence_Desc*));
857PyAPI_FUNC_DECL(void PyStructSequence_SetItem(PyObject*, Py_ssize_t,
858 PyObject*));
859PyAPI_FUNC_DECL(void PySys_AddWarnOption(const wchar_t*));
860PyAPI_FUNC_DECL(void PySys_AddWarnOptionUnicode(PyObject*));
861PyAPI_FUNC_DECL(void PySys_AddXOption(const wchar_t*));
862PyAPI_FUNC_DECL(int PySys_Audit(const char*, const char*, ...));
863PyAPI_FUNC_DECL(void PySys_FormatStderr(const char*, ...));
864PyAPI_FUNC_DECL(void PySys_FormatStdout(const char*, ...));
865PyAPI_FUNC_DECL(PyObject* PySys_GetObject(const char*));
866PyAPI_FUNC_DECL(PyObject* PySys_GetXOptions(void));
867PyAPI_FUNC_DECL(int PySys_HasWarnOptions(void));
868PyAPI_FUNC_DECL(void PySys_ResetWarnOptions(void));
869PyAPI_FUNC_DECL(void PySys_SetArgv(int, wchar_t**));
870PyAPI_FUNC_DECL(void PySys_SetArgvEx(int, wchar_t**, int));
871PyAPI_FUNC_DECL(int PySys_SetObject(const char*, PyObject*));
872PyAPI_FUNC_DECL(void PySys_SetPath(const wchar_t*));
873PyAPI_FUNC_DECL(void PySys_WriteStderr(const char*, ...));
874PyAPI_FUNC_DECL(void PySys_WriteStdout(const char*, ...));
875PyAPI_FUNC_DECL(void PyThreadState_Clear(PyThreadState*));
876PyAPI_FUNC_DECL(void PyThreadState_Delete(PyThreadState*));
877PyAPI_FUNC_DECL(void PyThreadState_DeleteCurrent(void));
878PyAPI_FUNC_DECL(PyThreadState* PyThreadState_Get(void));
879PyAPI_FUNC_DECL(PyObject* PyThreadState_GetDict(void));
880PyAPI_FUNC_DECL(PyThreadState* PyThreadState_New(PyInterpreterState*));
881PyAPI_FUNC_DECL(PyThreadState* PyThreadState_Next(PyThreadState*));
882PyAPI_FUNC_DECL(int PyThreadState_SetAsyncExc(unsigned long, PyObject*));
883PyAPI_FUNC_DECL(PyThreadState* PyThreadState_Swap(PyThreadState*));
884PyAPI_FUNC_DECL(PyObject* PyThread_GetInfo(void));
885PyAPI_FUNC_DECL(void PyThread_ReInitTLS(void));
886PyAPI_FUNC_DECL(int PyThread_acquire_lock(PyThread_type_lock, int));
887PyAPI_FUNC_DECL(PyLockStatus PyThread_acquire_lock_timed(PyThread_type_lock,
888 PY_TIMEOUT_T, int));
889PyAPI_FUNC_DECL(PyThread_type_lock PyThread_allocate_lock(void));
890PyAPI_FUNC_DECL(int PyThread_create_key(void));
891PyAPI_FUNC_DECL(void PyThread_delete_key(int));
892PyAPI_FUNC_DECL(void PyThread_delete_key_value(int));
893PyAPI_FUNC_DECL(void PyThread_exit_thread(void));
894PyAPI_FUNC_DECL(void PyThread_free_lock(PyThread_type_lock));
895PyAPI_FUNC_DECL(void* PyThread_get_key_value(int));
896PyAPI_FUNC_DECL(size_t PyThread_get_stacksize(void));
897PyAPI_FUNC_DECL(unsigned long PyThread_get_thread_ident(void));
898PyAPI_FUNC_DECL(void PyThread_init_thread(void));
899PyAPI_FUNC_DECL(void PyThread_release_lock(PyThread_type_lock));
900PyAPI_FUNC_DECL(int PyThread_set_key_value(int, void*));
901PyAPI_FUNC_DECL(int PyThread_set_stacksize(size_t));
902PyAPI_FUNC_DECL(long PyThread_start_new_thread(void (*)(void*), void*));
903PyAPI_FUNC_DECL(int PyToken_OneChar(int));
904PyAPI_FUNC_DECL(int PyToken_TwoChars(int, int));
905PyAPI_FUNC_DECL(int PyToken_ThreeChars(int, int, int));
906PyAPI_FUNC_DECL(int PyTraceBack_Here(PyFrameObject*));
907PyAPI_FUNC_DECL(int PyTraceBack_Print(PyObject*, PyObject*));
908PyAPI_FUNC_DECL(PyObject* PyTuple_GetItem(PyObject*, Py_ssize_t));
909PyAPI_FUNC_DECL(PyObject* PyTuple_GetSlice(PyObject*, Py_ssize_t, Py_ssize_t));
910PyAPI_FUNC_DECL(PyObject* PyTuple_New(Py_ssize_t));
911PyAPI_FUNC_DECL(PyObject* PyTuple_Pack(Py_ssize_t, ...));
912PyAPI_FUNC_DECL(int PyTuple_SetItem(PyObject*, Py_ssize_t, PyObject*));
913PyAPI_FUNC_DECL(Py_ssize_t PyTuple_Size(PyObject*));
914PyAPI_FUNC_DECL(unsigned int PyType_ClearCache(void));
915PyAPI_FUNC_DECL(PyObject* PyType_FromSpec(PyType_Spec*));
916PyAPI_FUNC_DECL(PyObject* PyType_FromSpecWithBases(PyType_Spec*, PyObject*));
917PyAPI_FUNC_DECL(PyObject* PyType_GenericAlloc(PyTypeObject*, Py_ssize_t));
918PyAPI_FUNC_DECL(PyObject* PyType_GenericNew(PyTypeObject*, PyObject*,
919 PyObject*));
920PyAPI_FUNC_DECL(unsigned long PyType_GetFlags(PyTypeObject*));
921PyAPI_FUNC_DECL(void* PyType_GetSlot(PyTypeObject*, int));
922PyAPI_FUNC_DECL(int PyType_IsSubtype(PyTypeObject*, PyTypeObject*));
923PyAPI_FUNC_DECL(void PyType_Modified(PyTypeObject*));
924PyAPI_FUNC_DECL(int PyType_Ready(PyTypeObject*));
925PyAPI_FUNC_DECL(PyObject* PyUnicodeDecodeError_Create(const char*, const char*,
926 Py_ssize_t, Py_ssize_t,
927 Py_ssize_t, const char*));
928PyAPI_FUNC_DECL(PyObject* PyUnicodeDecodeError_GetEncoding(PyObject*));
929PyAPI_FUNC_DECL(int PyUnicodeDecodeError_GetEnd(PyObject*, Py_ssize_t*));
930PyAPI_FUNC_DECL(PyObject* PyUnicodeDecodeError_GetObject(PyObject*));
931PyAPI_FUNC_DECL(PyObject* PyUnicodeDecodeError_GetReason(PyObject*));
932PyAPI_FUNC_DECL(int PyUnicodeDecodeError_GetStart(PyObject*, Py_ssize_t*));
933PyAPI_FUNC_DECL(int PyUnicodeDecodeError_SetEnd(PyObject*, Py_ssize_t));
934PyAPI_FUNC_DECL(int PyUnicodeDecodeError_SetReason(PyObject*, const char*));
935PyAPI_FUNC_DECL(int PyUnicodeDecodeError_SetStart(PyObject*, Py_ssize_t));
936PyAPI_FUNC_DECL(PyObject* PyUnicodeEncodeError_GetEncoding(PyObject*));
937PyAPI_FUNC_DECL(int PyUnicodeEncodeError_GetEnd(PyObject*, Py_ssize_t*));
938PyAPI_FUNC_DECL(PyObject* PyUnicodeEncodeError_GetObject(PyObject*));
939PyAPI_FUNC_DECL(PyObject* PyUnicodeEncodeError_GetReason(PyObject*));
940PyAPI_FUNC_DECL(int PyUnicodeEncodeError_GetStart(PyObject*, Py_ssize_t*));
941PyAPI_FUNC_DECL(int PyUnicodeEncodeError_SetEnd(PyObject*, Py_ssize_t));
942PyAPI_FUNC_DECL(int PyUnicodeEncodeError_SetReason(PyObject*, const char*));
943PyAPI_FUNC_DECL(int PyUnicodeEncodeError_SetStart(PyObject*, Py_ssize_t));
944PyAPI_FUNC_DECL(int PyUnicodeTranslateError_GetEnd(PyObject*, Py_ssize_t*));
945PyAPI_FUNC_DECL(PyObject* PyUnicodeTranslateError_GetObject(PyObject*));
946PyAPI_FUNC_DECL(PyObject* PyUnicodeTranslateError_GetReason(PyObject*));
947PyAPI_FUNC_DECL(int PyUnicodeTranslateError_GetStart(PyObject*, Py_ssize_t*));
948PyAPI_FUNC_DECL(int PyUnicodeTranslateError_SetEnd(PyObject*, Py_ssize_t));
949PyAPI_FUNC_DECL(int PyUnicodeTranslateError_SetReason(PyObject*, const char*));
950PyAPI_FUNC_DECL(int PyUnicodeTranslateError_SetStart(PyObject*, Py_ssize_t));
951PyAPI_FUNC_DECL(void PyUnicode_Append(PyObject**, PyObject*));
952PyAPI_FUNC_DECL(void PyUnicode_AppendAndDel(PyObject**, PyObject*));
953PyAPI_FUNC_DECL(PyObject* PyUnicode_AsASCIIString(PyObject*));
954PyAPI_FUNC_DECL(PyObject* PyUnicode_AsCharmapString(PyObject*, PyObject*));
955PyAPI_FUNC_DECL(PyObject* PyUnicode_AsDecodedObject(PyObject*, const char*,
956 const char*));
957PyAPI_FUNC_DECL(PyObject* PyUnicode_AsDecodedUnicode(PyObject*, const char*,
958 const char*));
959PyAPI_FUNC_DECL(PyObject* PyUnicode_AsEncodedObject(PyObject*, const char*,
960 const char*));
961PyAPI_FUNC_DECL(PyObject* PyUnicode_AsEncodedString(PyObject*, const char*,
962 const char*));
963PyAPI_FUNC_DECL(PyObject* PyUnicode_AsEncodedUnicode(PyObject*, const char*,
964 const char*));
965PyAPI_FUNC_DECL(PyObject* PyUnicode_AsLatin1String(PyObject*));
966PyAPI_FUNC_DECL(PyObject* PyUnicode_AsMBCSString(PyObject*));
967PyAPI_FUNC_DECL(PyObject* PyUnicode_AsRawUnicodeEscapeString(PyObject*));
968PyAPI_FUNC_DECL(Py_UCS4* PyUnicode_AsUCS4(PyObject*, Py_UCS4*, Py_ssize_t,
969 int));
970PyAPI_FUNC_DECL(Py_UCS4* PyUnicode_AsUCS4Copy(PyObject*));
971PyAPI_FUNC_DECL(PyObject* PyUnicode_AsUTF16String(PyObject*));
972PyAPI_FUNC_DECL(PyObject* PyUnicode_AsUTF32String(PyObject*));
973PyAPI_FUNC_DECL(const char* PyUnicode_AsUTF8(PyObject*));
974PyAPI_FUNC_DECL(const char* PyUnicode_AsUTF8AndSize(PyObject*, Py_ssize_t*));
975PyAPI_FUNC_DECL(PyObject* PyUnicode_AsUTF8String(PyObject*));
976PyAPI_FUNC_DECL(Py_UNICODE* PyUnicode_AsUnicode(PyObject*));
977PyAPI_FUNC_DECL(Py_UNICODE* PyUnicode_AsUnicodeAndSize(PyObject*, Py_ssize_t*));
978PyAPI_FUNC_DECL(PyObject* PyUnicode_AsUnicodeEscapeString(PyObject*));
979PyAPI_FUNC_DECL(Py_ssize_t PyUnicode_AsWideChar(PyObject*, wchar_t*,
980 Py_ssize_t));
981PyAPI_FUNC_DECL(wchar_t* PyUnicode_AsWideCharString(PyObject*, Py_ssize_t*));
982PyAPI_FUNC_DECL(PyObject* PyUnicode_BuildEncodingMap(PyObject*));
983PyAPI_FUNC_DECL(int PyUnicode_Compare(PyObject*, PyObject*));
984PyAPI_FUNC_DECL(int PyUnicode_CompareWithASCIIString(PyObject*, const char*));
985PyAPI_FUNC_DECL(PyObject* PyUnicode_Concat(PyObject*, PyObject*));
986PyAPI_FUNC_DECL(int PyUnicode_Contains(PyObject*, PyObject*));
987PyAPI_FUNC_DECL(Py_ssize_t PyUnicode_Count(PyObject*, PyObject*, Py_ssize_t,
988 Py_ssize_t));
989PyAPI_FUNC_DECL(PyObject* PyUnicode_Decode(const char*, Py_ssize_t, const char*,
990 const char*));
991PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeASCII(const char*, Py_ssize_t,
992 const char*));
993PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeCharmap(const char*, Py_ssize_t,
994 PyObject*, const char*));
995PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeCodePageStateful(
996 int, const char*, Py_ssize_t, const char*, Py_ssize_t*));
997PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeFSDefault(const char*));
998PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeFSDefaultAndSize(const char*,
999 Py_ssize_t));
1000PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeLatin1(const char*, Py_ssize_t,
1001 const char*));
1002PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeLocale(const char*, const char*));
1003PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeLocaleAndSize(const char*, Py_ssize_t,
1004 const char*));
1005PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeMBCS(const char*, Py_ssize_t,
1006 const char*));
1007PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeMBCSStateful(const char*, Py_ssize_t,
1008 const char*,
1009 Py_ssize_t*));
1010PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeRawUnicodeEscape(const char*,
1011 Py_ssize_t,
1012 const char*));
1013PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeUTF16(const char*, Py_ssize_t,
1014 const char*, int*));
1015PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeUTF16Stateful(const char*, Py_ssize_t,
1016 const char*, int*,
1017 Py_ssize_t*));
1018PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeUTF32(const char*, Py_ssize_t,
1019 const char*, int*));
1020PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeUTF32Stateful(const char*, Py_ssize_t,
1021 const char*, int*,
1022 Py_ssize_t*));
1023PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeUTF7(const char*, Py_ssize_t,
1024 const char*));
1025PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeUTF7Stateful(const char*, Py_ssize_t,
1026 const char*,
1027 Py_ssize_t*));
1028PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeUTF8(const char*, Py_ssize_t,
1029 const char*));
1030PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeUTF8Stateful(const char*, Py_ssize_t,
1031 const char*,
1032 Py_ssize_t*));
1033PyAPI_FUNC_DECL(PyObject* PyUnicode_DecodeUnicodeEscape(const char*, Py_ssize_t,
1034 const char*));
1035PyAPI_FUNC_DECL(PyObject* PyUnicode_EncodeCodePage(int, PyObject*,
1036 const char*));
1037PyAPI_FUNC_DECL(PyObject* PyUnicode_EncodeFSDefault(PyObject*));
1038PyAPI_FUNC_DECL(PyObject* PyUnicode_EncodeLocale(PyObject*, const char*));
1039PyAPI_FUNC_DECL(PyObject* PyUnicode_EncodeUTF16(const Py_UNICODE*, Py_ssize_t,
1040 const char*, int));
1041PyAPI_FUNC_DECL(PyObject* PyUnicode_EncodeUTF32(const Py_UNICODE*, Py_ssize_t,
1042 const char*, int));
1043PyAPI_FUNC_DECL(int PyUnicode_FSConverter(PyObject*, void*));
1044PyAPI_FUNC_DECL(int PyUnicode_FSDecoder(PyObject*, void*));
1045PyAPI_FUNC_DECL(Py_ssize_t PyUnicode_Find(PyObject*, PyObject*, Py_ssize_t,
1046 Py_ssize_t, int));
1047PyAPI_FUNC_DECL(Py_ssize_t PyUnicode_FindChar(PyObject*, Py_UCS4, Py_ssize_t,
1048 Py_ssize_t, int));
1049PyAPI_FUNC_DECL(PyObject* PyUnicode_Format(PyObject*, PyObject*));
1050PyAPI_FUNC_DECL(PyObject* PyUnicode_FromEncodedObject(PyObject*, const char*,
1051 const char*));
1052PyAPI_FUNC_DECL(PyObject* PyUnicode_FromFormat(const char*, ...));
1053PyAPI_FUNC_DECL(PyObject* PyUnicode_FromFormatV(const char*, va_list));
1054PyAPI_FUNC_DECL(PyObject* PyUnicode_FromKindAndData(int, const void*,
1055 Py_ssize_t));
1056PyAPI_FUNC_DECL(PyObject* PyUnicode_FromObject(PyObject*));
1057PyAPI_FUNC_DECL(PyObject* PyUnicode_FromOrdinal(int));
1058PyAPI_FUNC_DECL(PyObject* PyUnicode_FromString(const char*));
1059PyAPI_FUNC_DECL(PyObject* PyUnicode_FromStringAndSize(const char*, Py_ssize_t));
1060PyAPI_FUNC_DECL(PyObject* PyUnicode_FromUnicode(const Py_UNICODE*, Py_ssize_t));
1061PyAPI_FUNC_DECL(PyObject* PyUnicode_FromWideChar(const wchar_t*, Py_ssize_t));
1062PyAPI_FUNC_DECL(const char* PyUnicode_GetDefaultEncoding(void));
1063PyAPI_FUNC_DECL(Py_ssize_t PyUnicode_GetLength(PyObject*));
1064PyAPI_FUNC_DECL(Py_ssize_t PyUnicode_GetSize(PyObject*));
1065PyAPI_FUNC_DECL(PyObject* PyUnicode_InternFromString(const char*));
1066PyAPI_FUNC_DECL(void PyUnicode_InternImmortal(PyObject**));
1067PyAPI_FUNC_DECL(void PyUnicode_InternInPlace(PyObject**));
1068PyAPI_FUNC_DECL(int PyUnicode_IsIdentifier(PyObject*));
1069PyAPI_FUNC_DECL(PyObject* PyUnicode_Join(PyObject*, PyObject*));
1070PyAPI_FUNC_DECL(PyObject* PyUnicode_New(Py_ssize_t, Py_UCS4));
1071PyAPI_FUNC_DECL(PyObject* PyUnicode_Partition(PyObject*, PyObject*));
1072PyAPI_FUNC_DECL(PyObject* PyUnicode_RPartition(PyObject*, PyObject*));
1073PyAPI_FUNC_DECL(PyObject* PyUnicode_RSplit(PyObject*, PyObject*, Py_ssize_t));
1074PyAPI_FUNC_DECL(Py_UCS4 PyUnicode_ReadChar(PyObject*, Py_ssize_t));
1075PyAPI_FUNC_DECL(PyObject* PyUnicode_Replace(PyObject*, PyObject*, PyObject*,
1076 Py_ssize_t));
1077PyAPI_FUNC_DECL(int PyUnicode_Resize(PyObject**, Py_ssize_t));
1078PyAPI_FUNC_DECL(PyObject* PyUnicode_RichCompare(PyObject*, PyObject*, int));
1079PyAPI_FUNC_DECL(PyObject* PyUnicode_Split(PyObject*, PyObject*, Py_ssize_t));
1080PyAPI_FUNC_DECL(PyObject* PyUnicode_Splitlines(PyObject*, int));
1081PyAPI_FUNC_DECL(PyObject* PyUnicode_Substring(PyObject*, Py_ssize_t,
1082 Py_ssize_t));
1083PyAPI_FUNC_DECL(Py_ssize_t PyUnicode_Tailmatch(PyObject*, PyObject*, Py_ssize_t,
1084 Py_ssize_t, int));
1085PyAPI_FUNC_DECL(PyObject* PyUnicode_Translate(PyObject*, PyObject*,
1086 const char*));
1087PyAPI_FUNC_DECL(int PyUnicode_WriteChar(PyObject*, Py_ssize_t, Py_UCS4));
1088PyAPI_FUNC_DECL(PyObject* PyWeakref_GetObject(PyObject*));
1089PyAPI_FUNC_DECL(PyObject* PyWeakref_NewProxy(PyObject*, PyObject*));
1090PyAPI_FUNC_DECL(PyObject* PyWeakref_NewRef(PyObject*, PyObject*));
1091PyAPI_FUNC_DECL(PyObject* PyWrapper_New(PyObject*, PyObject*));
1092PyAPI_FUNC_DECL(int Py_AddPendingCall(int (*)(void*), void*));
1093PyAPI_FUNC_DECL(int Py_AtExit(void (*)(void)));
1094PyAPI_FUNC_DECL(PyObject* Py_BuildValue(const char*, ...));
1095PyAPI_FUNC_DECL(int Py_BytesMain(int, char**));
1096PyAPI_FUNC_DECL(PyObject* Py_CompileString(const char*, const char*, int));
1097PyAPI_FUNC_DECL(void Py_DecRef(PyObject*));
1098PyAPI_FUNC_DECL(wchar_t* Py_DecodeLocale(const char*, size_t*));
1099PyAPI_FUNC_DECL(char* Py_EncodeLocale(const wchar_t*, size_t*));
1100PyAPI_FUNC_DECL(void Py_EndInterpreter(PyThreadState*));
1101PyAPI_FUNC_DECL(void Py_Exit(int));
1102PyAPI_FUNC_DECL(void Py_FatalError(const char*)) _Py_NO_RETURN;
1103PyAPI_FUNC_DECL(void Py_Finalize(void));
1104PyAPI_FUNC_DECL(int Py_FdIsInteractive(FILE*, const char*));
1105PyAPI_FUNC_DECL(int Py_FinalizeEx(void));
1106PyAPI_FUNC_DECL(const char* Py_GetBuildInfo(void));
1107PyAPI_FUNC_DECL(const char* Py_GetCompiler(void));
1108PyAPI_FUNC_DECL(const char* Py_GetCopyright(void));
1109PyAPI_FUNC_DECL(wchar_t* Py_GetExecPrefix(void));
1110PyAPI_FUNC_DECL(wchar_t* Py_GetPath(void));
1111PyAPI_FUNC_DECL(const char* Py_GetPlatform(void));
1112PyAPI_FUNC_DECL(wchar_t* Py_GetPrefix(void));
1113PyAPI_FUNC_DECL(wchar_t* Py_GetProgramFullPath(void));
1114PyAPI_FUNC_DECL(wchar_t* Py_GetProgramName(void));
1115PyAPI_FUNC_DECL(wchar_t* Py_GetPythonHome(void));
1116PyAPI_FUNC_DECL(int Py_GetRecursionLimit(void));
1117PyAPI_FUNC_DECL(const char* Py_GetVersion(void));
1118PyAPI_FUNC_DECL(int Py_ISALNUM_Func(unsigned char));
1119PyAPI_FUNC_DECL(int Py_ISALPHA_Func(unsigned char));
1120PyAPI_FUNC_DECL(int Py_ISDIGIT_Func(unsigned char));
1121PyAPI_FUNC_DECL(int Py_ISLOWER_Func(unsigned char));
1122PyAPI_FUNC_DECL(int Py_ISSPACE_Func(unsigned char));
1123PyAPI_FUNC_DECL(int Py_ISUPPER_Func(unsigned char));
1124PyAPI_FUNC_DECL(int Py_ISXDIGIT_Func(unsigned char));
1125PyAPI_FUNC_DECL(unsigned char Py_TOLOWER_Func(unsigned char));
1126PyAPI_FUNC_DECL(unsigned char Py_TOUPPER_Func(unsigned char));
1127PyAPI_FUNC_DECL(void Py_IncRef(PyObject*));
1128PyAPI_FUNC_DECL(void Py_Initialize(void));
1129PyAPI_FUNC_DECL(void Py_InitializeEx(int));
1130PyAPI_FUNC_DECL(int Py_IsInitialized(void));
1131PyAPI_FUNC_DECL(int Py_Main(int, wchar_t**));
1132PyAPI_FUNC_DECL(int Py_MakePendingCalls(void));
1133PyAPI_FUNC_DECL(PyThreadState* Py_NewInterpreter(void));
1134PyAPI_FUNC_DECL(int Py_ReprEnter(PyObject*));
1135PyAPI_FUNC_DECL(void Py_ReprLeave(PyObject*));
1136PyAPI_FUNC_DECL(void Py_SetPath(const wchar_t*));
1137PyAPI_FUNC_DECL(void Py_SetProgramName(const wchar_t*));
1138PyAPI_FUNC_DECL(void Py_SetPythonHome(const wchar_t*));
1139PyAPI_FUNC_DECL(void Py_SetRecursionLimit(int));
1140PyAPI_FUNC_DECL(struct symtable* Py_SymtableString(const char*, const char*,
1141 int));
1142PyAPI_FUNC_DECL(struct symtable* Py_SymtableStringObject(const char* str,
1143 PyObject* filename,
1144 int start));
1145PyAPI_FUNC_DECL(size_t Py_UNICODE_strlen(const Py_UNICODE*));
1146PyAPI_FUNC_DECL(char* Py_UniversalNewlineFgets(char*, int, FILE*, PyObject*));
1147PyAPI_FUNC_DECL(PyObject* Py_VaBuildValue(const char*, va_list));
1148PyAPI_FUNC_DECL(void _PyArg_BadArgument(const char*, const char*, const char*,
1149 PyObject*));
1150PyAPI_FUNC_DECL(int _PyArg_CheckPositional(const char*, Py_ssize_t, Py_ssize_t,
1151 Py_ssize_t));
1152PyAPI_FUNC_DECL(void _PyArg_Fini(void));
1153PyAPI_FUNC_DECL(int _PyArg_NoKeywords(const char* funcname, PyObject* kw));
1154PyAPI_FUNC_DECL(int _PyArg_NoPositional(const char* funcname, PyObject* args));
1155PyAPI_FUNC_DECL(int _PyArg_ParseStack(PyObject* const* args, Py_ssize_t nargs,
1156 const char* format, ...));
1157PyAPI_FUNC_DECL(int _PyArg_ParseStack_SizeT(PyObject* const* args,
1158 Py_ssize_t nargs,
1159 const char* format, ...));
1160PyAPI_FUNC_DECL(int _PyArg_ParseStackAndKeywords(PyObject* const*, Py_ssize_t,
1161 PyObject*,
1162 struct _PyArg_Parser*, ...));
1163PyAPI_FUNC_DECL(int _PyArg_ParseStackAndKeywords_SizeT(
1164 PyObject* const*, Py_ssize_t, PyObject*, struct _PyArg_Parser*, ...));
1165PyAPI_FUNC_DECL(int _PyArg_ParseTupleAndKeywordsFast(PyObject*, PyObject*,
1166 struct _PyArg_Parser*,
1167 ...));
1168PyAPI_FUNC_DECL(int _PyArg_ParseTupleAndKeywordsFast_SizeT(
1169 PyObject*, PyObject*, struct _PyArg_Parser*, ...));
1170PyAPI_FUNC_DECL(int _PyArg_ParseTupleAndKeywords_SizeT(PyObject*, PyObject*,
1171 const char*, char**,
1172 ...));
1173PyAPI_FUNC_DECL(int _PyArg_ParseTuple_SizeT(PyObject* args, const char* format,
1174 ...));
1175PyAPI_FUNC_DECL(int _PyArg_Parse_SizeT(PyObject*, const char*, ...));
1176PyAPI_FUNC_DECL(PyObject* const* _PyArg_UnpackKeywords(
1177 PyObject* const*, Py_ssize_t, PyObject*, PyObject*, struct _PyArg_Parser*,
1178 int, int, int, PyObject**));
1179PyAPI_FUNC_DECL(int _PyArg_UnpackStack(PyObject* const*, Py_ssize_t,
1180 const char*, Py_ssize_t, Py_ssize_t,
1181 ...));
1182PyAPI_FUNC_DECL(int _PyArg_VaParseTupleAndKeywordsFast(PyObject*, PyObject*,
1183 struct _PyArg_Parser*,
1184 va_list));
1185PyAPI_FUNC_DECL(int _PyArg_VaParseTupleAndKeywordsFast_SizeT(
1186 PyObject*, PyObject*, struct _PyArg_Parser*, va_list));
1187PyAPI_FUNC_DECL(int _PyArg_VaParseTupleAndKeywords_SizeT(PyObject*, PyObject*,
1188 const char*, char**,
1189 va_list));
1190PyAPI_FUNC_DECL(int _PyArg_VaParse_SizeT(PyObject*, const char*, va_list));
1191PyAPI_FUNC_DECL(void* _PyBytesWriter_Alloc(_PyBytesWriter* writer,
1192 Py_ssize_t size));
1193PyAPI_FUNC_DECL(void _PyBytesWriter_Dealloc(_PyBytesWriter* writer));
1194PyAPI_FUNC_DECL(PyObject* _PyBytesWriter_Finish(_PyBytesWriter* writer,
1195 void* str));
1196PyAPI_FUNC_DECL(void _PyBytesWriter_Init(_PyBytesWriter* writer));
1197PyAPI_FUNC_DECL(void* _PyBytesWriter_Prepare(_PyBytesWriter* writer, void* str,
1198 Py_ssize_t growth));
1199PyAPI_FUNC_DECL(void* _PyBytesWriter_Resize(_PyBytesWriter* writer, void* str,
1200 Py_ssize_t new_size));
1201PyAPI_FUNC_DECL(void* _PyBytesWriter_WriteBytes(_PyBytesWriter* writer,
1202 void* str, const void* bytes,
1203 Py_ssize_t len));
1204PyAPI_FUNC_DECL(PyObject* _PyBytes_DecodeEscape(const char*, Py_ssize_t,
1205 const char*, Py_ssize_t,
1206 const char*, const char**));
1207PyAPI_FUNC_DECL(PyObject* _PyBytes_Join(PyObject*, PyObject*));
1208PyAPI_FUNC_DECL(int _PyBytes_Resize(PyObject**, Py_ssize_t));
1209PyAPI_FUNC_DECL(PyObject* _PyCodecInfo_GetIncrementalDecoder(PyObject*,
1210 const char*));
1211PyAPI_FUNC_DECL(PyObject* _PyCodecInfo_GetIncrementalEncoder(PyObject*,
1212 const char*));
1213PyAPI_FUNC_DECL(PyObject* _PyCodec_LookupTextEncoding(const char*,
1214 const char*));
1215PyAPI_FUNC_DECL(PyObject* _PyDict_GetItem_KnownHash(PyObject* pydict,
1216 PyObject* key,
1217 Py_hash_t hash));
1218PyAPI_FUNC_DECL(int _PyDict_Next(PyObject*, Py_ssize_t*, PyObject**, PyObject**,
1219 Py_hash_t*));
1220PyAPI_FUNC_DECL(int _PyDict_SetItem_KnownHash(PyObject* pydict, PyObject* key,
1221 PyObject* value, Py_hash_t hash));
1222PyAPI_FUNC_DECL(void _PyErr_BadInternalCall(const char*, int));
1223PyAPI_FUNC_DECL(void _PyErr_ChainExceptions(PyObject*, PyObject*, PyObject*));
1224PyAPI_FUNC_DECL(PyObject* _PyErr_FormatFromCause(PyObject*, const char*, ...));
1225PyAPI_FUNC_DECL(PyObject* _PyEval_EvalFrameDefault(PyFrameObject*, int));
1226PyAPI_FUNC_DECL(void _PyEval_ReInitThreads(_PyRuntimeState*));
1227PyAPI_FUNC_DECL(int _PyFloat_Pack2(double x, unsigned char* p, int le));
1228PyAPI_FUNC_DECL(int _PyFloat_Pack4(double x, unsigned char* p, int le));
1229PyAPI_FUNC_DECL(int _PyFloat_Pack8(double x, unsigned char* p, int le));
1230PyAPI_FUNC_DECL(double _PyFloat_Unpack2(const unsigned char* p, int le));
1231PyAPI_FUNC_DECL(double _PyFloat_Unpack4(const unsigned char* p, int le));
1232PyAPI_FUNC_DECL(double _PyFloat_Unpack8(const unsigned char* p, int le));
1233PyAPI_FUNC_DECL(void _PyGILState_Reinit(_PyRuntimeState*));
1234PyAPI_FUNC_DECL(void _PyImport_AcquireLock(void));
1235PyAPI_FUNC_DECL(void _PyImport_ReInitLock(void));
1236PyAPI_FUNC_DECL(int _PyImport_ReleaseLock(void));
1237PyAPI_FUNC_DECL(void _PyInterpreterState_DeleteExceptMain(_PyRuntimeState*));
1238PyAPI_FUNC_DECL(PyInterpreterState* _PyInterpreterState_Get(void));
1239PyAPI_FUNC_DECL(int _PyLong_AsByteArray(PyLongObject*, unsigned char*, size_t,
1240 int, int));
1241PyAPI_FUNC_DECL(int _PyLong_AsInt(PyObject*));
1242PyAPI_FUNC_DECL(time_t _PyLong_AsTime_t(PyObject*));
1243PyAPI_FUNC_DECL(PyObject* _PyLong_Copy(PyLongObject*));
1244PyAPI_FUNC_DECL(PyObject* _PyLong_DivmodNear(PyObject*, PyObject*));
1245PyAPI_FUNC_DECL(double _PyLong_Frexp(PyLongObject*, Py_ssize_t*));
1246PyAPI_FUNC_DECL(PyObject* _PyLong_FromByteArray(const unsigned char*, size_t,
1247 int, int));
1248PyAPI_FUNC_DECL(PyLongObject* _PyLong_FromNbInt(PyObject*));
1249PyAPI_FUNC_DECL(PyObject* _PyLong_FromTime_t(time_t));
1250PyAPI_FUNC_DECL(PyObject* _PyLong_GCD(PyObject*, PyObject*));
1251PyAPI_FUNC_DECL(PyObject* _PyLong_Lshift(PyObject*, size_t));
1252PyAPI_FUNC_DECL(size_t _PyLong_NumBits(PyObject*));
1253PyAPI_FUNC_DECL(PyObject* _PyLong_Rshift(PyObject*, size_t));
1254PyAPI_FUNC_DECL(int _PyLong_Sign(PyObject*));
1255PyAPI_FUNC_DECL(int _PyLong_Size_t_Converter(PyObject*, void*));
1256PyAPI_FUNC_DECL(int _PyLong_UnsignedInt_Converter(PyObject*, void*));
1257PyAPI_FUNC_DECL(int _PyLong_UnsignedLong_Converter(PyObject*, void*));
1258PyAPI_FUNC_DECL(int _PyLong_UnsignedLongLong_Converter(PyObject*, void*));
1259PyAPI_FUNC_DECL(int _PyLong_UnsignedShort_Converter(PyObject*, void*));
1260PyAPI_FUNC_DECL(char* _PyMem_RawStrdup(const char*));
1261PyAPI_FUNC_DECL(char* _PyMem_Strdup(const char*));
1262PyAPI_FUNC_DECL(PyObject* _PyNamespace_New(PyObject* kwds));
1263PyAPI_FUNC_DECL(int _PyOS_InterruptOccurred(PyThreadState*));
1264PyAPI_FUNC_DECL(int _PyOS_URandom(void*, Py_ssize_t));
1265PyAPI_FUNC_DECL(int _PyOS_URandomNonblock(void*, Py_ssize_t));
1266PyAPI_FUNC_DECL(PyObject* _PyObject_CallMethod_SizeT(PyObject*, const char*,
1267 const char*, ...));
1268PyAPI_FUNC_DECL(PyObject* _PyObject_CallNoArg(PyObject*));
1269PyAPI_FUNC_DECL(PyObject* _PyObject_FastCall(PyObject*, PyObject**,
1270 Py_ssize_t));
1271PyAPI_FUNC_DECL(PyObject* _PyObject_FastCallDict(PyObject*, PyObject**,
1272 Py_ssize_t, PyObject*));
1273PyAPI_FUNC_DECL(PyObject* _PyObject_FastCallKeywords(PyObject*, PyObject**,
1274 Py_ssize_t, PyObject*));
1275PyAPI_FUNC_DECL(PyObject* _PyObject_GC_Calloc(size_t));
1276PyAPI_FUNC_DECL(PyObject* _PyObject_GC_Malloc(size_t));
1277PyAPI_FUNC_DECL(PyObject* _PyObject_GC_New(PyTypeObject*));
1278PyAPI_FUNC_DECL(PyVarObject* _PyObject_GC_NewVar(PyTypeObject*, Py_ssize_t));
1279PyAPI_FUNC_DECL(PyVarObject* _PyObject_GC_Resize(PyVarObject*, Py_ssize_t));
1280PyAPI_FUNC_DECL(PyObject* _PyObject_GetAttrId(PyObject*,
1281 struct _Py_Identifier*));
1282PyAPI_FUNC_DECL(int _PyObject_HasAttrId(PyObject*, struct _Py_Identifier*));
1283PyAPI_FUNC_DECL(int _PyObject_LookupAttr(PyObject*, PyObject*, PyObject**));
1284PyAPI_FUNC_DECL(PyObject* _PyObject_LookupSpecial(PyObject*,
1285 struct _Py_Identifier*));
1286PyAPI_FUNC_DECL(PyObject* _PyObject_New(PyTypeObject*));
1287PyAPI_FUNC_DECL(PyVarObject* _PyObject_NewVar(PyTypeObject*, Py_ssize_t));
1288PyAPI_FUNC_DECL(int _PyObject_SetAttrId(PyObject*, struct _Py_Identifier*,
1289 PyObject*));
1290PyAPI_FUNC_DECL(void _PyRuntimeState_ReInitThreads(_PyRuntimeState*));
1291PyAPI_FUNC_DECL(char* const* _PySequence_BytesToCharpArray(PyObject*));
1292PyAPI_FUNC_DECL(int _PySet_NextEntry(PyObject* pyset, Py_ssize_t* ppos,
1293 PyObject** pkey, Py_hash_t* phash));
1294PyAPI_FUNC_DECL(void _PySignal_AfterFork(void));
1295PyAPI_FUNC_DECL(int _PyState_AddModule(PyObject*, struct PyModuleDef*));
1296PyAPI_FUNC_DECL(void _PyState_ClearModules(void));
1297PyAPI_FUNC_DECL(size_t _PySys_GetSizeOf(PyObject*));
1298PyAPI_FUNC_DECL(PyThreadState* _PyThreadState_GET_Func(void));
1299PyAPI_FUNC_DECL(int _PyThreadState_GetRecursionDepth(PyThreadState*));
1300PyAPI_FUNC_DECL(void _PyThreadState_Init(_PyRuntimeState*, PyThreadState*));
1301PyAPI_FUNC_DECL(PyThreadState* _PyThreadState_Prealloc(PyInterpreterState*));
1302PyAPI_FUNC_DECL(_PyTime_t _PyTime_AsMicroseconds(_PyTime_t, _PyTime_round_t));
1303PyAPI_FUNC_DECL(_PyTime_t _PyTime_AsMilliseconds(_PyTime_t, _PyTime_round_t));
1304PyAPI_FUNC_DECL(PyObject* _PyTime_AsNanosecondsObject(_PyTime_t));
1305PyAPI_FUNC_DECL(double _PyTime_AsSecondsDouble(_PyTime_t));
1306PyAPI_FUNC_DECL(int _PyTime_AsTimespec(_PyTime_t, struct timespec*));
1307PyAPI_FUNC_DECL(int _PyTime_AsTimeval(_PyTime_t, struct timeval*,
1308 _PyTime_round_t));
1309PyAPI_FUNC_DECL(int _PyTime_AsTimevalTime_t(_PyTime_t, time_t*, int*,
1310 _PyTime_round_t));
1311PyAPI_FUNC_DECL(int _PyTime_AsTimeval_noraise(_PyTime_t, struct timeval*,
1312 _PyTime_round_t));
1313PyAPI_FUNC_DECL(int _PyTime_FromMillisecondsObject(_PyTime_t*, PyObject*,
1314 _PyTime_round_t));
1315PyAPI_FUNC_DECL(_PyTime_t _PyTime_FromNanoseconds(_PyTime_t ns));
1316PyAPI_FUNC_DECL(int _PyTime_FromNanosecondsObject(_PyTime_t* t, PyObject* obj));
1317PyAPI_FUNC_DECL(_PyTime_t _PyTime_FromSeconds(int seconds));
1318PyAPI_FUNC_DECL(int _PyTime_FromSecondsObject(_PyTime_t*, PyObject*,
1319 _PyTime_round_t));
1320PyAPI_FUNC_DECL(int _PyTime_FromTimespec(_PyTime_t* tp, struct timespec* ts));
1321PyAPI_FUNC_DECL(int _PyTime_FromTimeval(_PyTime_t* tp, struct timeval* tv));
1322PyAPI_FUNC_DECL(_PyTime_t _PyTime_GetMonotonicClock(void));
1323PyAPI_FUNC_DECL(int _PyTime_GetMonotonicClockWithInfo(_PyTime_t*,
1324 _Py_clock_info_t*));
1325PyAPI_FUNC_DECL(_PyTime_t _PyTime_GetPerfCounter(void));
1326PyAPI_FUNC_DECL(int _PyTime_GetPerfCounterWithInfo(_PyTime_t* t,
1327 _Py_clock_info_t* info));
1328PyAPI_FUNC_DECL(_PyTime_t _PyTime_GetSystemClock(void));
1329PyAPI_FUNC_DECL(int _PyTime_GetSystemClockWithInfo(_PyTime_t*,
1330 _Py_clock_info_t*));
1331PyAPI_FUNC_DECL(int _PyTime_Init(void));
1332PyAPI_FUNC_DECL(_PyTime_t _PyTime_MulDiv(_PyTime_t ticks, _PyTime_t mul,
1333 _PyTime_t div));
1334PyAPI_FUNC_DECL(int _PyTime_ObjectToTime_t(PyObject*, time_t*,
1335 _PyTime_round_t));
1336PyAPI_FUNC_DECL(int _PyTime_ObjectToTimespec(PyObject*, time_t*, long*,
1337 _PyTime_round_t));
1338PyAPI_FUNC_DECL(int _PyTime_ObjectToTimeval(PyObject*, time_t*, long*,
1339 _PyTime_round_t));
1340PyAPI_FUNC_DECL(int _PyTime_gmtime(time_t, struct tm*));
1341PyAPI_FUNC_DECL(int _PyTime_localtime(time_t, struct tm*));
1342PyAPI_FUNC_DECL(void _PyTraceback_Add(const char*, const char*, int));
1343PyAPI_FUNC_DECL(void _PyTrash_deposit_object(PyObject*));
1344PyAPI_FUNC_DECL(void _PyTrash_destroy_chain(void));
1345PyAPI_FUNC_DECL(void _PyTrash_thread_deposit_object(PyObject*));
1346PyAPI_FUNC_DECL(void _PyTrash_thread_destroy_chain(void));
1347PyAPI_FUNC_DECL(PyObject* _PyType_Lookup(PyTypeObject*, PyObject*));
1348PyAPI_FUNC_DECL(const char* _PyType_Name(PyTypeObject*));
1349PyAPI_FUNC_DECL(void _PyUnicodeWriter_Dealloc(_PyUnicodeWriter*));
1350PyAPI_FUNC_DECL(PyObject* _PyUnicodeWriter_Finish(_PyUnicodeWriter*));
1351PyAPI_FUNC_DECL(void _PyUnicodeWriter_Init(_PyUnicodeWriter*));
1352PyAPI_FUNC_DECL(int _PyUnicodeWriter_Prepare(_PyUnicodeWriter*, Py_ssize_t,
1353 Py_UCS4));
1354PyAPI_FUNC_DECL(int _PyUnicodeWriter_WriteASCIIString(_PyUnicodeWriter*,
1355 const char*, Py_ssize_t));
1356PyAPI_FUNC_DECL(int _PyUnicodeWriter_WriteChar(_PyUnicodeWriter*, Py_UCS4));
1357PyAPI_FUNC_DECL(int _PyUnicodeWriter_WriteCharInline(_PyUnicodeWriter*,
1358 Py_UCS4));
1359PyAPI_FUNC_DECL(int _PyUnicodeWriter_WriteLatin1String(_PyUnicodeWriter*,
1360 const char*,
1361 Py_ssize_t));
1362PyAPI_FUNC_DECL(int _PyUnicodeWriter_WriteStr(_PyUnicodeWriter*, PyObject*));
1363PyAPI_FUNC_DECL(int _PyUnicodeWriter_WriteSubstring(_PyUnicodeWriter*,
1364 PyObject*, Py_ssize_t,
1365 Py_ssize_t));
1366PyAPI_FUNC_DECL(PyObject* _PyUnicode_AsASCIIString(PyObject*, const char*));
1367PyAPI_FUNC_DECL(PyObject* _PyUnicode_AsLatin1String(PyObject*, const char*));
1368PyAPI_FUNC_DECL(PyObject* _PyUnicode_AsUTF8String(PyObject*, const char*));
1369PyAPI_FUNC_DECL(PyObject* _PyUnicode_DecodeUnicodeEscape(
1370 const char*, Py_ssize_t, const char*, const char**));
1371PyAPI_FUNC_DECL(int _PyUnicode_EQ(PyObject*, PyObject*));
1372PyAPI_FUNC_DECL(PyObject* _PyUnicode_EncodeUTF16(PyObject*, const char*, int));
1373PyAPI_FUNC_DECL(PyObject* _PyUnicode_EncodeUTF32(PyObject*, const char*, int));
1374PyAPI_FUNC_DECL(int _PyUnicode_EqualToASCIIString(PyObject*, const char*));
1375PyAPI_FUNC_DECL(int _PyUnicode_IsAlpha(Py_UCS4));
1376PyAPI_FUNC_DECL(int _PyUnicode_IsCaseIgnorable(Py_UCS4));
1377PyAPI_FUNC_DECL(int _PyUnicode_IsCased(Py_UCS4));
1378PyAPI_FUNC_DECL(int _PyUnicode_IsDecimalDigit(Py_UCS4));
1379PyAPI_FUNC_DECL(int _PyUnicode_IsDigit(Py_UCS4));
1380PyAPI_FUNC_DECL(int _PyUnicode_IsLinebreak(Py_UCS4));
1381PyAPI_FUNC_DECL(int _PyUnicode_IsLowercase(Py_UCS4));
1382PyAPI_FUNC_DECL(int _PyUnicode_IsNumeric(Py_UCS4));
1383PyAPI_FUNC_DECL(int _PyUnicode_IsPrintable(Py_UCS4));
1384PyAPI_FUNC_DECL(int _PyUnicode_IsTitlecase(Py_UCS4));
1385PyAPI_FUNC_DECL(int _PyUnicode_IsUppercase(Py_UCS4));
1386PyAPI_FUNC_DECL(int _PyUnicode_IsWhitespace(Py_UCS4));
1387PyAPI_FUNC_DECL(int _PyUnicode_IsXidContinue(Py_UCS4));
1388PyAPI_FUNC_DECL(int _PyUnicode_IsXidStart(Py_UCS4));
1389PyAPI_FUNC_DECL(int _PyUnicode_Ready(PyObject*));
1390PyAPI_FUNC_DECL(int _PyUnicode_ToDecimalDigit(Py_UCS4));
1391PyAPI_FUNC_DECL(int _PyUnicode_ToDigit(Py_UCS4));
1392PyAPI_FUNC_DECL(int _PyUnicode_ToFoldedFull(Py_UCS4, Py_UCS4*));
1393PyAPI_FUNC_DECL(int _PyUnicode_ToLowerFull(Py_UCS4, Py_UCS4*));
1394PyAPI_FUNC_DECL(Py_UCS4 _PyUnicode_ToLowercase(Py_UCS4));
1395PyAPI_FUNC_DECL(double _PyUnicode_ToNumeric(Py_UCS4));
1396PyAPI_FUNC_DECL(int _PyUnicode_ToTitleFull(Py_UCS4, Py_UCS4*));
1397PyAPI_FUNC_DECL(Py_UCS4 _PyUnicode_ToTitlecase(Py_UCS4));
1398PyAPI_FUNC_DECL(int _PyUnicode_ToUpperFull(Py_UCS4, Py_UCS4*));
1399PyAPI_FUNC_DECL(Py_UCS4 _PyUnicode_ToUppercase(Py_UCS4));
1400PyAPI_FUNC_DECL(PyObject* _Py_BuildValue_SizeT(const char*, ...));
1401PyAPI_FUNC_DECL(int _Py_CheckRecursiveCall(const char*));
1402PyAPI_FUNC_DECL(void _Py_Dealloc(PyObject*));
1403PyAPI_FUNC_DECL(int _Py_DecodeLocaleEx(const char*, wchar_t**, size_t*,
1404 const char**, int, _Py_error_handler));
1405PyAPI_FUNC_DECL(int _Py_DecodeUTF8Ex(const char*, Py_ssize_t, wchar_t**,
1406 size_t*, const char**, _Py_error_handler));
1407PyAPI_FUNC_DECL(wchar_t* _Py_DecodeUTF8_surrogateescape(const char*, Py_ssize_t,
1408 size_t*));
1409PyAPI_FUNC_DECL(int _Py_EncodeLocaleEx(const wchar_t*, char**, size_t*,
1410 const char**, int, _Py_error_handler));
1411PyAPI_FUNC_DECL(int _Py_EncodeUTF8Ex(const wchar_t*, char**, size_t*,
1412 const char**, int, _Py_error_handler));
1413PyAPI_FUNC_DECL(void _Py_FreeCharPArray(char* const array[]));
1414PyAPI_FUNC_DECL(int _Py_GetLocaleconvNumeric(struct lconv*, PyObject**,
1415 PyObject**));
1416PyAPI_FUNC_DECL(Py_hash_t _Py_HashBytes(const void*, Py_ssize_t));
1417PyAPI_FUNC_DECL(Py_hash_t _Py_HashDouble(double));
1418PyAPI_FUNC_DECL(Py_hash_t _Py_HashPointer(void*));
1419PyAPI_FUNC_DECL(int _Py_IsFinalizing(void));
1420PyAPI_FUNC_DECL(PyObject* _Py_Mangle(PyObject*, PyObject*));
1421PyAPI_FUNC_DECL(void _Py_NewReference(PyObject*));
1422PyAPI_FUNC_DECL(void _Py_PyAtExit(void (*func)(PyObject*), PyObject*));
1423PyAPI_FUNC_DECL(void _Py_RestoreSignals(void));
1424PyAPI_FUNC_DECL(char* _Py_SetLocaleFromEnv(int));
1425PyAPI_FUNC_DECL(const char* _Py_SourceAsString(PyObject*, const char*,
1426 const char*, PyCompilerFlags*,
1427 PyObject**));
1428PyAPI_FUNC_DECL(struct symtable* _Py_SymtableStringObjectFlags(
1429 const char*, PyObject*, int, PyCompilerFlags*));
1430PyAPI_FUNC_DECL(PyObject* _Py_VaBuildValue_SizeT(const char*, va_list));
1431PyAPI_FUNC_DECL(double _Py_c_abs(Py_complex));
1432PyAPI_FUNC_DECL(Py_complex _Py_c_diff(Py_complex, Py_complex));
1433PyAPI_FUNC_DECL(Py_complex _Py_c_neg(Py_complex));
1434PyAPI_FUNC_DECL(Py_complex _Py_c_pow(Py_complex, Py_complex));
1435PyAPI_FUNC_DECL(Py_complex _Py_c_prod(Py_complex, Py_complex));
1436PyAPI_FUNC_DECL(Py_complex _Py_c_quot(Py_complex, Py_complex));
1437PyAPI_FUNC_DECL(Py_complex _Py_c_sum(Py_complex, Py_complex));
1438PyAPI_FUNC_DECL(PyObject* _Py_device_encoding(int));
1439PyAPI_FUNC_DECL(char* _Py_dg_dtoa(double, int, int, int*, int*, char**));
1440PyAPI_FUNC_DECL(void _Py_dg_freedtoa(char*));
1441PyAPI_FUNC_DECL(double _Py_dg_infinity(int sign));
1442PyAPI_FUNC_DECL(double _Py_dg_stdnan(int sign));
1443PyAPI_FUNC_DECL(double _Py_dg_strtod(const char*, char**));
1444PyAPI_FUNC_DECL(int _Py_dup(int));
1445PyAPI_FUNC_DECL(FILE* _Py_fopen(const char*, const char*));
1446PyAPI_FUNC_DECL(FILE* _Py_fopen_obj(PyObject*, const char*));
1447PyAPI_FUNC_DECL(int _Py_fstat(int, struct _Py_stat_struct*));
1448PyAPI_FUNC_DECL(int _Py_fstat_noraise(int, struct _Py_stat_struct*));
1449PyAPI_FUNC_DECL(int _Py_get_blocking(int));
1450PyAPI_FUNC_DECL(int _Py_get_inheritable(int));
1451PyAPI_FUNC_DECL(int _Py_normalize_encoding(const char*, char*, size_t));
1452PyAPI_FUNC_DECL(int _Py_open(const char*, int));
1453PyAPI_FUNC_DECL(int _Py_open_noraise(const char*, int));
1454PyAPI_FUNC_DECL(double _Py_parse_inf_or_nan(const char*, char**));
1455PyAPI_FUNC_DECL(Py_ssize_t _Py_read(int, void*, size_t));
1456PyAPI_FUNC_DECL(int _Py_set_blocking(int, int));
1457PyAPI_FUNC_DECL(int _Py_set_inheritable(int, int, int*));
1458PyAPI_FUNC_DECL(int _Py_set_inheritable_async_safe(int, int, int*));
1459PyAPI_FUNC_DECL(int _Py_stat(PyObject*, struct stat*));
1460PyAPI_FUNC_DECL(PyObject* _Py_string_to_number_with_underscores(
1461 const char*, Py_ssize_t, const char*, PyObject*, void*,
1462 PyObject* (*)(const char*, Py_ssize_t, void*)));
1463PyAPI_FUNC_DECL(FILE* _Py_wfopen(const wchar_t*, const wchar_t*));
1464PyAPI_FUNC_DECL(wchar_t* _Py_wgetcwd(wchar_t*, size_t));
1465PyAPI_FUNC_DECL(int _Py_wreadlink(const wchar_t*, wchar_t*, size_t));
1466PyAPI_FUNC_DECL(wchar_t* _Py_wrealpath(const wchar_t*, wchar_t*, size_t));
1467PyAPI_FUNC_DECL(Py_ssize_t _Py_write(int, const void*, size_t));
1468PyAPI_FUNC_DECL(Py_ssize_t _Py_write_noraise(int, const void*, size_t));
1469
1470/* Macros */
1471
1472#ifdef PY_SSIZE_T_CLEAN
1473#define PyArg_Parse _PyArg_Parse_SizeT
1474#define PyArg_ParseTuple _PyArg_ParseTuple_SizeT
1475#define PyArg_ParseTupleAndKeywords _PyArg_ParseTupleAndKeywords_SizeT
1476#define PyArg_VaParse _PyArg_VaParse_SizeT
1477#define PyArg_VaParseTupleAndKeywords _PyArg_VaParseTupleAndKeywords_SizeT
1478#define Py_BuildValue _Py_BuildValue_SizeT
1479#define Py_VaBuildValue _Py_VaBuildValue_SizeT
1480#define _PyArg_ParseStack _PyArg_ParseStack_SizeT
1481#define _PyArg_ParseStackAndKeywords _PyArg_ParseStackAndKeywords_SizeT
1482#define _PyArg_ParseTupleAndKeywordsFast _PyArg_ParseTupleAndKeywordsFast_SizeT
1483#define _PyArg_VaParseTupleAndKeywordsFast \
1484 _PyArg_VaParseTupleAndKeywordsFast_SizeT
1485#endif
1486
1487/* Parentheses around the whole expressions are needed to compile
1488 * "if PyDict_CheckExact(other) {". Parentheses around "op" are needed for
1489 * "PyBytes_Check(state = PyTuple_GET_ITEM(args, 0))" */
1490#define PyAnySet_Check(op) (PyAnySet_Check_Func((PyObject*)(op)))
1491#define PyAnySet_CheckExact(op) (PyAnySet_CheckExact_Func((PyObject*)(op)))
1492#define PyBool_Check(op) (PyBool_Check_Func((PyObject*)(op)))
1493#define PyByteArray_Check(op) (PyByteArray_Check_Func((PyObject*)(op)))
1494#define PyByteArray_CheckExact(op) \
1495 (PyByteArray_CheckExact_Func((PyObject*)(op)))
1496#define PyBytes_Check(op) (PyBytes_Check_Func((PyObject*)(op)))
1497#define PyBytes_CheckExact(op) (PyBytes_CheckExact_Func((PyObject*)(op)))
1498#define PyCapsule_CheckExact(op) (PyCapsule_CheckExact_Func((PyObject*)(op)))
1499#define PyCFunction_Check(op) (PyCFunction_Check_Func((PyObject*)(op)))
1500#define PyCode_Check(op) (PyCode_Check_Func((PyObject*)(op)))
1501#define PyCode_GetNumFree(op) PyCode_GetNumFree_Func((PyObject*)op)
1502#define PyComplex_Check(op) (PyComplex_Check_Func((PyObject*)(op)))
1503#define PyComplex_CheckExact(op) (PyComplex_CheckExact_Func((PyObject*)(op)))
1504#define PyDict_Check(op) (PyDict_Check_Func((PyObject*)(op)))
1505#define PyDict_CheckExact(op) (PyDict_CheckExact_Func((PyObject*)(op)))
1506#define PyFloat_Check(op) (PyFloat_Check_Func((PyObject*)(op)))
1507#define PyFloat_CheckExact(op) (PyFloat_CheckExact_Func((PyObject*)(op)))
1508#define PyFrozenSet_Check(op) (PyFrozenSet_Check_Func((PyObject*)(op)))
1509#define PyFrozenSet_CheckExact(op) \
1510 (PyFrozenSet_CheckExact_Func((PyObject*)(op)))
1511#define PyIndex_Check(op) (PyIndex_Check_Func((PyObject*)(op)))
1512#define PyIter_Check(op) (PyIter_Check_Func((PyObject*)(op)))
1513#define PyList_Check(op) (PyList_Check_Func((PyObject*)(op)))
1514#define PyList_CheckExact(op) (PyList_CheckExact_Func((PyObject*)(op)))
1515#define PyLong_Check(op) (PyLong_Check_Func((PyObject*)(op)))
1516#define PyLong_CheckExact(op) (PyLong_CheckExact_Func((PyObject*)(op)))
1517#define PyMemoryView_Check(op) (PyMemoryView_Check_Func((PyObject*)(op)))
1518#define PyMethod_Check(op) (PyMethod_Check_Func((PyObject*)(op)))
1519#define PyModule_Check(op) (PyModule_Check_Func((PyObject*)(op)))
1520#define PyModule_CheckExact(op) (PyModule_CheckExact_Func((PyObject*)(op)))
1521#define PyObject_CheckBuffer(op) (PyObject_CheckBuffer_Func((PyObject*)(op)))
1522#define PyObject_TypeCheck(op, tp) \
1523 (PyObject_TypeCheck_Func((PyObject*)(op), (PyTypeObject*)(tp)))
1524#define PySet_Check(op) (PySet_Check_Func((PyObject*)(op)))
1525#define PySlice_Check(op) (PySlice_Check_Func((PyObject*)(op)))
1526#define PyTraceBack_Check(op) (PyTraceBack_Check_Func((PyObject*)(op)))
1527#define PyTuple_Check(op) (PyTuple_Check_Func((PyObject*)(op)))
1528#define PyTuple_CheckExact(op) (PyTuple_CheckExact_Func((PyObject*)(op)))
1529#define PyType_Check(op) (PyType_Check_Func((PyObject*)(op)))
1530#define PyType_CheckExact(op) (PyType_CheckExact_Func((PyObject*)(op)))
1531#define PyUnicode_Check(op) (PyUnicode_Check_Func((PyObject*)(op)))
1532#define PyUnicode_CheckExact(op) (PyUnicode_CheckExact_Func((PyObject*)(op)))
1533#define PyWeakref_Check(op) (PyWeakref_Check_Func((PyObject*)(op)))
1534
1535#define PyFPE_START_PROTECT(err_string, leave_stmt)
1536#define PyFPE_END_PROTECT(v)
1537
1538#define _Py_BEGIN_SUPPRESS_IPH
1539#define _Py_END_SUPPRESS_IPH
1540
1541#define _Py_SET_53BIT_PRECISION_HEADER
1542#define _Py_SET_53BIT_PRECISION_START
1543#define _Py_SET_53BIT_PRECISION_END
1544
1545#define PyModule_AddIntMacro(m, c) PyModule_AddIntConstant(m, #c, c)
1546#define PyModule_Create(module) PyModule_Create2(module, PYTHON_API_VERSION)
1547
1548#define PyByteArray_AS_STRING(op) PyByteArray_AsString((PyObject*)op)
1549#define PyByteArray_GET_SIZE(op) PyByteArray_Size((PyObject*)op)
1550#define PyBytes_AS_STRING(op) PyBytes_AsString((PyObject*)op)
1551#define PyBytes_GET_SIZE(op) PyBytes_Size((PyObject*)op)
1552
1553#define PyCFunction_GET_SELF(op) PyCFunction_GET_SELF_Func((PyObject*)op)
1554
1555#define PyDescr_NAME(op) PyDescr_NAME_Func((PyObject*)op)
1556
1557#define PyDict_GET_SIZE(op) PyDict_GET_SIZE_Func((PyObject*)op)
1558
1559#define PyEval_CallObject(func, arg) \
1560 PyEval_CallObjectWithKeywords(func, arg, (PyObject*)NULL)
1561
1562#define PyFloat_AS_DOUBLE(op) PyFloat_AsDouble((PyObject*)op)
1563
1564#define PyInstanceMethod_GET_FUNCTION(op) \
1565 (PyInstanceMethod_GET_FUNCTION_Func((PyObject*)op))
1566
1567#define PyList_GET_ITEM(op, i) PyList_GetItem((PyObject*)op, i)
1568#define PyList_GET_SIZE(op) PyList_Size((PyObject*)op)
1569#define PyList_SET_ITEM(op, i, v) PyList_SET_ITEM_Func((PyObject*)op, i, v)
1570
1571#define PyLong_AS_LONG(op) PyLong_AsLong(op)
1572
1573#define PyMethod_GET_FUNCTION(op) (PyMethod_GET_FUNCTION_Func((PyObject*)op))
1574#define PyMethod_GET_SELF(op) (PyMethod_GET_SELF_Func((PyObject*)op))
1575
1576#define PySequence_Fast_GET_SIZE(op) \
1577 PySequence_Fast_GET_SIZE_Func((PyObject*)op)
1578#define PySequence_Fast_GET_ITEM(op, i) \
1579 PySequence_Fast_GET_ITEM_Func((PyObject*)op, i)
1580#define PySequence_ITEM(op, i) PySequence_ITEM_Func((PyObject*)op, i)
1581
1582#define PySet_GET_SIZE(op) PySet_Size((PyObject*)op)
1583
1584#define PyTuple_GET_ITEM(op, i) PyTuple_GET_ITEM_Func((PyObject*)op, i)
1585#define PyTuple_GET_SIZE(op) PyTuple_GET_SIZE_Func((PyObject*)op)
1586#define PyTuple_SET_ITEM(op, i, v) PyTuple_SET_ITEM_Func((PyObject*)op, i, v)
1587
1588#define PyType_HasFeature(t, f) ((PyType_GetFlags(t) & (f)) != 0)
1589#define PyType_IS_GC(t) PyType_HasFeature((t), Py_TPFLAGS_HAVE_GC)
1590
1591#define PyStructSequence_GET_ITEM(op, i) \
1592 PyStructSequence_GetItem((PyObject*)op, i)
1593#define PyStructSequence_SET_ITEM(op, i, v) \
1594 PyStructSequence_SET_ITEM_Func((PyObject*)op, i, v)
1595
1596#define PyUnicode_GET_LENGTH(op) PyUnicode_GET_LENGTH_Func((PyObject*)op)
1597#define PyUnicode_GET_SIZE(op) PyUnicode_GetSize((PyObject*)op)
1598#define PyUnicode_IS_READY(op) 1
1599#define PyUnicode_KIND(op) PyUnicode_KIND_Func((PyObject*)op)
1600#define PyUnicode_DATA(op) PyUnicode_DATA_Func((PyObject*)op)
1601#define PyUnicode_1BYTE_DATA(op) ((Py_UCS1*)PyUnicode_DATA(op))
1602#define PyUnicode_2BYTE_DATA(op) ((Py_UCS2*)PyUnicode_DATA(op))
1603#define PyUnicode_4BYTE_DATA(op) ((Py_UCS4*)PyUnicode_DATA(op))
1604#define PyUnicode_READ(kind, data, index) \
1605 PyUnicode_READ_Func(kind, (void*)data, index)
1606#define PyUnicode_READ_CHAR(op, index) \
1607 PyUnicode_READ_CHAR_Func((PyObject*)op, index)
1608#define PyUnicode_READY(op) 0
1609#define PyUnicode_WRITE(kind, data, index, value) \
1610 PyUnicode_WRITE_Func(kind, data, index, value)
1611#define PyUnicode_IS_ASCII(op) PyUnicode_IS_ASCII_Func((PyObject*)op)
1612#define PyUnicode_IS_COMPACT_ASCII(op) PyUnicode_IS_ASCII_Func((PyObject*)op)
1613
1614#define PyWeakref_GET_OBJECT(ref) \
1615 PyWeakref_GET_OBJECT_Func((PyWeakReference*)ref)
1616
1617#define Py_MIN(x, y) (((x) > (y)) ? (y) : (x))
1618#define Py_MAX(x, y) (((x) > (y)) ? (x) : (y))
1619#define Py_ABS(x) ((x) < 0 ? -(x) : (x))
1620
1621#define Py_BUILD_ASSERT_EXPR(cond) (sizeof(char[1 - 2 * !(cond)]) - 1)
1622#define Py_BUILD_ASSERT(cond) \
1623 do { \
1624 (void)Py_BUILD_ASSERT_EXPR(cond); \
1625 } while (0)
1626
1627#define _PyThreadState_GET() _PyThreadState_GET_Func()
1628
1629#define _Py_SIZE_ROUND_DOWN(n, a) ((size_t)(n) & ~(size_t)((a)-1))
1630#define _Py_SIZE_ROUND_UP(n, a) \
1631 (((size_t)(n) + (size_t)((a)-1)) & ~(size_t)((a)-1))
1632#define _Py_ALIGN_DOWN(p, a) ((void*)((uintptr_t)(p) & ~(uintptr_t)((a)-1)))
1633#define _Py_ALIGN_UP(p, a) \
1634 ((void*)(((uintptr_t)(p) + (uintptr_t)((a)-1)) & ~(uintptr_t)((a)-1)))
1635#define _Py_IS_ALIGNED(p, a) (!((uintptr_t)(p) & (uintptr_t)((a)-1)))
1636
1637#define Py_CLEAR(op) \
1638 do { \
1639 PyObject* _py_tmp = (PyObject*)(op); \
1640 if (_py_tmp != NULL) { \
1641 (op) = NULL; \
1642 Py_DECREF_Func(_py_tmp); \
1643 } \
1644 } while (0)
1645#define Py_DECREF(op) Py_DECREF_Func((PyObject*)op)
1646#define Py_INCREF(op) Py_INCREF_Func((PyObject*)op)
1647#define Py_REFCNT(op) Py_REFCNT_Func((PyObject*)op)
1648#define Py_SET_REFCNT(op, refcnt) Py_SET_REFCNT_Func((PyObject*)op, (refcnt))
1649#define Py_XDECREF(op) Py_DecRef((PyObject*)op)
1650#define Py_XINCREF(op) Py_IncRef((PyObject*)op)
1651#define Py_SETREF(op, op2) \
1652 do { \
1653 PyObject* _py_tmp = (PyObject*)(op); \
1654 (op) = (op2); \
1655 Py_DECREF(_py_tmp); \
1656 } while (0)
1657#define Py_XSETREF(op, op2) \
1658 do { \
1659 PyObject* _py_tmp = (PyObject*)(op); \
1660 (op) = (op2); \
1661 Py_XDECREF(_py_tmp); \
1662 } while (0)
1663
1664#define PyObject_MALLOC PyObject_Malloc
1665#define PyObject_REALLOC PyObject_Realloc
1666#define PyObject_FREE PyObject_Free
1667#define PyObject_Del PyObject_Free
1668#define PyObject_DEL PyObject_Free
1669#define _PyObject_SIZE(typeobj) _PyObject_SIZE_Func((PyObject*)typeobj)
1670#define _PyObject_VAR_SIZE(typeobj, nitems) \
1671 _PyObject_VAR_SIZE_Func((PyObject*)typeobj, nitems)
1672#define PyObject_INIT(op, typeobj) \
1673 PyObject_Init((PyObject*)op, (PyTypeObject*)typeobj)
1674#define PyObject_INIT_VAR(op, typeobj, size) \
1675 PyObject_InitVar((PyVarObject*)op, (PyTypeObject*)typeobj, size)
1676#define PyObject_New(type, typeobj) \
1677 ((type*)_PyObject_New((PyTypeObject*)typeobj))
1678#define PyObject_NEW(type, typeobj) PyObject_New(type, typeobj)
1679#define PyObject_NewVar(type, typeobj, n) \
1680 ((type*)_PyObject_NewVar((PyTypeObject*)typeobj, n))
1681#define PyObject_NEW_VAR(type, typeobj, n) PyObject_NewVar(type, typeobj, n)
1682#define Py_SIZE(obj) (*Py_SIZE_Func((PyVarObject*)(obj)))
1683#define Py_TYPE(obj) Py_TYPE_Func((PyObject*)(obj))
1684#define Py_SET_TYPE(obj, type) Py_SET_TYPE_Func((PyObject*)(obj), type)
1685#define PyExceptionClass_Check(obj) \
1686 PyExceptionClass_Check_Func((PyObject*)(obj))
1687#define PyExceptionInstance_Class(obj) \
1688 ((PyObject*)Py_TYPE_Func((PyObject*)(obj)))
1689#define PyExceptionInstance_Check(x) PyExceptionInstance_Check_Func(x)
1690
1691#define PyObject_GC_New(type, typeobj) ((type*)_PyObject_GC_New(typeobj))
1692#define PyObject_GC_NewVar(type, typeobj, n) \
1693 ((type*)_PyObject_GC_NewVar((typeobj), (n)))
1694#define Py_VISIT(op) \
1695 do { \
1696 if (op) { \
1697 int vret = visit((PyObject*)(op), arg); \
1698 if (vret) return vret; \
1699 } \
1700 } while (0)
1701
1702/* Memory macros from pymem.h */
1703#define PyMem_DEL(p) PyMem_Del(p)
1704#define PyMem_FREE(p) PyMem_Free(p)
1705#define PyMem_MALLOC(n) PyMem_Malloc(n)
1706#define PyMem_New(type, n) ((type*)PyMem_New_Func(sizeof(type), n))
1707#define PyMem_NEW(type, n) PyMem_New(type, n)
1708#define PyMem_REALLOC(p, n) PyMem_Realloc(p, n)
1709#define PyMem_Resize(p, type, n) \
1710 ((p) = ((size_t)(n) > PY_SSIZE_T_MAX / sizeof(type)) \
1711 ? NULL \
1712 : (type*)PyMem_Realloc((p), (n) * sizeof(type)))
1713#define PyMem_RESIZE(p, type, n) PyMem_Resize(p, type, n)
1714
1715/* Character macros from pyctype.h */
1716#define Py_CHARMASK(c) ((unsigned char)((c)&0xff))
1717#define Py_ISALNUM(c) (Py_ISALNUM_Func(Py_CHARMASK(c)))
1718#define Py_ISALPHA(c) (Py_ISALPHA_Func(Py_CHARMASK(c)))
1719#define Py_ISDIGIT(c) (Py_ISDIGIT_Func(Py_CHARMASK(c)))
1720#define Py_ISLOWER(c) (Py_ISLOWER_Func(Py_CHARMASK(c)))
1721#define Py_ISSPACE(c) (Py_ISSPACE_Func(Py_CHARMASK(c)))
1722#define Py_ISUPPER(c) (Py_ISUPPER_Func(Py_CHARMASK(c)))
1723#define Py_ISXDIGIT(c) (Py_ISXDIGIT_Func(Py_CHARMASK(c)))
1724#define Py_TOLOWER(c) (Py_TOLOWER_Func(Py_CHARMASK(c)))
1725#define Py_TOUPPER(c) (Py_TOUPPER_Func(Py_CHARMASK(c)))
1726
1727#define Py_SAFE_DOWNCAST(VALUE, WIDE, NARROW) (NARROW)(VALUE)
1728
1729#define Py_EnterRecursiveCall(where) Py_EnterRecursiveCall_Func(where)
1730#define Py_LeaveRecursiveCall() Py_LeaveRecursiveCall_Func()
1731
1732#define _PyIsSelectable_fd(FD) ((unsigned int)(FD) < (unsigned int)FD_SETSIZE)
1733
1734#define _PYTIME_FROMSECONDS(seconds) _PyTime_FromSeconds(seconds)
1735
1736#define Py_UNICODE_ISALNUM(ch) \
1737 (Py_UNICODE_ISALPHA(ch) || Py_UNICODE_ISDECIMAL(ch) || \
1738 Py_UNICODE_ISDIGIT(ch) || Py_UNICODE_ISNUMERIC(ch))
1739#define Py_UNICODE_ISALPHA(ch) Py_UNICODE_ISALPHA_Func(ch)
1740#define Py_UNICODE_ISDECIMAL(ch) Py_UNICODE_ISDECIMAL_Func(ch)
1741#define Py_UNICODE_ISDIGIT(ch) Py_UNICODE_ISDIGIT_Func(ch)
1742#define Py_UNICODE_ISLINEBREAK(ch) Py_UNICODE_ISLINEBREAK_Func(ch)
1743#define Py_UNICODE_ISLOWER(ch) Py_UNICODE_ISLOWER_Func(ch)
1744#define Py_UNICODE_ISNUMERIC(ch) Py_UNICODE_ISNUMERIC_Func(ch)
1745#define Py_UNICODE_ISPRINTABLE(ch) Py_UNICODE_ISPRINTABLE_Func(ch)
1746#define Py_UNICODE_ISSPACE(ch) Py_UNICODE_ISSPACE_Func(ch)
1747#define Py_UNICODE_ISTITLE(ch) Py_UNICODE_ISTITLE_Func(ch)
1748#define Py_UNICODE_ISUPPER(ch) Py_UNICODE_ISUPPER_Func(ch)
1749#define Py_UNICODE_IS_HIGH_SURROGATE(ch) (0xD800 <= (ch) && (ch) <= 0xDBFF)
1750#define Py_UNICODE_IS_LOW_SURROGATE(ch) (0xDC00 <= (ch) && (ch) <= 0xDFFF)
1751#define Py_UNICODE_IS_SURROGATE(ch) (0xD800 <= (ch) && (ch) <= 0xDFFF)
1752#define Py_UNICODE_TODECIMAL(ch) Py_UNICODE_TODECIMAL_Func(ch)
1753#define Py_UNICODE_TODIGIT(ch) Py_UNICODE_TODIGIT_Func(ch)
1754#define Py_UNICODE_TOLOWER(ch) Py_UNICODE_TOLOWER_Func(ch)
1755#define Py_UNICODE_TONUMERIC(ch) Py_UNICODE_TONUMERIC_Func(ch)
1756#define Py_UNICODE_TOTITLE(ch) Py_UNICODE_TOTITLE_Func(ch)
1757#define Py_UNICODE_TOUPPER(ch) Py_UNICODE_TOUPPER_Func(ch)
1758#define Py_UNICODE_JOIN_SURROGATES(high, low) \
1759 (((((Py_UCS4)(high)&0x03FF) << 10) | ((Py_UCS4)(low)&0x03FF)) + 0x10000)
1760#define Py_UNICODE_HIGH_SURROGATE(ch) (0xD800 - (0x10000 >> 10) + ((ch) >> 10))
1761#define Py_UNICODE_LOW_SURROGATE(ch) (0xDC00 + ((ch)&0x3FF))
1762
1763/* Define identity macro so `generate_cpython_sources.py` deletes the cpython
1764 * macro. TODO(T56488016): Remove this macro when the generator is gone. */
1765#define _PyUnicodeWriter_Prepare(WRITER, LENGTH, MAXCHAR) \
1766 _PyUnicodeWriter_Prepare(WRITER, LENGTH, MAXCHAR)
1767
1768#define Py_MEMCPY memcpy
1769#define Py_VA_COPY va_copy
1770#define Py_ARITHMETIC_RIGHT_SHIFT(TYPE, I, J) ((I) >> (J))
1771#define Py_SAFE_DOWNCAST(VALUE, WIDE, NARROW) (NARROW)(VALUE)
1772
1773#define _Py_SET_EDOM_FOR_NAN(X) ;
1774
1775#define Py_SET_ERRNO_ON_MATH_ERROR(X) \
1776 do { \
1777 if (errno == 0) { \
1778 if ((X) == Py_HUGE_VAL || (X) == -Py_HUGE_VAL) \
1779 errno = ERANGE; \
1780 else \
1781 _Py_SET_EDOM_FOR_NAN(X) \
1782 } \
1783 } while (0)
1784
1785#define Py_SET_ERANGE_IF_OVERFLOW(X) Py_SET_ERRNO_ON_MATH_ERROR(X)
1786
1787#define Py_ADJUST_ERANGE1(X) \
1788 do { \
1789 if (errno == 0) { \
1790 if ((X) == Py_HUGE_VAL || (X) == -Py_HUGE_VAL) errno = ERANGE; \
1791 } else if (errno == ERANGE && (X) == 0.0) \
1792 errno = 0; \
1793 } while (0)
1794
1795#define Py_ADJUST_ERANGE2(X, Y) \
1796 do { \
1797 if ((X) == Py_HUGE_VAL || (X) == -Py_HUGE_VAL || (Y) == Py_HUGE_VAL || \
1798 (Y) == -Py_HUGE_VAL) { \
1799 if (errno == 0) errno = ERANGE; \
1800 } else if (errno == ERANGE) \
1801 errno = 0; \
1802 } while (0)
1803
1804#define Py_FORCE_DOUBLE(X) (X)
1805#define Py_IS_NAN(X) isnan(X)
1806#define Py_IS_INFINITY(X) isinf(X)
1807#define Py_IS_FINITE(X) isfinite(X)
1808#define Py_OVERFLOWED(X) \
1809 ((X) != 0.0 && (errno == ERANGE || (X) == Py_HUGE_VAL || (X) == -Py_HUGE_VAL))
1810
1811#define _Py_IntegralTypeSigned(type) ((type)(-1) < 0)
1812#define _Py_IntegralTypeMax(type) \
1813 ((_Py_IntegralTypeSigned(type)) \
1814 ? (((((type)1 << (sizeof(type) * CHAR_BIT - 2)) - 1) << 1) + 1) \
1815 : ~(type)0)
1816#define _Py_IntegralTypeMin(type) \
1817 ((_Py_IntegralTypeSigned(type)) ? -_Py_IntegralTypeMax(type) - 1 : 0)
1818#define _Py_InIntegralTypeRange(type, v) \
1819 (_Py_IntegralTypeMin(type) <= v && v <= _Py_IntegralTypeMax(type))
1820
1821#define Py_RETURN_FALSE \
1822 do { \
1823 PyObject* return_value_ = Py_False; \
1824 Py_INCREF(return_value_); \
1825 return return_value_; \
1826 } while (0)
1827#define Py_RETURN_INF(sign) \
1828 return PyFloat_FromDouble(copysign(Py_HUGE_VAL, (sign)))
1829#define Py_RETURN_NAN return PyFloat_FromDouble(Py_NAN)
1830#define Py_RETURN_NONE \
1831 do { \
1832 PyObject* return_value_ = Py_None; \
1833 Py_INCREF(return_value_); \
1834 return return_value_; \
1835 } while (0)
1836#define Py_RETURN_NOTIMPLEMENTED \
1837 do { \
1838 PyObject* return_value_ = Py_NotImplemented; \
1839 Py_INCREF(return_value_); \
1840 return return_value_; \
1841 } while (0)
1842#define Py_RETURN_RICHCOMPARE(val1, val2, op) \
1843 do { \
1844 switch (op) { \
1845 case Py_EQ: \
1846 if ((val1) == (val2)) Py_RETURN_TRUE; \
1847 Py_RETURN_FALSE; \
1848 case Py_NE: \
1849 if ((val1) != (val2)) Py_RETURN_TRUE; \
1850 Py_RETURN_FALSE; \
1851 case Py_LT: \
1852 if ((val1) < (val2)) Py_RETURN_TRUE; \
1853 Py_RETURN_FALSE; \
1854 case Py_GT: \
1855 if ((val1) > (val2)) Py_RETURN_TRUE; \
1856 Py_RETURN_FALSE; \
1857 case Py_LE: \
1858 if ((val1) <= (val2)) Py_RETURN_TRUE; \
1859 Py_RETURN_FALSE; \
1860 case Py_GE: \
1861 if ((val1) >= (val2)) Py_RETURN_TRUE; \
1862 Py_RETURN_FALSE; \
1863 default: \
1864 Py_UNREACHABLE(); \
1865 } \
1866 } while (0)
1867#define Py_RETURN_TRUE \
1868 do { \
1869 PyObject* return_value_ = Py_True; \
1870 Py_INCREF(return_value_); \
1871 return return_value_; \
1872 } while (0)
1873
1874#define Py_BEGIN_ALLOW_THREADS \
1875 { \
1876 PyThreadState* _save; \
1877 _save = PyEval_SaveThread();
1878#define Py_BLOCK_THREADS PyEval_RestoreThread(_save);
1879#define Py_UNBLOCK_THREADS _save = PyEval_SaveThread();
1880#define Py_END_ALLOW_THREADS \
1881 PyEval_RestoreThread(_save); \
1882 }
1883
1884#ifdef __cplusplus
1885}
1886#endif
1887
1888#endif /* !CPYTHON_FUNC_H */