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
7 extern "C" {
8 #endif
9 
10 PyAPI_FUNC(PyObject *) Py_CompileString(const char *, const char *, int);
11 
12 PyAPI_FUNC(void) PyErr_Print(void);
13 PyAPI_FUNC(void) PyErr_PrintEx(int);
14 PyAPI_FUNC(void) PyErr_Display(PyObject *, PyObject *, PyObject *);
15 
16 
17 /* Stuff with no proper home (yet) */
18 PyAPI_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 */
33 PyAPI_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