blob: a8ed86e025dba1ee16488d06afd62dd9afa6c10f [file] [log] [blame]
Guido van Rossumf70e43a1991-02-19 12:39:46 +00001/***********************************************************
Guido van Rossumfd71b9e2000-06-30 23:50:40 +00002Copyright (c) 2000, BeOpen.com.
3Copyright (c) 1995-2000, Corporation for National Research Initiatives.
4Copyright (c) 1990-1995, Stichting Mathematisch Centrum.
5All rights reserved.
Guido van Rossumf70e43a1991-02-19 12:39:46 +00006
Guido van Rossumfd71b9e2000-06-30 23:50:40 +00007See the file "Misc/COPYRIGHT" for information on usage and
8redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
Guido van Rossumf70e43a1991-02-19 12:39:46 +00009******************************************************************/
10
Fred Drake5eb6d4e2000-07-08 23:37:28 +000011#ifndef Py_TRACEBACK_H
12#define Py_TRACEBACK_H
13#ifdef __cplusplus
14extern "C" {
15#endif
16
Guido van Rossum3f5da241990-12-20 15:06:42 +000017/* Traceback interface */
18
Guido van Rossum66cb3111994-12-30 15:33:50 +000019struct _frame;
20
Fred Drake5eb6d4e2000-07-08 23:37:28 +000021DL_IMPORT(int) PyTraceBack_Here(struct _frame *);
22DL_IMPORT(PyObject *) PyTraceBack_Fetch(void);
23DL_IMPORT(int) PyTraceBack_Store(PyObject *);
24DL_IMPORT(int) PyTraceBack_Print(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 */