77extern "C" {
88#endif
99
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
4210
4311/* Initialization and finalization */
4412PyAPI_FUNC (void ) Py_Initialize (void );
4513PyAPI_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
5114PyAPI_FUNC (void ) Py_Finalize (void );
5215PyAPI_FUNC (int ) Py_FinalizeEx (void );
5316PyAPI_FUNC (int ) Py_IsInitialized (void );
@@ -60,20 +23,10 @@ PyAPI_FUNC(void) Py_EndInterpreter(PyThreadState *);
6023/* Py_PyAtExit is for the atexit module, Py_AtExit is for low-level
6124 * exit functions.
6225 */
63- #ifndef Py_LIMITED_API
64- PyAPI_FUNC (void ) _Py_PyAtExit (void (* func )(PyObject * ), PyObject * );
65- #endif
6626PyAPI_FUNC (int ) Py_AtExit (void (* func )(void ));
6727
6828PyAPI_FUNC (void ) _Py_NO_RETURN Py_Exit (int );
6929
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-
7730/* Bootstrap __main__ (defined in Modules/main.c) */
7831PyAPI_FUNC (int ) Py_Main (int argc , wchar_t * * argv );
7932
@@ -84,9 +37,6 @@ PyAPI_FUNC(wchar_t *) Py_GetProgramName(void);
8437PyAPI_FUNC (void ) Py_SetPythonHome (const wchar_t * );
8538PyAPI_FUNC (wchar_t * ) Py_GetPythonHome (void );
8639
87- #ifndef Py_LIMITED_API
88- PyAPI_FUNC (void ) _Py_SetProgramFullPath (const wchar_t * );
89- #endif
9040PyAPI_FUNC (wchar_t * ) Py_GetProgramFullPath (void );
9141
9242PyAPI_FUNC (wchar_t * ) Py_GetPrefix (void );
@@ -103,60 +53,16 @@ PyAPI_FUNC(const char *) Py_GetPlatform(void);
10353PyAPI_FUNC (const char * ) Py_GetCopyright (void );
10454PyAPI_FUNC (const char * ) Py_GetCompiler (void );
10555PyAPI_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 */
14356
14457/* Signals */
14558typedef void (* PyOS_sighandler_t )(int );
14659PyAPI_FUNC (PyOS_sighandler_t ) PyOS_getsig (int );
14760PyAPI_FUNC (PyOS_sighandler_t ) PyOS_setsig (int , PyOS_sighandler_t );
14861
14962#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
16066#endif
16167
16268#ifdef __cplusplus
0 commit comments