Last set of CW Pro 5 projects (probably)
[python/dscho.git] / Include / pythonrun.h
blobc217570dcf1306359e95983ba551204851941b33
1 /***********************************************************
2 Copyright (c) 2000, BeOpen.com.
3 Copyright (c) 1995-2000, Corporation for National Research Initiatives.
4 Copyright (c) 1990-1995, Stichting Mathematisch Centrum.
5 All rights reserved.
7 See the file "Misc/COPYRIGHT" for information on usage and
8 redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
9 ******************************************************************/
11 /* Interfaces to parse and execute pieces of python code */
13 #ifndef Py_PYTHONRUN_H
14 #define Py_PYTHONRUN_H
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
19 DL_IMPORT(void) Py_SetProgramName(char *);
20 DL_IMPORT(char *) Py_GetProgramName(void);
22 DL_IMPORT(void) Py_SetPythonHome(char *);
23 DL_IMPORT(char *) Py_GetPythonHome(void);
25 DL_IMPORT(void) Py_Initialize(void);
26 DL_IMPORT(void) Py_Finalize(void);
27 DL_IMPORT(int) Py_IsInitialized(void);
28 DL_IMPORT(PyThreadState *) Py_NewInterpreter(void);
29 DL_IMPORT(void) Py_EndInterpreter(PyThreadState *);
31 DL_IMPORT(int) PyRun_AnyFile(FILE *, char *);
33 DL_IMPORT(int) PyRun_SimpleString(char *);
34 DL_IMPORT(int) PyRun_SimpleFile(FILE *, char *);
35 DL_IMPORT(int) PyRun_InteractiveOne(FILE *, char *);
36 DL_IMPORT(int) PyRun_InteractiveLoop(FILE *, char *);
38 DL_IMPORT(struct _node *) PyParser_SimpleParseString(char *, int);
39 DL_IMPORT(struct _node *) PyParser_SimpleParseFile(FILE *, char *, int);
41 DL_IMPORT(PyObject *) PyRun_String(char *, int, PyObject *, PyObject *);
42 DL_IMPORT(PyObject *) PyRun_File(FILE *, char *, int, PyObject *, PyObject *);
44 DL_IMPORT(PyObject *) Py_CompileString(char *, char *, int);
46 DL_IMPORT(void) PyErr_Print(void);
47 DL_IMPORT(void) PyErr_PrintEx(int);
49 DL_IMPORT(int) Py_AtExit(void (*func)(void));
51 DL_IMPORT(void) Py_Exit(int);
53 DL_IMPORT(int) Py_FdIsInteractive(FILE *, char *);
55 /* In getpath.c */
56 DL_IMPORT(char *) Py_GetProgramFullPath(void);
57 DL_IMPORT(char *) Py_GetPrefix(void);
58 DL_IMPORT(char *) Py_GetExecPrefix(void);
59 DL_IMPORT(char *) Py_GetPath(void);
61 /* In their own files */
62 DL_IMPORT(const char *) Py_GetVersion(void);
63 DL_IMPORT(const char *) Py_GetPlatform(void);
64 DL_IMPORT(const char *) Py_GetCopyright(void);
65 DL_IMPORT(const char *) Py_GetCompiler(void);
66 DL_IMPORT(const char *) Py_GetBuildInfo(void);
68 /* Internal -- various one-time initializations */
69 DL_IMPORT(PyObject *) _PyBuiltin_Init(void);
70 DL_IMPORT(PyObject *) _PySys_Init(void);
71 DL_IMPORT(void) _PyImport_Init(void);
72 DL_IMPORT(void) init_exceptions(void);
74 /* Various internal finalizers */
75 DL_IMPORT(void) fini_exceptions(void);
76 DL_IMPORT(void) _PyImport_Fini(void);
77 DL_IMPORT(void) PyMethod_Fini(void);
78 DL_IMPORT(void) PyFrame_Fini(void);
79 DL_IMPORT(void) PyCFunction_Fini(void);
80 DL_IMPORT(void) PyTuple_Fini(void);
81 DL_IMPORT(void) PyString_Fini(void);
82 DL_IMPORT(void) PyInt_Fini(void);
83 DL_IMPORT(void) PyFloat_Fini(void);
84 DL_IMPORT(void) PyOS_FiniInterrupts(void);
86 /* Stuff with no proper home (yet) */
87 DL_IMPORT(char *) PyOS_Readline(char *);
88 extern DL_IMPORT(int) (*PyOS_InputHook)(void);
89 extern DL_IMPORT(char) *(*PyOS_ReadlineFunctionPointer)(char *);
90 #ifdef USE_STACKCHECK
91 int PyOS_CheckStack(void); /* Check that we aren't overflowing our stack */
92 #endif
94 #ifdef __cplusplus
96 #endif
97 #endif /* !Py_PYTHONRUN_H */