17db96d56Sopenharmony_ci 27db96d56Sopenharmony_ci/* Interfaces to configure, query, create & destroy the Python runtime */ 37db96d56Sopenharmony_ci 47db96d56Sopenharmony_ci#ifndef Py_PYLIFECYCLE_H 57db96d56Sopenharmony_ci#define Py_PYLIFECYCLE_H 67db96d56Sopenharmony_ci#ifdef __cplusplus 77db96d56Sopenharmony_ciextern "C" { 87db96d56Sopenharmony_ci#endif 97db96d56Sopenharmony_ci 107db96d56Sopenharmony_ci 117db96d56Sopenharmony_ci/* Initialization and finalization */ 127db96d56Sopenharmony_ciPyAPI_FUNC(void) Py_Initialize(void); 137db96d56Sopenharmony_ciPyAPI_FUNC(void) Py_InitializeEx(int); 147db96d56Sopenharmony_ciPyAPI_FUNC(void) Py_Finalize(void); 157db96d56Sopenharmony_ci#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03060000 167db96d56Sopenharmony_ciPyAPI_FUNC(int) Py_FinalizeEx(void); 177db96d56Sopenharmony_ci#endif 187db96d56Sopenharmony_ciPyAPI_FUNC(int) Py_IsInitialized(void); 197db96d56Sopenharmony_ci 207db96d56Sopenharmony_ci/* Subinterpreter support */ 217db96d56Sopenharmony_ciPyAPI_FUNC(PyThreadState *) Py_NewInterpreter(void); 227db96d56Sopenharmony_ciPyAPI_FUNC(void) Py_EndInterpreter(PyThreadState *); 237db96d56Sopenharmony_ci 247db96d56Sopenharmony_ci 257db96d56Sopenharmony_ci/* Py_PyAtExit is for the atexit module, Py_AtExit is for low-level 267db96d56Sopenharmony_ci * exit functions. 277db96d56Sopenharmony_ci */ 287db96d56Sopenharmony_ciPyAPI_FUNC(int) Py_AtExit(void (*func)(void)); 297db96d56Sopenharmony_ci 307db96d56Sopenharmony_ciPyAPI_FUNC(void) _Py_NO_RETURN Py_Exit(int); 317db96d56Sopenharmony_ci 327db96d56Sopenharmony_ci/* Bootstrap __main__ (defined in Modules/main.c) */ 337db96d56Sopenharmony_ciPyAPI_FUNC(int) Py_Main(int argc, wchar_t **argv); 347db96d56Sopenharmony_ciPyAPI_FUNC(int) Py_BytesMain(int argc, char **argv); 357db96d56Sopenharmony_ci 367db96d56Sopenharmony_ci/* In pathconfig.c */ 377db96d56Sopenharmony_ciPy_DEPRECATED(3.11) PyAPI_FUNC(void) Py_SetProgramName(const wchar_t *); 387db96d56Sopenharmony_ciPyAPI_FUNC(wchar_t *) Py_GetProgramName(void); 397db96d56Sopenharmony_ci 407db96d56Sopenharmony_ciPy_DEPRECATED(3.11) PyAPI_FUNC(void) Py_SetPythonHome(const wchar_t *); 417db96d56Sopenharmony_ciPyAPI_FUNC(wchar_t *) Py_GetPythonHome(void); 427db96d56Sopenharmony_ci 437db96d56Sopenharmony_ciPyAPI_FUNC(wchar_t *) Py_GetProgramFullPath(void); 447db96d56Sopenharmony_ci 457db96d56Sopenharmony_ciPyAPI_FUNC(wchar_t *) Py_GetPrefix(void); 467db96d56Sopenharmony_ciPyAPI_FUNC(wchar_t *) Py_GetExecPrefix(void); 477db96d56Sopenharmony_ciPyAPI_FUNC(wchar_t *) Py_GetPath(void); 487db96d56Sopenharmony_ciPy_DEPRECATED(3.11) PyAPI_FUNC(void) Py_SetPath(const wchar_t *); 497db96d56Sopenharmony_ci#ifdef MS_WINDOWS 507db96d56Sopenharmony_ciint _Py_CheckPython3(void); 517db96d56Sopenharmony_ci#endif 527db96d56Sopenharmony_ci 537db96d56Sopenharmony_ci/* In their own files */ 547db96d56Sopenharmony_ciPyAPI_FUNC(const char *) Py_GetVersion(void); 557db96d56Sopenharmony_ciPyAPI_FUNC(const char *) Py_GetPlatform(void); 567db96d56Sopenharmony_ciPyAPI_FUNC(const char *) Py_GetCopyright(void); 577db96d56Sopenharmony_ciPyAPI_FUNC(const char *) Py_GetCompiler(void); 587db96d56Sopenharmony_ciPyAPI_FUNC(const char *) Py_GetBuildInfo(void); 597db96d56Sopenharmony_ci 607db96d56Sopenharmony_ci/* Signals */ 617db96d56Sopenharmony_citypedef void (*PyOS_sighandler_t)(int); 627db96d56Sopenharmony_ciPyAPI_FUNC(PyOS_sighandler_t) PyOS_getsig(int); 637db96d56Sopenharmony_ciPyAPI_FUNC(PyOS_sighandler_t) PyOS_setsig(int, PyOS_sighandler_t); 647db96d56Sopenharmony_ci 657db96d56Sopenharmony_ci#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030B0000 667db96d56Sopenharmony_ciPyAPI_DATA(const unsigned long) Py_Version; 677db96d56Sopenharmony_ci#endif 687db96d56Sopenharmony_ci 697db96d56Sopenharmony_ci#ifndef Py_LIMITED_API 707db96d56Sopenharmony_ci# define Py_CPYTHON_PYLIFECYCLE_H 717db96d56Sopenharmony_ci# include "cpython/pylifecycle.h" 727db96d56Sopenharmony_ci# undef Py_CPYTHON_PYLIFECYCLE_H 737db96d56Sopenharmony_ci#endif 747db96d56Sopenharmony_ci 757db96d56Sopenharmony_ci#ifdef __cplusplus 767db96d56Sopenharmony_ci} 777db96d56Sopenharmony_ci#endif 787db96d56Sopenharmony_ci#endif /* !Py_PYLIFECYCLE_H */ 79