python27_sys/
pythonrun.rs1use 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}