xref: /third_party/python/Include/pythonrun.h (revision 7db96d56)
1
2/* Interfaces to parse and execute pieces of python code */
3
4#ifndef Py_PYTHONRUN_H
5#define Py_PYTHONRUN_H
6#ifdef __cplusplus
7extern "C" {
8#endif
9
10PyAPI_FUNC(PyObject *) Py_CompileString(const char *, const char *, int);
11
12PyAPI_FUNC(void) PyErr_Print(void);
13PyAPI_FUNC(void) PyErr_PrintEx(int);
14PyAPI_FUNC(void) PyErr_Display(PyObject *, PyObject *, PyObject *);
15
16
17/* Stuff with no proper home (yet) */
18PyAPI_DATA(int) (*PyOS_InputHook)(void);
19
20/* Stack size, in "pointers" (so we get extra safety margins
21   on 64-bit platforms).  On a 32-bit platform, this translates
22   to an 8k margin. */
23#define PYOS_STACK_MARGIN 2048
24
25#if defined(WIN32) && !defined(MS_WIN64) && !defined(_M_ARM) && defined(_MSC_VER) && _MSC_VER >= 1300
26/* Enable stack checking under Microsoft C */
27// When changing the platforms, ensure PyOS_CheckStack() docs are still correct
28#define USE_STACKCHECK
29#endif
30
31#ifdef USE_STACKCHECK
32/* Check that we aren't overflowing our stack */
33PyAPI_FUNC(int) PyOS_CheckStack(void);
34#endif
35
36#ifndef Py_LIMITED_API
37#  define Py_CPYTHON_PYTHONRUN_H
38#  include "cpython/pythonrun.h"
39#  undef Py_CPYTHON_PYTHONRUN_H
40#endif
41
42#ifdef __cplusplus
43}
44#endif
45#endif /* !Py_PYTHONRUN_H */
46