1 #ifndef Py_CPYTHON_PYLIFECYCLE_H 2 # error "this header file must not be included directly" 3 #endif 4 5 #ifdef __cplusplus 6 extern "C" { 7 #endif 8 9 /* Only used by applications that embed the interpreter and need to 10 * override the standard encoding determination mechanism 11 */ 12 PyAPI_FUNC(int) Py_SetStandardStreamEncoding(const char *encoding, 13 const char *errors); 14 15 /* PEP 432 Multi-phase initialization API (Private while provisional!) */ 16 17 PyAPI_FUNC(PyStatus) Py_PreInitialize( 18 const PyPreConfig *src_config); 19 PyAPI_FUNC(PyStatus) Py_PreInitializeFromBytesArgs( 20 const PyPreConfig *src_config, 21 Py_ssize_t argc, 22 char **argv); 23 PyAPI_FUNC(PyStatus) Py_PreInitializeFromArgs( 24 const PyPreConfig *src_config, 25 Py_ssize_t argc, 26 wchar_t **argv); 27 28 PyAPI_FUNC(int) _Py_IsCoreInitialized(void); 29 30 31 /* Initialization and finalization */ 32 33 PyAPI_FUNC(PyStatus) Py_InitializeFromConfig( 34 const PyConfig *config); 35 PyAPI_FUNC(PyStatus) _Py_InitializeFromArgs( 36 const PyConfig *config, 37 Py_ssize_t argc, 38 char * const *argv); 39 PyAPI_FUNC(PyStatus) _Py_InitializeFromWideArgs( 40 const PyConfig *config, 41 Py_ssize_t argc, 42 wchar_t * const *argv); 43 PyAPI_FUNC(PyStatus) _Py_InitializeMain(void); 44 45 PyAPI_FUNC(int) Py_RunMain(void); 46 47 48 PyAPI_FUNC(void) _Py_NO_RETURN Py_ExitStatusException(PyStatus err); 49 50 /* Py_PyAtExit is for the atexit module, Py_AtExit is for low-level 51 * exit functions. 52 */ 53 PyAPI_FUNC(void) _Py_PyAtExit(void (*func)(PyObject *), PyObject *); 54 55 /* Restore signals that the interpreter has called SIG_IGN on to SIG_DFL. */ 56 PyAPI_FUNC(void) _Py_RestoreSignals(void); 57 58 PyAPI_FUNC(int) Py_FdIsInteractive(FILE *, const char *); 59 60 PyAPI_FUNC(void) _Py_SetProgramFullPath(const wchar_t *); 61 62 PyAPI_FUNC(const char *) _Py_gitidentifier(void); 63 PyAPI_FUNC(const char *) _Py_gitversion(void); 64 65 PyAPI_FUNC(int) _Py_IsFinalizing(void); 66 67 /* Random */ 68 PyAPI_FUNC(int) _PyOS_URandom(void *buffer, Py_ssize_t size); 69 PyAPI_FUNC(int) _PyOS_URandomNonblock(void *buffer, Py_ssize_t size); 70 71 /* Legacy locale support */ 72 PyAPI_FUNC(int) _Py_CoerceLegacyLocale(int warn); 73 PyAPI_FUNC(int) _Py_LegacyLocaleDetected(int warn); 74 PyAPI_FUNC(char *) _Py_SetLocaleFromEnv(int category); 75 76 #ifdef __cplusplus 77 } 78 #endif 79