File indexing completed on 2025-11-19 09:50:53
0001
0002
0003 #ifndef Py_MODSUPPORT_H
0004 #define Py_MODSUPPORT_H
0005 #ifdef __cplusplus
0006 extern "C" {
0007 #endif
0008
0009 PyAPI_FUNC(int) PyArg_Parse(PyObject *, const char *, ...);
0010 PyAPI_FUNC(int) PyArg_ParseTuple(PyObject *, const char *, ...);
0011 PyAPI_FUNC(int) PyArg_ParseTupleAndKeywords(PyObject *, PyObject *,
0012 const char *, PY_CXX_CONST char * const *, ...);
0013 PyAPI_FUNC(int) PyArg_VaParse(PyObject *, const char *, va_list);
0014 PyAPI_FUNC(int) PyArg_VaParseTupleAndKeywords(PyObject *, PyObject *,
0015 const char *, PY_CXX_CONST char * const *, va_list);
0016
0017 PyAPI_FUNC(int) PyArg_ValidateKeywordArguments(PyObject *);
0018 PyAPI_FUNC(int) PyArg_UnpackTuple(PyObject *, const char *, Py_ssize_t, Py_ssize_t, ...);
0019 PyAPI_FUNC(PyObject *) Py_BuildValue(const char *, ...);
0020 PyAPI_FUNC(PyObject *) Py_VaBuildValue(const char *, va_list);
0021
0022 #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030a0000
0023
0024
0025
0026 PyAPI_FUNC(int) PyModule_AddObjectRef(PyObject *mod, const char *name, PyObject *value);
0027 #endif
0028
0029 #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030d0000
0030
0031 PyAPI_FUNC(int) PyModule_Add(PyObject *mod, const char *name, PyObject *value);
0032 #endif
0033
0034
0035
0036
0037 PyAPI_FUNC(int) PyModule_AddObject(PyObject *mod, const char *, PyObject *value);
0038
0039 PyAPI_FUNC(int) PyModule_AddIntConstant(PyObject *, const char *, long);
0040 PyAPI_FUNC(int) PyModule_AddStringConstant(PyObject *, const char *, const char *);
0041
0042 #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03090000
0043
0044 PyAPI_FUNC(int) PyModule_AddType(PyObject *module, PyTypeObject *type);
0045 #endif
0046
0047 #define PyModule_AddIntMacro(m, c) PyModule_AddIntConstant((m), #c, (c))
0048 #define PyModule_AddStringMacro(m, c) PyModule_AddStringConstant((m), #c, (c))
0049
0050 #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000
0051
0052 PyAPI_FUNC(int) PyModule_SetDocString(PyObject *, const char *);
0053 PyAPI_FUNC(int) PyModule_AddFunctions(PyObject *, PyMethodDef *);
0054 PyAPI_FUNC(int) PyModule_ExecDef(PyObject *module, PyModuleDef *def);
0055 #endif
0056
0057 #define Py_CLEANUP_SUPPORTED 0x20000
0058
0059 #define PYTHON_API_VERSION 1013
0060 #define PYTHON_API_STRING "1013"
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083
0084
0085
0086
0087
0088
0089
0090
0091
0092
0093
0094
0095
0096
0097
0098
0099
0100
0101
0102
0103
0104
0105
0106
0107
0108 #define PYTHON_ABI_VERSION 3
0109 #define PYTHON_ABI_STRING "3"
0110
0111 PyAPI_FUNC(PyObject *) PyModule_Create2(PyModuleDef*, int apiver);
0112
0113 #ifdef Py_LIMITED_API
0114 #define PyModule_Create(module) \
0115 PyModule_Create2((module), PYTHON_ABI_VERSION)
0116 #else
0117 #define PyModule_Create(module) \
0118 PyModule_Create2((module), PYTHON_API_VERSION)
0119 #endif
0120
0121 #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000
0122
0123 PyAPI_FUNC(PyObject *) PyModule_FromDefAndSpec2(PyModuleDef *def,
0124 PyObject *spec,
0125 int module_api_version);
0126
0127 #ifdef Py_LIMITED_API
0128 #define PyModule_FromDefAndSpec(module, spec) \
0129 PyModule_FromDefAndSpec2((module), (spec), PYTHON_ABI_VERSION)
0130 #else
0131 #define PyModule_FromDefAndSpec(module, spec) \
0132 PyModule_FromDefAndSpec2((module), (spec), PYTHON_API_VERSION)
0133 #endif
0134
0135 #endif
0136
0137 #ifndef Py_LIMITED_API
0138 # define Py_CPYTHON_MODSUPPORT_H
0139 # include "cpython/modsupport.h"
0140 # undef Py_CPYTHON_MODSUPPORT_H
0141 #endif
0142
0143 #ifdef __cplusplus
0144 }
0145 #endif
0146 #endif