pycore_pylifecycle.h 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. #ifndef Py_INTERNAL_LIFECYCLE_H
  2. #define Py_INTERNAL_LIFECYCLE_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #ifndef Py_BUILD_CORE
  7. # error "this header requires Py_BUILD_CORE define"
  8. #endif
  9. #include "pycore_runtime.h" // _PyRuntimeState
  10. /* Forward declarations */
  11. struct _PyArgv;
  12. struct pyruntimestate;
  13. extern int _Py_SetFileSystemEncoding(
  14. const char *encoding,
  15. const char *errors);
  16. extern void _Py_ClearFileSystemEncoding(void);
  17. extern PyStatus _PyUnicode_InitEncodings(PyThreadState *tstate);
  18. #ifdef MS_WINDOWS
  19. extern int _PyUnicode_EnableLegacyWindowsFSEncoding(void);
  20. #endif
  21. PyAPI_FUNC(void) _Py_ClearStandardStreamEncoding(void);
  22. PyAPI_FUNC(int) _Py_IsLocaleCoercionTarget(const char *ctype_loc);
  23. /* Various one-time initializers */
  24. extern void _Py_InitVersion(void);
  25. extern PyStatus _PyFaulthandler_Init(int enable);
  26. extern PyObject * _PyBuiltin_Init(PyInterpreterState *interp);
  27. extern PyStatus _PySys_Create(
  28. PyThreadState *tstate,
  29. PyObject **sysmod_p);
  30. extern PyStatus _PySys_ReadPreinitWarnOptions(PyWideStringList *options);
  31. extern PyStatus _PySys_ReadPreinitXOptions(PyConfig *config);
  32. extern int _PySys_UpdateConfig(PyThreadState *tstate);
  33. extern void _PySys_FiniTypes(PyInterpreterState *interp);
  34. extern int _PyBuiltins_AddExceptions(PyObject * bltinmod);
  35. extern PyStatus _Py_HashRandomization_Init(const PyConfig *);
  36. extern PyStatus _PyTime_Init(void);
  37. extern PyStatus _PyGC_Init(PyInterpreterState *interp);
  38. extern PyStatus _PyAtExit_Init(PyInterpreterState *interp);
  39. extern int _Py_Deepfreeze_Init(void);
  40. /* Various internal finalizers */
  41. extern int _PySignal_Init(int install_signal_handlers);
  42. extern void _PySignal_Fini(void);
  43. extern void _PyGC_Fini(PyInterpreterState *interp);
  44. extern void _Py_HashRandomization_Fini(void);
  45. extern void _PyFaulthandler_Fini(void);
  46. extern void _PyHash_Fini(void);
  47. extern void _PyTraceMalloc_Fini(void);
  48. extern void _PyWarnings_Fini(PyInterpreterState *interp);
  49. extern void _PyAST_Fini(PyInterpreterState *interp);
  50. extern void _PyAtExit_Fini(PyInterpreterState *interp);
  51. extern void _PyThread_FiniType(PyInterpreterState *interp);
  52. extern void _Py_Deepfreeze_Fini(void);
  53. extern void _PyArg_Fini(void);
  54. extern void _Py_FinalizeAllocatedBlocks(_PyRuntimeState *);
  55. extern PyStatus _PyGILState_Init(PyInterpreterState *interp);
  56. extern PyStatus _PyGILState_SetTstate(PyThreadState *tstate);
  57. extern void _PyGILState_Fini(PyInterpreterState *interp);
  58. PyAPI_FUNC(void) _PyGC_DumpShutdownStats(PyInterpreterState *interp);
  59. PyAPI_FUNC(PyStatus) _Py_PreInitializeFromPyArgv(
  60. const PyPreConfig *src_config,
  61. const struct _PyArgv *args);
  62. PyAPI_FUNC(PyStatus) _Py_PreInitializeFromConfig(
  63. const PyConfig *config,
  64. const struct _PyArgv *args);
  65. PyAPI_FUNC(wchar_t *) _Py_GetStdlibDir(void);
  66. PyAPI_FUNC(int) _Py_HandleSystemExit(int *exitcode_p);
  67. PyAPI_FUNC(PyObject*) _PyErr_WriteUnraisableDefaultHook(PyObject *unraisable);
  68. PyAPI_FUNC(void) _PyErr_Print(PyThreadState *tstate);
  69. PyAPI_FUNC(void) _PyErr_Display(PyObject *file, PyObject *exception,
  70. PyObject *value, PyObject *tb);
  71. PyAPI_FUNC(void) _PyErr_DisplayException(PyObject *file, PyObject *exc);
  72. PyAPI_FUNC(void) _PyThreadState_DeleteCurrent(PyThreadState *tstate);
  73. extern void _PyAtExit_Call(PyInterpreterState *interp);
  74. #ifdef __cplusplus
  75. }
  76. #endif
  77. #endif /* !Py_INTERNAL_LIFECYCLE_H */