FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
cpython/Include/pythonrun.h at 3.3 · python/cpython · GitHub
python
cpython
Repository navigation
Code
Issues
5k+
(5k+)
Pull requests
2.3k
(2.3k)
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
cpython
/
Include
/
pythonrun.h
Copy path
More file actions
More file actions
Latest commit
History
History
History
263 lines (231 loc) · 8.79 KB
Breadcrumbs
cpython
/
Include
/
pythonrun.h
Copy path
File metadata and controls
263 lines (231 loc) · 8.79 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
/* Interfaces to parse and execute pieces of python code */
#ifndef
Py_PYTHONRUN_H
#define
Py_PYTHONRUN_H
#ifdef
__cplusplus
extern
"C"
{
#endif
#define
PyCF_MASK
(CO_FUTURE_DIVISION | CO_FUTURE_ABSOLUTE_IMPORT | \
CO_FUTURE_WITH_STATEMENT | CO_FUTURE_PRINT_FUNCTION | \
CO_FUTURE_UNICODE_LITERALS | CO_FUTURE_BARRY_AS_BDFL)
#define
PyCF_MASK_OBSOLETE
(CO_NESTED)
#define
PyCF_SOURCE_IS_UTF8
0x0100
#define
PyCF_DONT_IMPLY_DEDENT
0x0200
#define
PyCF_ONLY_AST
0x0400
#define
PyCF_IGNORE_COOKIE
0x0800
#ifndef
Py_LIMITED_API
typedef
struct
{
int
cf_flags
;
/* bitmask of CO_xxx flags relevant to future */
}
PyCompilerFlags
;
#endif
PyAPI_FUNC
(
void
)
Py_SetProgramName
(
wchar_t
*
);
PyAPI_FUNC
(
wchar_t
*
)
Py_GetProgramName
(
void
);
PyAPI_FUNC
(
void
)
Py_SetPythonHome
(
wchar_t
*
);
PyAPI_FUNC
(
wchar_t
*
)
Py_GetPythonHome
(
void
);
PyAPI_FUNC
(
void
)
Py_Initialize
(
void
);
PyAPI_FUNC
(
void
)
Py_InitializeEx
(
int
);
#ifndef
Py_LIMITED_API
PyAPI_FUNC
(
void
)
_Py_InitializeEx_Private
(
int
,
int
);
#endif
PyAPI_FUNC
(
void
)
Py_Finalize
(
void
);
PyAPI_FUNC
(
int
)
Py_IsInitialized
(
void
);
PyAPI_FUNC
(
PyThreadState
*
)
Py_NewInterpreter
(
void
);
PyAPI_FUNC
(
void
)
Py_EndInterpreter
(
PyThreadState
*
);
#ifndef
Py_LIMITED_API
PyAPI_FUNC
(
int
)
PyRun_SimpleStringFlags
(
const
char
*
,
PyCompilerFlags
*
);
PyAPI_FUNC
(
int
)
PyRun_AnyFileFlags
(
FILE
*
,
const
char
*
,
PyCompilerFlags
*
);
PyAPI_FUNC
(
int
)
PyRun_AnyFileExFlags
(
FILE
*
fp
,
const
char
*
filename
,
/* decoded from the filesystem encoding */
int
closeit
,
PyCompilerFlags
*
flags
);
PyAPI_FUNC
(
int
)
PyRun_SimpleFileExFlags
(
FILE
*
fp
,
const
char
*
filename
,
/* decoded from the filesystem encoding */
int
closeit
,
PyCompilerFlags
*
flags
);
PyAPI_FUNC
(
int
)
PyRun_InteractiveOneFlags
(
FILE
*
fp
,
const
char
*
filename
,
/* decoded from the filesystem encoding */
PyCompilerFlags
*
flags
);
PyAPI_FUNC
(
int
)
PyRun_InteractiveLoopFlags
(
FILE
*
fp
,
const
char
*
filename
,
/* decoded from the filesystem encoding */
PyCompilerFlags
*
flags
);
PyAPI_FUNC
(
struct
_mod
*
)
PyParser_ASTFromString
(
const
char
*
s
,
const
char
*
filename
,
/* decoded from the filesystem encoding */
int
start
,
PyCompilerFlags
*
flags
,
PyArena
*
arena
);
PyAPI_FUNC
(
struct
_mod
*
)
PyParser_ASTFromFile
(
FILE
*
fp
,
const
char
*
filename
,
/* decoded from the filesystem encoding */
const
char
*
enc
,
int
start
,
char
*
ps1
,
char
*
ps2
,
PyCompilerFlags
*
flags
,
int
*
errcode
,
PyArena
*
arena
);
#endif
#ifndef
PyParser_SimpleParseString
#define
PyParser_SimpleParseString
(
S
,
B
) \
PyParser_SimpleParseStringFlags(S, B, 0)
#define
PyParser_SimpleParseFile
(
FP
,
S
,
B
) \
PyParser_SimpleParseFileFlags(FP, S, B, 0)
#endif
PyAPI_FUNC
(
struct
_node
*
)
PyParser_SimpleParseStringFlags
(
const
char
*
,
int
,
int
);
PyAPI_FUNC
(
struct
_node
*
)
PyParser_SimpleParseStringFlagsFilename
(
const
char
*
,
const
char
*
,
int
,
int
);
PyAPI_FUNC
(
struct
_node
*
)
PyParser_SimpleParseFileFlags
(
FILE
*
,
const
char
*
,
int
,
int
);
#ifndef
Py_LIMITED_API
PyAPI_FUNC
(
PyObject
*
)
PyRun_StringFlags
(
const
char
*
,
int
,
PyObject
*
,
PyObject
*
,
PyCompilerFlags
*
);
PyAPI_FUNC
(
PyObject
*
)
PyRun_FileExFlags
(
FILE
*
fp
,
const
char
*
filename
,
/* decoded from the filesystem encoding */
int
start
,
PyObject
*
globals
,
PyObject
*
locals
,
int
closeit
,
PyCompilerFlags
*
flags
);
#endif
#ifdef
Py_LIMITED_API
PyAPI_FUNC
(
PyObject
*
)
Py_CompileString
(
const
char
*
,
const
char
*
,
int
);
#else
#define
Py_CompileString
(
str
,
p
,
s
) Py_CompileStringExFlags(str, p, s, NULL, -1)
#define
Py_CompileStringFlags
(
str
,
p
,
s
,
f
) Py_CompileStringExFlags(str, p, s, f, -1)
PyAPI_FUNC
(
PyObject
*
)
Py_CompileStringExFlags
(
const
char
*
str
,
const
char
*
filename
,
/* decoded from the filesystem encoding */
int
start
,
PyCompilerFlags
*
flags
,
int
optimize
);
#endif
PyAPI_FUNC
(
struct
symtable
*
)
Py_SymtableString
(
const
char
*
str
,
const
char
*
filename
,
/* decoded from the filesystem encoding */
int
start
);
PyAPI_FUNC
(
void
)
PyErr_Print
(
void
);
PyAPI_FUNC
(
void
)
PyErr_PrintEx
(
int
);
PyAPI_FUNC
(
void
)
PyErr_Display
(
PyObject
*
,
PyObject
*
,
PyObject
*
);
/* Py_PyAtExit is for the atexit module, Py_AtExit is for low-level
* exit functions.
*/
#ifndef
Py_LIMITED_API
PyAPI_FUNC
(
void
)
_Py_PyAtExit
(
void
(
*
func
)(
void
));
#endif
PyAPI_FUNC
(
int
)
Py_AtExit
(
void
(
*
func
)(
void
));
PyAPI_FUNC
(
void
)
Py_Exit
(
int
);
/* Restore signals that the interpreter has called SIG_IGN on to SIG_DFL. */
#ifndef
Py_LIMITED_API
PyAPI_FUNC
(
void
)
_Py_RestoreSignals
(
void
);
PyAPI_FUNC
(
int
)
Py_FdIsInteractive
(
FILE
*
,
const
char
*
);
#endif
/* Bootstrap */
PyAPI_FUNC
(
int
)
Py_Main
(
int
argc
,
wchar_t
*
*
argv
);
#ifndef
Py_LIMITED_API
/* Use macros for a bunch of old variants */
#define
PyRun_String
(
str
,
s
,
g
,
l
) PyRun_StringFlags(str, s, g, l, NULL)
#define
PyRun_AnyFile
(
fp
,
name
) PyRun_AnyFileExFlags(fp, name, 0, NULL)
#define
PyRun_AnyFileEx
(
fp
,
name
,
closeit
) \
PyRun_AnyFileExFlags(fp, name, closeit, NULL)
#define
PyRun_AnyFileFlags
(
fp
,
name
,
flags
) \
PyRun_AnyFileExFlags(fp, name, 0, flags)
#define
PyRun_SimpleString
(
s
) PyRun_SimpleStringFlags(s, NULL)
#define
PyRun_SimpleFile
(
f
,
p
) PyRun_SimpleFileExFlags(f, p, 0, NULL)
#define
PyRun_SimpleFileEx
(
f
,
p
,
c
) PyRun_SimpleFileExFlags(f, p, c, NULL)
#define
PyRun_InteractiveOne
(
f
,
p
) PyRun_InteractiveOneFlags(f, p, NULL)
#define
PyRun_InteractiveLoop
(
f
,
p
) PyRun_InteractiveLoopFlags(f, p, NULL)
#define
PyRun_File
(
fp
,
p
,
s
,
g
,
l
) \
PyRun_FileExFlags(fp, p, s, g, l, 0, NULL)
#define
PyRun_FileEx
(
fp
,
p
,
s
,
g
,
l
,
c
) \
PyRun_FileExFlags(fp, p, s, g, l, c, NULL)
#define
PyRun_FileFlags
(
fp
,
p
,
s
,
g
,
l
,
flags
) \
PyRun_FileExFlags(fp, p, s, g, l, 0, flags)
#endif
/* In getpath.c */
PyAPI_FUNC
(
wchar_t
*
)
Py_GetProgramFullPath
(
void
);
PyAPI_FUNC
(
wchar_t
*
)
Py_GetPrefix
(
void
);
PyAPI_FUNC
(
wchar_t
*
)
Py_GetExecPrefix
(
void
);
PyAPI_FUNC
(
wchar_t
*
)
Py_GetPath
(
void
);
PyAPI_FUNC
(
void
)
Py_SetPath
(
const
wchar_t
*
);
#ifdef
MS_WINDOWS
int
_Py_CheckPython3
();
#endif
/* In their own files */
PyAPI_FUNC
(
const
char
*
)
Py_GetVersion
(
void
);
PyAPI_FUNC
(
const
char
*
)
Py_GetPlatform
(
void
);
PyAPI_FUNC
(
const
char
*
)
Py_GetCopyright
(
void
);
PyAPI_FUNC
(
const
char
*
)
Py_GetCompiler
(
void
);
PyAPI_FUNC
(
const
char
*
)
Py_GetBuildInfo
(
void
);
#ifndef
Py_LIMITED_API
PyAPI_FUNC
(
const
char
*
)
_Py_hgidentifier
(
void
);
PyAPI_FUNC
(
const
char
*
)
_Py_hgversion
(
void
);
#endif
/* Internal -- various one-time initializations */
#ifndef
Py_LIMITED_API
PyAPI_FUNC
(
PyObject
*
)
_PyBuiltin_Init
(
void
);
PyAPI_FUNC
(
PyObject
*
)
_PySys_Init
(
void
);
PyAPI_FUNC
(
void
)
_PyImport_Init
(
void
);
PyAPI_FUNC
(
void
)
_PyExc_Init
(
PyObject
*
bltinmod
);
PyAPI_FUNC
(
void
)
_PyImportHooks_Init
(
void
);
PyAPI_FUNC
(
int
)
_PyFrame_Init
(
void
);
PyAPI_FUNC
(
void
)
_PyFloat_Init
(
void
);
PyAPI_FUNC
(
int
)
PyByteArray_Init
(
void
);
PyAPI_FUNC
(
void
)
_PyRandom_Init
(
void
);
#endif
/* Various internal finalizers */
#ifndef
Py_LIMITED_API
PyAPI_FUNC
(
void
)
_PyExc_Fini
(
void
);
PyAPI_FUNC
(
void
)
_PyImport_Fini
(
void
);
PyAPI_FUNC
(
void
)
PyMethod_Fini
(
void
);
PyAPI_FUNC
(
void
)
PyFrame_Fini
(
void
);
PyAPI_FUNC
(
void
)
PyCFunction_Fini
(
void
);
PyAPI_FUNC
(
void
)
PyDict_Fini
(
void
);
PyAPI_FUNC
(
void
)
PyTuple_Fini
(
void
);
PyAPI_FUNC
(
void
)
PyList_Fini
(
void
);
PyAPI_FUNC
(
void
)
PySet_Fini
(
void
);
PyAPI_FUNC
(
void
)
PyBytes_Fini
(
void
);
PyAPI_FUNC
(
void
)
PyByteArray_Fini
(
void
);
PyAPI_FUNC
(
void
)
PyFloat_Fini
(
void
);
PyAPI_FUNC
(
void
)
PyOS_FiniInterrupts
(
void
);
PyAPI_FUNC
(
void
)
_PyGC_Fini
(
void
);
PyAPI_FUNC
(
void
)
PySlice_Fini
(
void
);
PyAPI_FUNC
(
void
)
_PyType_Fini
(
void
);
PyAPI_DATA
(
PyThreadState
*
)
_Py_Finalizing
;
#endif
/* Stuff with no proper home (yet) */
#ifndef
Py_LIMITED_API
PyAPI_FUNC
(
char
*
)
PyOS_Readline
(
FILE
*
,
FILE
*
,
char
*
);
#endif
PyAPI_DATA
(
int
) (
*
PyOS_InputHook
)(
void
);
PyAPI_DATA
(
char
)
*
(
*
PyOS_ReadlineFunctionPointer
)(
FILE
*
,
FILE
*
,
char
*
);
#ifndef
Py_LIMITED_API
PyAPI_DATA
(
PyThreadState
*
)
_PyOS_ReadlineTState
;
#endif
/* Stack size, in "pointers" (so we get extra safety margins
on 64-bit platforms). On a 32-bit platform, this translates
to a 8k margin. */
#define
PYOS_STACK_MARGIN
2048
#if
defined(
WIN32
)
&&
!defined(
MS_WIN64
)
&&
defined(
_MSC_VER
)
&&
_MSC_VER
>=
1300
/* Enable stack checking under Microsoft C */
#define
USE_STACKCHECK
#endif
#ifdef
USE_STACKCHECK
/* Check that we aren't overflowing our stack */
PyAPI_FUNC
(
int
)
PyOS_CheckStack
(
void
);
#endif
/* Signals */
typedef
void
(
*
PyOS_sighandler_t
)(
int
);
PyAPI_FUNC
(
PyOS_sighandler_t
)
PyOS_getsig
(
int
);
PyAPI_FUNC
(
PyOS_sighandler_t
)
PyOS_setsig
(
int
,
PyOS_sighandler_t
);
/* Random */
PyAPI_FUNC
(
int
)
_PyOS_URandom
(
void
*
buffer
,
Py_ssize_t
size
);
#ifdef
__cplusplus
}
#endif
#endif
/* !Py_PYTHONRUN_H */
Back
|
FazBrowse Home
|
New Git URL