Chris@87: Chris@87: #ifndef Py_TRACEBACK_H Chris@87: #define Py_TRACEBACK_H Chris@87: #ifdef __cplusplus Chris@87: extern "C" { Chris@87: #endif Chris@87: Chris@87: struct _frame; Chris@87: Chris@87: /* Traceback interface */ Chris@87: Chris@87: typedef struct _traceback { Chris@87: PyObject_HEAD Chris@87: struct _traceback *tb_next; Chris@87: struct _frame *tb_frame; Chris@87: int tb_lasti; Chris@87: int tb_lineno; Chris@87: } PyTracebackObject; Chris@87: Chris@87: PyAPI_FUNC(int) PyTraceBack_Here(struct _frame *); Chris@87: PyAPI_FUNC(int) PyTraceBack_Print(PyObject *, PyObject *); Chris@87: PyAPI_FUNC(int) _Py_DisplaySourceLine(PyObject *, const char *, int, int); Chris@87: Chris@87: /* Reveal traceback type so we can typecheck traceback objects */ Chris@87: PyAPI_DATA(PyTypeObject) PyTraceBack_Type; Chris@87: #define PyTraceBack_Check(v) (Py_TYPE(v) == &PyTraceBack_Type) Chris@87: Chris@87: #ifdef __cplusplus Chris@87: } Chris@87: #endif Chris@87: #endif /* !Py_TRACEBACK_H */