python27_sys/
pythonrun.rs

1use libc::{c_char, c_int, FILE};
2
3use crate::code::*;
4use crate::object::*;
5use crate::pyarena::PyArena;
6use crate::pystate::PyThreadState;
7
8pub const PyCF_MASK: c_int = (CO_FUTURE_DIVISION
9    | CO_FUTURE_ABSOLUTE_IMPORT
10    | CO_FUTURE_WITH_STATEMENT
11    | CO_FUTURE_PRINT_FUNCTION
12    | CO_FUTURE_UNICODE_LITERALS);
13pub const PyCF_MASK_OBSOLETE: c_int = (CO_NESTED);
14pub const PyCF_SOURCE_IS_UTF8: c_int = 0x0100;
15pub const PyCF_DONT_IMPLY_DEDENT: c_int = 0x0200;
16pub const PyCF_ONLY_AST: c_int = 0x0400;
17
18#[repr(C)]
19#[derive(Copy, Clone)]
20pub struct PyCompilerFlags {
21    pub cf_flags: c_int,
22}
23
24#[allow(missing_copy_implementations)]
25#[repr(C)]
26pub struct Struct__mod {
27    _private: [u8; 0],
28}
29
30#[allow(missing_copy_implementations)]
31#[repr(C)]
32pub struct Struct__node {
33    _private: [u8; 0],
34}
35
36#[allow(missing_copy_implementations)]
37#[repr(C)]
38pub struct Struct_symtable {
39    _private: [u8; 0],
40}
41
42#[cfg_attr(windows, link(name = "pythonXY"))]
43extern "C" {
44    pub fn Py_SetProgramName(arg1: *mut c_char);
45    pub fn Py_GetProgramName() -> *mut c_char;
46    pub fn Py_SetPythonHome(arg1: *mut c_char);
47    pub fn Py_GetPythonHome() -> *mut c_char;
48    pub fn Py_Initialize();
49    pub fn Py_InitializeEx(arg1: c_int);
50    pub fn Py_Finalize();
51    pub fn Py_IsInitialized() -> c_int;
52    pub fn Py_NewInterpreter() -> *mut PyThreadState;
53    pub fn Py_EndInterpreter(arg1: *mut PyThreadState);
54    pub fn PyRun_AnyFileFlags(
55        arg1: *mut FILE,
56        arg2: *const c_char,
57        arg3: *mut PyCompilerFlags,
58    ) -> c_int;
59    pub fn PyRun_AnyFileExFlags(
60        arg1: *mut FILE,
61        arg2: *const c_char,
62        arg3: c_int,
63        arg4: *mut PyCompilerFlags,
64    ) -> c_int;
65    pub fn PyRun_SimpleStringFlags(arg1: *const c_char, arg2: *mut PyCompilerFlags) -> c_int;
66    pub fn PyRun_SimpleFileExFlags(
67        arg1: *mut FILE,
68        arg2: *const c_char,
69        arg3: c_int,
70        arg4: *mut PyCompilerFlags,
71    ) -> c_int;
72    pub fn PyRun_InteractiveOneFlags(
73        arg1: *mut FILE,
74        arg2: *const c_char,
75        arg3: *mut PyCompilerFlags,
76    ) -> c_int;
77    pub fn PyRun_InteractiveLoopFlags(
78        arg1: *mut FILE,
79        arg2: *const c_char,
80        arg3: *mut PyCompilerFlags,
81    ) -> c_int;
82    pub fn PyParser_ASTFromString(
83        arg1: *const c_char,
84        arg2: *const c_char,
85        arg3: c_int,
86        flags: *mut PyCompilerFlags,
87        arg4: *mut PyArena,
88    ) -> *mut Struct__mod;
89    pub fn PyParser_ASTFromFile(
90        arg1: *mut FILE,
91        arg2: *const c_char,
92        arg3: c_int,
93        arg4: *mut c_char,
94        arg5: *mut c_char,
95        arg6: *mut PyCompilerFlags,
96        arg7: *mut c_int,
97        arg8: *mut PyArena,
98    ) -> *mut Struct__mod;
99    pub fn PyParser_SimpleParseStringFlags(
100        arg1: *const c_char,
101        arg2: c_int,
102        arg3: c_int,
103    ) -> *mut Struct__node;
104    pub fn PyParser_SimpleParseFileFlags(
105        arg1: *mut FILE,
106        arg2: *const c_char,
107        arg3: c_int,
108        arg4: c_int,
109    ) -> *mut Struct__node;
110    pub fn PyRun_StringFlags(
111        arg1: *const c_char,
112        arg2: c_int,
113        arg3: *mut PyObject,
114        arg4: *mut PyObject,
115        arg5: *mut PyCompilerFlags,
116    ) -> *mut PyObject;
117    pub fn PyRun_FileExFlags(
118        arg1: *mut FILE,
119        arg2: *const c_char,
120        arg3: c_int,
121        arg4: *mut PyObject,
122        arg5: *mut PyObject,
123        arg6: c_int,
124        arg7: *mut PyCompilerFlags,
125    ) -> *mut PyObject;
126    pub fn Py_CompileStringFlags(
127        arg1: *const c_char,
128        arg2: *const c_char,
129        arg3: c_int,
130        arg4: *mut PyCompilerFlags,
131    ) -> *mut PyObject;
132    pub fn Py_SymtableString(
133        arg1: *const c_char,
134        arg2: *const c_char,
135        arg3: c_int,
136    ) -> *mut Struct_symtable;
137    pub fn PyErr_Print();
138    pub fn PyErr_PrintEx(arg1: c_int);
139    pub fn PyErr_Display(arg1: *mut PyObject, arg2: *mut PyObject, arg3: *mut PyObject);
140    pub fn Py_AtExit(func: Option<unsafe extern "C" fn()>) -> c_int;
141    pub fn Py_Exit(arg1: c_int);
142    pub fn Py_FdIsInteractive(arg1: *mut FILE, arg2: *const c_char) -> c_int;
143    pub fn Py_Main(argc: c_int, argv: *mut *mut c_char) -> c_int;
144    pub fn Py_GetProgramFullPath() -> *mut c_char;
145    pub fn Py_GetPrefix() -> *mut c_char;
146    pub fn Py_GetExecPrefix() -> *mut c_char;
147    pub fn Py_GetPath() -> *mut c_char;
148    pub fn Py_GetVersion() -> *const c_char;
149    pub fn Py_GetPlatform() -> *const c_char;
150    pub fn Py_GetCopyright() -> *const c_char;
151    pub fn Py_GetCompiler() -> *const c_char;
152    pub fn Py_GetBuildInfo() -> *const c_char;
153    pub fn Py_SubversionRevision() -> *const c_char;
154    pub fn Py_SubversionShortBranch() -> *const c_char;
155}