bpo-35134: Create Include/cpython/pylifecycle.h (GH-10731) · python/cpython@dd12aa0 (original) (raw)
`@@ -7,47 +7,10 @@
`
7
7
`extern "C" {
`
8
8
`#endif
`
9
9
``
10
``
`-
#ifndef Py_LIMITED_API
`
11
``
`-
/* Only used by applications that embed the interpreter and need to
`
12
``
`-
- override the standard encoding determination mechanism
`
13
``
`-
*/
`
14
``
`-
PyAPI_FUNC(int) Py_SetStandardStreamEncoding(const char *encoding,
`
15
``
`-
const char *errors);
`
16
``
`-
#endif
`
17
``
-
18
``
-
19
``
`-
#ifndef Py_LIMITED_API
`
20
``
`-
/* PEP 432 Multi-phase initialization API (Private while provisional!) */
`
21
``
`-
PyAPI_FUNC(_PyInitError) _Py_InitializeCore(
`
22
``
`-
PyInterpreterState **interp,
`
23
``
`-
const _PyCoreConfig *);
`
24
``
`-
PyAPI_FUNC(int) _Py_IsCoreInitialized(void);
`
25
``
-
26
``
-
27
``
`-
PyAPI_FUNC(_PyInitError) _PyMainInterpreterConfig_Read(
`
28
``
`-
_PyMainInterpreterConfig *config,
`
29
``
`-
const _PyCoreConfig *core_config);
`
30
``
`-
PyAPI_FUNC(void) _PyMainInterpreterConfig_Clear(_PyMainInterpreterConfig *);
`
31
``
`-
PyAPI_FUNC(int) _PyMainInterpreterConfig_Copy(
`
32
``
`-
_PyMainInterpreterConfig *config,
`
33
``
`-
const _PyMainInterpreterConfig *config2);
`
34
``
`-
/* Used by _testcapi.get_main_config() */
`
35
``
`-
PyAPI_FUNC(PyObject*) _PyMainInterpreterConfig_AsDict(
`
36
``
`-
const _PyMainInterpreterConfig *config);
`
37
``
-
38
``
`-
PyAPI_FUNC(_PyInitError) _Py_InitializeMainInterpreter(
`
39
``
`-
PyInterpreterState *interp,
`
40
``
`-
const _PyMainInterpreterConfig *);
`
41
``
`-
#endif
`
42
10
``
43
11
`/* Initialization and finalization */
`
44
12
`PyAPI_FUNC(void) Py_Initialize(void);
`
45
13
`PyAPI_FUNC(void) Py_InitializeEx(int);
`
46
``
`-
#ifndef Py_LIMITED_API
`
47
``
`-
PyAPI_FUNC(_PyInitError) _Py_InitializeFromConfig(
`
48
``
`-
const _PyCoreConfig *config);
`
49
``
`-
PyAPI_FUNC(void) _Py_NO_RETURN _Py_FatalInitError(_PyInitError err);
`
50
``
`-
#endif
`
51
14
`PyAPI_FUNC(void) Py_Finalize(void);
`
52
15
`PyAPI_FUNC(int) Py_FinalizeEx(void);
`
53
16
`PyAPI_FUNC(int) Py_IsInitialized(void);
`
`@@ -60,20 +23,10 @@ PyAPI_FUNC(void) Py_EndInterpreter(PyThreadState *);
`
60
23
`/* Py_PyAtExit is for the atexit module, Py_AtExit is for low-level
`
61
24
` * exit functions.
`
62
25
` */
`
63
``
`-
#ifndef Py_LIMITED_API
`
64
``
`-
PyAPI_FUNC(void) _Py_PyAtExit(void (*func)(PyObject *), PyObject *);
`
65
``
`-
#endif
`
66
26
`PyAPI_FUNC(int) Py_AtExit(void (*func)(void));
`
67
27
``
68
28
`PyAPI_FUNC(void) _Py_NO_RETURN Py_Exit(int);
`
69
29
``
70
``
`-
/* Restore signals that the interpreter has called SIG_IGN on to SIG_DFL. */
`
71
``
`-
#ifndef Py_LIMITED_API
`
72
``
`-
PyAPI_FUNC(void) _Py_RestoreSignals(void);
`
73
``
-
74
``
`-
PyAPI_FUNC(int) Py_FdIsInteractive(FILE *, const char *);
`
75
``
`-
#endif
`
76
``
-
77
30
`/* Bootstrap main (defined in Modules/main.c) */
`
78
31
`PyAPI_FUNC(int) Py_Main(int argc, wchar_t **argv);
`
79
32
``
`@@ -84,9 +37,6 @@ PyAPI_FUNC(wchar_t *) Py_GetProgramName(void);
`
84
37
`PyAPI_FUNC(void) Py_SetPythonHome(const wchar_t *);
`
85
38
`PyAPI_FUNC(wchar_t *) Py_GetPythonHome(void);
`
86
39
``
87
``
`-
#ifndef Py_LIMITED_API
`
88
``
`-
PyAPI_FUNC(void) _Py_SetProgramFullPath(const wchar_t *);
`
89
``
`-
#endif
`
90
40
`PyAPI_FUNC(wchar_t *) Py_GetProgramFullPath(void);
`
91
41
``
92
42
`PyAPI_FUNC(wchar_t *) Py_GetPrefix(void);
`
`@@ -103,60 +53,16 @@ PyAPI_FUNC(const char *) Py_GetPlatform(void);
`
103
53
`PyAPI_FUNC(const char *) Py_GetCopyright(void);
`
104
54
`PyAPI_FUNC(const char *) Py_GetCompiler(void);
`
105
55
`PyAPI_FUNC(const char *) Py_GetBuildInfo(void);
`
106
``
`-
#ifndef Py_LIMITED_API
`
107
``
`-
PyAPI_FUNC(const char *) _Py_gitidentifier(void);
`
108
``
`-
PyAPI_FUNC(const char *) _Py_gitversion(void);
`
109
``
`-
#endif
`
110
``
-
111
``
`-
/* Internal -- various one-time initializations */
`
112
``
`-
#ifndef Py_LIMITED_API
`
113
``
`-
PyAPI_FUNC(PyObject *) _PyBuiltin_Init(void);
`
114
``
`-
PyAPI_FUNC(_PyInitError) _PySys_BeginInit(PyObject **sysmod);
`
115
``
`-
PyAPI_FUNC(int) _PySys_EndInit(PyObject *sysdict, PyInterpreterState *interp);
`
116
``
`-
PyAPI_FUNC(_PyInitError) _PyImport_Init(PyInterpreterState *interp);
`
117
``
`-
PyAPI_FUNC(void) _PyExc_Init(PyObject * bltinmod);
`
118
``
`-
PyAPI_FUNC(_PyInitError) _PyImportHooks_Init(void);
`
119
``
`-
PyAPI_FUNC(int) _PyFloat_Init(void);
`
120
``
`-
PyAPI_FUNC(int) PyByteArray_Init(void);
`
121
``
`-
PyAPI_FUNC(_PyInitError) _Py_HashRandomization_Init(const _PyCoreConfig *);
`
122
``
`-
#endif
`
123
``
-
124
``
`-
/* Various internal finalizers */
`
125
``
-
126
``
`-
#ifndef Py_LIMITED_API
`
127
``
`-
PyAPI_FUNC(void) PyMethod_Fini(void);
`
128
``
`-
PyAPI_FUNC(void) PyFrame_Fini(void);
`
129
``
`-
PyAPI_FUNC(void) PyCFunction_Fini(void);
`
130
``
`-
PyAPI_FUNC(void) PyDict_Fini(void);
`
131
``
`-
PyAPI_FUNC(void) PyTuple_Fini(void);
`
132
``
`-
PyAPI_FUNC(void) PyList_Fini(void);
`
133
``
`-
PyAPI_FUNC(void) PySet_Fini(void);
`
134
``
`-
PyAPI_FUNC(void) PyBytes_Fini(void);
`
135
``
`-
PyAPI_FUNC(void) PyByteArray_Fini(void);
`
136
``
`-
PyAPI_FUNC(void) PyFloat_Fini(void);
`
137
``
`-
PyAPI_FUNC(void) PyOS_FiniInterrupts(void);
`
138
``
`-
PyAPI_FUNC(void) PySlice_Fini(void);
`
139
``
`-
PyAPI_FUNC(void) PyAsyncGen_Fini(void);
`
140
``
-
141
``
`-
PyAPI_FUNC(int) _Py_IsFinalizing(void);
`
142
``
`-
#endif /* !Py_LIMITED_API */
`
143
56
``
144
57
`/* Signals */
`
145
58
`typedef void (*PyOS_sighandler_t)(int);
`
146
59
`PyAPI_FUNC(PyOS_sighandler_t) PyOS_getsig(int);
`
147
60
`PyAPI_FUNC(PyOS_sighandler_t) PyOS_setsig(int, PyOS_sighandler_t);
`
148
61
``
149
62
`#ifndef Py_LIMITED_API
`
150
``
`-
/* Random */
`
151
``
`-
PyAPI_FUNC(int) _PyOS_URandom(void *buffer, Py_ssize_t size);
`
152
``
`-
PyAPI_FUNC(int) _PyOS_URandomNonblock(void *buffer, Py_ssize_t size);
`
153
``
`-
#endif /* !Py_LIMITED_API */
`
154
``
-
155
``
`-
/* Legacy locale support */
`
156
``
`-
#ifndef Py_LIMITED_API
`
157
``
`-
PyAPI_FUNC(void) _Py_CoerceLegacyLocale(int warn);
`
158
``
`-
PyAPI_FUNC(int) _Py_LegacyLocaleDetected(void);
`
159
``
`-
PyAPI_FUNC(char *) _Py_SetLocaleFromEnv(int category);
`
``
63
`+
define Py_CPYTHON_PYLIFECYCLE_H
`
``
64
`+
include "cpython/pylifecycle.h"
`
``
65
`+
undef Py_CPYTHON_PYLIFECYCLE_H
`
160
66
`#endif
`
161
67
``
162
68
`#ifdef __cplusplus
`