blob: 781e5a6eec4edd4c199079aa9f25d8c05082b3f2 [file] [log] [blame]
Fred Drake5eb6d4e2000-07-08 23:37:28 +00001#ifndef Py_TRACEBACK_H
2#define Py_TRACEBACK_H
3#ifdef __cplusplus
4extern "C" {
5#endif
6
Guido van Rossum3f5da241990-12-20 15:06:42 +00007/* Traceback interface */
Guido van Rossum66cb3111994-12-30 15:33:50 +00008
Victor Stinner7c59d7c2020-04-28 16:32:48 +02009PyAPI_FUNC(int) PyTraceBack_Here(PyFrameObject *);
Mark Hammond91a681d2002-08-12 07:21:58 +000010PyAPI_FUNC(int) PyTraceBack_Print(PyObject *, PyObject *);
Guido van Rossuma3309961993-07-28 09:05:47 +000011
Andrew M. Kuchling913b9072002-03-19 16:02:35 +000012/* Reveal traceback type so we can typecheck traceback objects */
Mark Hammond91a681d2002-08-12 07:21:58 +000013PyAPI_DATA(PyTypeObject) PyTraceBack_Type;
Dong-hee Nad905df72020-02-14 02:37:17 +090014#define PyTraceBack_Check(v) Py_IS_TYPE(v, &PyTraceBack_Type)
Guido van Rossum884afd61995-07-18 14:21:06 +000015
Victor Stinner024e37a2011-03-31 01:31:06 +020016
Victor Stinner89e7cdc2016-03-15 21:49:37 +010017#ifndef Py_LIMITED_API
Victor Stinnered488662019-05-20 00:14:57 +020018# define Py_CPYTHON_TRACEBACK_H
19# include "cpython/traceback.h"
20# undef Py_CPYTHON_TRACEBACK_H
21#endif
Victor Stinner89e7cdc2016-03-15 21:49:37 +010022
Guido van Rossuma3309961993-07-28 09:05:47 +000023#ifdef __cplusplus
24}
25#endif
26#endif /* !Py_TRACEBACK_H */