1
2#ifndef Py_TRACEBACK_H
3#define Py_TRACEBACK_H
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8struct _frame;
9
10/* Traceback interface */
11
12typedef struct _traceback {
13	PyObject_HEAD
14	struct _traceback *tb_next;
15	struct _frame *tb_frame;
16	int tb_lasti;
17	int tb_lineno;
18} PyTracebackObject;
19
20PyAPI_FUNC(int) PyTraceBack_Here(struct _frame *);
21PyAPI_FUNC(int) PyTraceBack_Print(PyObject *, PyObject *);
22PyAPI_FUNC(int) _Py_DisplaySourceLine(PyObject *, const char *, int, int);
23
24/* Reveal traceback type so we can typecheck traceback objects */
25PyAPI_DATA(PyTypeObject) PyTraceBack_Type;
26#define PyTraceBack_Check(v) (Py_TYPE(v) == &PyTraceBack_Type)
27
28#ifdef __cplusplus
29}
30#endif
31#endif /* !Py_TRACEBACK_H */
32