1#ifndef Py_INTERNAL_EXCEPTIONS_H 2#define Py_INTERNAL_EXCEPTIONS_H 3#ifdef __cplusplus 4extern "C" { 5#endif 6 7#ifndef Py_BUILD_CORE 8# error "this header requires Py_BUILD_CORE define" 9#endif 10 11 12/* runtime lifecycle */ 13 14extern PyStatus _PyExc_InitState(PyInterpreterState *); 15extern PyStatus _PyExc_InitGlobalObjects(PyInterpreterState *); 16extern int _PyExc_InitTypes(PyInterpreterState *); 17extern void _PyExc_Fini(PyInterpreterState *); 18 19 20/* other API */ 21 22struct _Py_exc_state { 23 // The dict mapping from errno codes to OSError subclasses 24 PyObject *errnomap; 25 PyBaseExceptionObject *memerrors_freelist; 26 int memerrors_numfree; 27 // The ExceptionGroup type 28 PyObject *PyExc_ExceptionGroup; 29}; 30 31extern void _PyExc_ClearExceptionGroupType(PyInterpreterState *); 32 33 34#ifdef __cplusplus 35} 36#endif 37#endif /* !Py_INTERNAL_EXCEPTIONS_H */ 38