blob: cb6599e125a02e52eec4595e93e38e6dad67658a [file] [log] [blame]
Guido van Rossuma3309961993-07-28 09:05:47 +00001#ifndef Py_TRACEBACK_H
2#define Py_TRACEBACK_H
3#ifdef __cplusplus
4extern "C" {
5#endif
6
Guido van Rossumf70e43a1991-02-19 12:39:46 +00007/***********************************************************
Guido van Rossumfd71b9e2000-06-30 23:50:40 +00008Copyright (c) 2000, BeOpen.com.
9Copyright (c) 1995-2000, Corporation for National Research Initiatives.
10Copyright (c) 1990-1995, Stichting Mathematisch Centrum.
11All rights reserved.
Guido van Rossumf70e43a1991-02-19 12:39:46 +000012
Guido van Rossumfd71b9e2000-06-30 23:50:40 +000013See the file "Misc/COPYRIGHT" for information on usage and
14redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
Guido van Rossumf70e43a1991-02-19 12:39:46 +000015******************************************************************/
16
Guido van Rossum3f5da241990-12-20 15:06:42 +000017/* Traceback interface */
18
Guido van Rossum66cb3111994-12-30 15:33:50 +000019struct _frame;
20
Guido van Rossum43466ec1998-12-04 18:48:25 +000021DL_IMPORT(int) PyTraceBack_Here Py_PROTO((struct _frame *));
22DL_IMPORT(PyObject *) PyTraceBack_Fetch Py_PROTO((void));
23DL_IMPORT(int) PyTraceBack_Store Py_PROTO((PyObject *));
24DL_IMPORT(int) PyTraceBack_Print Py_PROTO((PyObject *, PyObject *));
Guido van Rossuma3309961993-07-28 09:05:47 +000025
Guido van Rossum884afd61995-07-18 14:21:06 +000026/* Reveale traceback type so we can typecheck traceback objects */
Guido van Rossum43466ec1998-12-04 18:48:25 +000027extern DL_IMPORT(PyTypeObject) PyTraceBack_Type;
Guido van Rossum9d78d8d1995-09-18 21:29:36 +000028#define PyTraceBack_Check(v) ((v)->ob_type == &PyTraceBack_Type)
Guido van Rossum884afd61995-07-18 14:21:06 +000029
Guido van Rossuma3309961993-07-28 09:05:47 +000030#ifdef __cplusplus
31}
32#endif
33#endif /* !Py_TRACEBACK_H */