annotate Include/pythonrun.h @ 59605:768722b2ae0a

* Replaces the internals of the subprocess module from fork through exec on POSIX systems with a C extension module. This is required in order for the subprocess module to be made thread safe. The pure python implementation is retained so that it can continue to be used if for some reason the _posixsubprocess extension module is not available. The unittest executes tests on both code paths to guarantee compatibility. * Moves PyLong_FromPid and PyLong_AsPid from posixmodule.c into longobject.h. Code reviewed by jeffrey.yasskin at http://codereview.appspot.com/223077/show
author Gregory P. Smith <greg@mad-scientist.com>
date Sun, 14 Mar 2010 06:49:55 +0000
parents cc6b91c3d719
children cab14be0ada1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
145
853b736a6a9e Added copyright notice.
Guido van Rossum <guido@python.org>
parents: 86
diff changeset
1
86
a6934380c6e7 "Compiling" version
Guido van Rossum <guido@python.org>
parents:
diff changeset
2 /* Interfaces to parse and execute pieces of python code */
a6934380c6e7 "Compiling" version
Guido van Rossum <guido@python.org>
parents:
diff changeset
3
13445
091ca6b9348f ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents: 13256
diff changeset
4 #ifndef Py_PYTHONRUN_H
091ca6b9348f ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents: 13256
diff changeset
5 #define Py_PYTHONRUN_H
091ca6b9348f ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents: 13256
diff changeset
6 #ifdef __cplusplus
091ca6b9348f ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents: 13256
diff changeset
7 extern "C" {
091ca6b9348f ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents: 13256
diff changeset
8 #endif
5862
4dbb4ec44d15 Added declarations for Py_{Set,Get}ProgramName() and a bunch of other
Guido van Rossum <guido@python.org>
parents: 5111
diff changeset
9
55059
26255f29a7e4 the old CO_FUTURE flags can't be commented out
Benjamin Peterson <benjamin@python.org>
parents: 52641
diff changeset
10 #define PyCF_MASK (CO_FUTURE_DIVISION | CO_FUTURE_ABSOLUTE_IMPORT | \
26255f29a7e4 the old CO_FUTURE flags can't be commented out
Benjamin Peterson <benjamin@python.org>
parents: 52641
diff changeset
11 CO_FUTURE_WITH_STATEMENT | CO_FUTURE_PRINT_FUNCTION | \
26255f29a7e4 the old CO_FUTURE flags can't be commented out
Benjamin Peterson <benjamin@python.org>
parents: 52641
diff changeset
12 CO_FUTURE_UNICODE_LITERALS | CO_FUTURE_BARRY_AS_BDFL)
55060
cc6b91c3d719 a little more fiddling to make flags like 2.x
Benjamin Peterson <benjamin@python.org>
parents: 55059
diff changeset
13 #define PyCF_MASK_OBSOLETE (CO_NESTED)
27781
cc01fb654ce3 patch #683515: "Add unicode support to compile(), eval() and exec"
Just van Rossum <just@letterror.com>
parents: 27001
diff changeset
14 #define PyCF_SOURCE_IS_UTF8 0x0100
27878
be7683a6f521 - Finally fixed the bug in compile() and exec where a string ending
Guido van Rossum <guido@python.org>
parents: 27781
diff changeset
15 #define PyCF_DONT_IMPLY_DEDENT 0x0200
36660
3c0b26113df6 Generate code to recursively copy an AST into
Martin v. Löwis <martin@v.loewis.de>
parents: 36654
diff changeset
16 #define PyCF_ONLY_AST 0x0400
51956
8fe2988cf550 ignore the coding cookie in compile(), exec(), and eval() if the source is a string #4626
Benjamin Peterson <benjamin@python.org>
parents: 47667
diff changeset
17 #define PyCF_IGNORE_COOKIE 0x0800
19350
5b6a6d7d44ae ceval, PyEval_MergeCompilerFlags: wasn't merging in the
Tim Peters <tim.peters@gmail.com>
parents: 19157
diff changeset
18
16916
b0456d3a0f1f Useful future statement support for the interactive interpreter
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 16421
diff changeset
19 typedef struct {
19157
b7658e665d2e Refactor future feature handling
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 19051
diff changeset
20 int cf_flags; /* bitmask of CO_xxx flags relevant to future */
16916
b0456d3a0f1f Useful future statement support for the interactive interpreter
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 16421
diff changeset
21 } PyCompilerFlags;
b0456d3a0f1f Useful future statement support for the interactive interpreter
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 16421
diff changeset
22
46318
22a74eaf6b22 Change command line processing API to use wchar_t.
Martin v. Löwis <martin@v.loewis.de>
parents: 45244
diff changeset
23 PyAPI_FUNC(void) Py_SetProgramName(wchar_t *);
22a74eaf6b22 Change command line processing API to use wchar_t.
Martin v. Löwis <martin@v.loewis.de>
parents: 45244
diff changeset
24 PyAPI_FUNC(wchar_t *) Py_GetProgramName(void);
7208
ce271e5f9bc5 - Add Py_GetPythonHome() and Py_SetPythonHome(), intended to allow
Guido van Rossum <guido@python.org>
parents: 6192
diff changeset
25
46318
22a74eaf6b22 Change command line processing API to use wchar_t.
Martin v. Löwis <martin@v.loewis.de>
parents: 45244
diff changeset
26 PyAPI_FUNC(void) Py_SetPythonHome(wchar_t *);
22a74eaf6b22 Change command line processing API to use wchar_t.
Martin v. Löwis <martin@v.loewis.de>
parents: 45244
diff changeset
27 PyAPI_FUNC(wchar_t *) Py_GetPythonHome(void);
86
a6934380c6e7 "Compiling" version
Guido van Rossum <guido@python.org>
parents:
diff changeset
28
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24471
diff changeset
29 PyAPI_FUNC(void) Py_Initialize(void);
33189
de804edf8bcd Patch #900727: Add Py_InitializeEx to allow embedding without signals.
Martin v. Löwis <martin@v.loewis.de>
parents: 33070
diff changeset
30 PyAPI_FUNC(void) Py_InitializeEx(int);
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24471
diff changeset
31 PyAPI_FUNC(void) Py_Finalize(void);
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24471
diff changeset
32 PyAPI_FUNC(int) Py_IsInitialized(void);
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24471
diff changeset
33 PyAPI_FUNC(PyThreadState *) Py_NewInterpreter(void);
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24471
diff changeset
34 PyAPI_FUNC(void) Py_EndInterpreter(PyThreadState *);
13445
091ca6b9348f ANSI-fication and Py_PROTO extermination.
Fred Drake <fdrake@acm.org>
parents: 13256
diff changeset
35
36768
d6c30ce3868b Reconst parameters that lost their const in the AST merge.
Martin v. Löwis <martin@v.loewis.de>
parents: 36726
diff changeset
36 PyAPI_FUNC(int) PyRun_AnyFileFlags(FILE *, const char *, PyCompilerFlags *);
d6c30ce3868b Reconst parameters that lost their const in the AST merge.
Martin v. Löwis <martin@v.loewis.de>
parents: 36726
diff changeset
37 PyAPI_FUNC(int) PyRun_AnyFileExFlags(FILE *, const char *, int, PyCompilerFlags *);
26601
cc05c2c8660e Constify filenames and scripts. Fixes #651362.
Martin v. Löwis <martin@v.loewis.de>
parents: 25924
diff changeset
38 PyAPI_FUNC(int) PyRun_SimpleStringFlags(const char *, PyCompilerFlags *);
cc05c2c8660e Constify filenames and scripts. Fixes #651362.
Martin v. Löwis <martin@v.loewis.de>
parents: 25924
diff changeset
39 PyAPI_FUNC(int) PyRun_SimpleFileExFlags(FILE *, const char *, int, PyCompilerFlags *);
cc05c2c8660e Constify filenames and scripts. Fixes #651362.
Martin v. Löwis <martin@v.loewis.de>
parents: 25924
diff changeset
40 PyAPI_FUNC(int) PyRun_InteractiveOneFlags(FILE *, const char *, PyCompilerFlags *);
cc05c2c8660e Constify filenames and scripts. Fixes #651362.
Martin v. Löwis <martin@v.loewis.de>
parents: 25924
diff changeset
41 PyAPI_FUNC(int) PyRun_InteractiveLoopFlags(FILE *, const char *, PyCompilerFlags *);
86
a6934380c6e7 "Compiling" version
Guido van Rossum <guido@python.org>
parents:
diff changeset
42
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
43 PyAPI_FUNC(struct _mod *) PyParser_ASTFromString(const char *, const char *,
36065
ea083efdc96c Merge from ast-arena. This reduces the code in Python/ast.c by ~300 lines,
Neal Norwitz <nnorwitz@gmail.com>
parents: 35776
diff changeset
44 int, PyCompilerFlags *flags,
ea083efdc96c Merge from ast-arena. This reduces the code in Python/ast.c by ~300 lines,
Neal Norwitz <nnorwitz@gmail.com>
parents: 35776
diff changeset
45 PyArena *);
43225
38f3f9ef193d Convert code from sys.stdin.encoding to UTF-8 in
Martin v. Löwis <martin@v.loewis.de>
parents: 41253
diff changeset
46 PyAPI_FUNC(struct _mod *) PyParser_ASTFromFile(FILE *, const char *,
38f3f9ef193d Convert code from sys.stdin.encoding to UTF-8 in
Martin v. Löwis <martin@v.loewis.de>
parents: 41253
diff changeset
47 const char*, int,
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
48 char *, char *,
36065
ea083efdc96c Merge from ast-arena. This reduces the code in Python/ast.c by ~300 lines,
Neal Norwitz <nnorwitz@gmail.com>
parents: 35776
diff changeset
49 PyCompilerFlags *, int *,
ea083efdc96c Merge from ast-arena. This reduces the code in Python/ast.c by ~300 lines,
Neal Norwitz <nnorwitz@gmail.com>
parents: 35776
diff changeset
50 PyArena *);
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
51 #define PyParser_SimpleParseString(S, B) \
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
52 PyParser_SimpleParseStringFlags(S, B, 0)
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
53 #define PyParser_SimpleParseFile(FP, S, B) \
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
54 PyParser_SimpleParseFileFlags(FP, S, B, 0)
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
55 PyAPI_FUNC(struct _node *) PyParser_SimpleParseStringFlags(const char *, int,
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
56 int);
26601
cc05c2c8660e Constify filenames and scripts. Fixes #651362.
Martin v. Löwis <martin@v.loewis.de>
parents: 25924
diff changeset
57 PyAPI_FUNC(struct _node *) PyParser_SimpleParseFileFlags(FILE *, const char *,
18615
0a90e5ec61b6 Ugly. A pile of new xxxFlags() functions, to communicate to the parser
Tim Peters <tim.peters@gmail.com>
parents: 18611
diff changeset
58 int, int);
86
a6934380c6e7 "Compiling" version
Guido van Rossum <guido@python.org>
parents:
diff changeset
59
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
60 PyAPI_FUNC(PyObject *) PyRun_StringFlags(const char *, int, PyObject *,
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
61 PyObject *, PyCompilerFlags *);
86
a6934380c6e7 "Compiling" version
Guido van Rossum <guido@python.org>
parents:
diff changeset
62
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
63 PyAPI_FUNC(PyObject *) PyRun_FileExFlags(FILE *, const char *, int,
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
64 PyObject *, PyObject *, int,
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
65 PyCompilerFlags *);
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
66
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
67 #define Py_CompileString(str, p, s) Py_CompileStringFlags(str, p, s, NULL)
26601
cc05c2c8660e Constify filenames and scripts. Fixes #651362.
Martin v. Löwis <martin@v.loewis.de>
parents: 25924
diff changeset
68 PyAPI_FUNC(PyObject *) Py_CompileStringFlags(const char *, const char *, int,
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
69 PyCompilerFlags *);
26601
cc05c2c8660e Constify filenames and scripts. Fixes #651362.
Martin v. Löwis <martin@v.loewis.de>
parents: 25924
diff changeset
70 PyAPI_FUNC(struct symtable *) Py_SymtableString(const char *, const char *, int);
1263
65a1e4e9cd54 * Fixed some subtleties with fastlocals. You can no longer access
Guido van Rossum <guido@python.org>
parents: 1257
diff changeset
71
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24471
diff changeset
72 PyAPI_FUNC(void) PyErr_Print(void);
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24471
diff changeset
73 PyAPI_FUNC(void) PyErr_PrintEx(int);
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24471
diff changeset
74 PyAPI_FUNC(void) PyErr_Display(PyObject *, PyObject *, PyObject *);
86
a6934380c6e7 "Compiling" version
Guido van Rossum <guido@python.org>
parents:
diff changeset
75
41253
f29f1a8b7869 Patch #1680961: remove sys.exitfunc and replace it with a private C API. Also, reimplement atexit in C so it can take advantage of this private API.
Collin Winter <collinw@gmail.com>
parents: 40978
diff changeset
76 /* Py_PyAtExit is for the atexit module, Py_AtExit is for low-level
f29f1a8b7869 Patch #1680961: remove sys.exitfunc and replace it with a private C API. Also, reimplement atexit in C so it can take advantage of this private API.
Collin Winter <collinw@gmail.com>
parents: 40978
diff changeset
77 * exit functions.
f29f1a8b7869 Patch #1680961: remove sys.exitfunc and replace it with a private C API. Also, reimplement atexit in C so it can take advantage of this private API.
Collin Winter <collinw@gmail.com>
parents: 40978
diff changeset
78 */
f29f1a8b7869 Patch #1680961: remove sys.exitfunc and replace it with a private C API. Also, reimplement atexit in C so it can take advantage of this private API.
Collin Winter <collinw@gmail.com>
parents: 40978
diff changeset
79 PyAPI_FUNC(void) _Py_PyAtExit(void (*func)(void));
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24471
diff changeset
80 PyAPI_FUNC(int) Py_AtExit(void (*func)(void));
1868
63ad28939781 pythgonrun.h: added Py_AtExit().
Guido van Rossum <guido@python.org>
parents: 1746
diff changeset
81
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24471
diff changeset
82 PyAPI_FUNC(void) Py_Exit(int);
1329
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1313
diff changeset
83
59605
768722b2ae0a * Replaces the internals of the subprocess module from fork through exec on
Gregory P. Smith <greg@mad-scientist.com>
parents: 55060
diff changeset
84 /* Restore signals that the interpreter has called SIG_IGN on to SIG_DFL. */
768722b2ae0a * Replaces the internals of the subprocess module from fork through exec on
Gregory P. Smith <greg@mad-scientist.com>
parents: 55060
diff changeset
85 PyAPI_FUNC(void) _Py_RestoreSignals(void);
768722b2ae0a * Replaces the internals of the subprocess module from fork through exec on
Gregory P. Smith <greg@mad-scientist.com>
parents: 55060
diff changeset
86
26601
cc05c2c8660e Constify filenames and scripts. Fixes #651362.
Martin v. Löwis <martin@v.loewis.de>
parents: 25924
diff changeset
87 PyAPI_FUNC(int) Py_FdIsInteractive(FILE *, const char *);
5111
21b871325c85 Added decl for Py_FdIsInteractive.
Guido van Rossum <guido@python.org>
parents: 4503
diff changeset
88
24471
f66b3a3509c7 Excise DL_EXPORT/DL_IMPORT from Modules/*. Required adding a prototype
Mark Hammond <mhammond@skippinet.com.au>
parents: 24420
diff changeset
89 /* Bootstrap */
46318
22a74eaf6b22 Change command line processing API to use wchar_t.
Martin v. Löwis <martin@v.loewis.de>
parents: 45244
diff changeset
90 PyAPI_FUNC(int) Py_Main(int argc, wchar_t **argv);
24471
f66b3a3509c7 Excise DL_EXPORT/DL_IMPORT from Modules/*. Required adding a prototype
Mark Hammond <mhammond@skippinet.com.au>
parents: 24420
diff changeset
91
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
92 /* Use macros for a bunch of old variants */
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
93 #define PyRun_String(str, s, g, l) PyRun_StringFlags(str, s, g, l, NULL)
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
94 #define PyRun_AnyFile(fp, name) PyRun_AnyFileExFlags(fp, name, 0, NULL)
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
95 #define PyRun_AnyFileEx(fp, name, closeit) \
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
96 PyRun_AnyFileExFlags(fp, name, closeit, NULL)
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
97 #define PyRun_AnyFileFlags(fp, name, flags) \
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
98 PyRun_AnyFileExFlags(fp, name, 0, flags)
35776
893be94c8891 Correct error to PyRun_SimpleString macro introduced in AST merge.
Mark Hammond <mhammond@skippinet.com.au>
parents: 35742
diff changeset
99 #define PyRun_SimpleString(s) PyRun_SimpleStringFlags(s, NULL)
35742
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
100 #define PyRun_SimpleFile(f, p) PyRun_SimpleFileExFlags(f, p, 0, NULL)
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
101 #define PyRun_SimpleFileEx(f, p, c) PyRun_SimpleFileExFlags(f, p, c, NULL)
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
102 #define PyRun_InteractiveOne(f, p) PyRun_InteractiveOneFlags(f, p, NULL)
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
103 #define PyRun_InteractiveLoop(f, p) PyRun_InteractiveLoopFlags(f, p, NULL)
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
104 #define PyRun_File(fp, p, s, g, l) \
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
105 PyRun_FileExFlags(fp, p, s, g, l, 0, NULL)
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
106 #define PyRun_FileEx(fp, p, s, g, l, c) \
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
107 PyRun_FileExFlags(fp, p, s, g, l, c, NULL)
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
108 #define PyRun_FileFlags(fp, p, s, g, l, flags) \
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
109 PyRun_FileExFlags(fp, p, s, g, l, 0, flags)
1c4d192f1568 Merge ast-branch to head
Jeremy Hylton <jeremy@alum.mit.edu>
parents: 35297
diff changeset
110
5862
4dbb4ec44d15 Added declarations for Py_{Set,Get}ProgramName() and a bunch of other
Guido van Rossum <guido@python.org>
parents: 5111
diff changeset
111 /* In getpath.c */
46318
22a74eaf6b22 Change command line processing API to use wchar_t.
Martin v. Löwis <martin@v.loewis.de>
parents: 45244
diff changeset
112 PyAPI_FUNC(wchar_t *) Py_GetProgramFullPath(void);
22a74eaf6b22 Change command line processing API to use wchar_t.
Martin v. Löwis <martin@v.loewis.de>
parents: 45244
diff changeset
113 PyAPI_FUNC(wchar_t *) Py_GetPrefix(void);
22a74eaf6b22 Change command line processing API to use wchar_t.
Martin v. Löwis <martin@v.loewis.de>
parents: 45244
diff changeset
114 PyAPI_FUNC(wchar_t *) Py_GetExecPrefix(void);
22a74eaf6b22 Change command line processing API to use wchar_t.
Martin v. Löwis <martin@v.loewis.de>
parents: 45244
diff changeset
115 PyAPI_FUNC(wchar_t *) Py_GetPath(void);
5862
4dbb4ec44d15 Added declarations for Py_{Set,Get}ProgramName() and a bunch of other
Guido van Rossum <guido@python.org>
parents: 5111
diff changeset
116
4dbb4ec44d15 Added declarations for Py_{Set,Get}ProgramName() and a bunch of other
Guido van Rossum <guido@python.org>
parents: 5111
diff changeset
117 /* In their own files */
24420
36e2fd3f08f7 Excise DL_IMPORT/EXPORT from object.h, and related files. This patch
Mark Hammond <mhammond@skippinet.com.au>
parents: 24159
diff changeset
118 PyAPI_FUNC(const char *) Py_GetVersion(void);
36e2fd3f08f7 Excise DL_IMPORT/EXPORT from object.h, and related files. This patch
Mark Hammond <mhammond@skippinet.com.au>
parents: 24159
diff changeset
119 PyAPI_FUNC(const char *) Py_GetPlatform(void);
36e2fd3f08f7 Excise DL_IMPORT/EXPORT from object.h, and related files. This patch
Mark Hammond <mhammond@skippinet.com.au>
parents: 24159
diff changeset
120 PyAPI_FUNC(const char *) Py_GetCopyright(void);
36e2fd3f08f7 Excise DL_IMPORT/EXPORT from object.h, and related files. This patch
Mark Hammond <mhammond@skippinet.com.au>
parents: 24159
diff changeset
121 PyAPI_FUNC(const char *) Py_GetCompiler(void);
36e2fd3f08f7 Excise DL_IMPORT/EXPORT from object.h, and related files. This patch
Mark Hammond <mhammond@skippinet.com.au>
parents: 24159
diff changeset
122 PyAPI_FUNC(const char *) Py_GetBuildInfo(void);
36207
825a041813fb Drop sys.build_number. Add sys.subversion.
Martin v. Löwis <martin@v.loewis.de>
parents: 36070
diff changeset
123 PyAPI_FUNC(const char *) _Py_svnversion(void);
825a041813fb Drop sys.build_number. Add sys.subversion.
Martin v. Löwis <martin@v.loewis.de>
parents: 36070
diff changeset
124 PyAPI_FUNC(const char *) Py_SubversionRevision(void);
825a041813fb Drop sys.build_number. Add sys.subversion.
Martin v. Löwis <martin@v.loewis.de>
parents: 36070
diff changeset
125 PyAPI_FUNC(const char *) Py_SubversionShortBranch(void);
5862
4dbb4ec44d15 Added declarations for Py_{Set,Get}ProgramName() and a bunch of other
Guido van Rossum <guido@python.org>
parents: 5111
diff changeset
126
5919
5da18e002b1a Mass checkin (more to follow for other directories).
Guido van Rossum <guido@python.org>
parents: 5862
diff changeset
127 /* Internal -- various one-time initializations */
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24471
diff changeset
128 PyAPI_FUNC(PyObject *) _PyBuiltin_Init(void);
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24471
diff changeset
129 PyAPI_FUNC(PyObject *) _PySys_Init(void);
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24471
diff changeset
130 PyAPI_FUNC(void) _PyImport_Init(void);
24420
36e2fd3f08f7 Excise DL_IMPORT/EXPORT from object.h, and related files. This patch
Mark Hammond <mhammond@skippinet.com.au>
parents: 24159
diff changeset
131 PyAPI_FUNC(void) _PyExc_Init(void);
26885
54aacb87beda PEP 302 + zipimport:
Just van Rossum <just@letterror.com>
parents: 26601
diff changeset
132 PyAPI_FUNC(void) _PyImportHooks_Init(void);
26923
dbfc3ef7d003 Since the *_Init() are private, prefix with _, suggested by Skip
Neal Norwitz <nnorwitz@gmail.com>
parents: 26889
diff changeset
133 PyAPI_FUNC(int) _PyFrame_Init(void);
34972
1dd8a0d64432 This is my patch:
Michael W. Hudson <mwh@python.net>
parents: 33679
diff changeset
134 PyAPI_FUNC(void) _PyFloat_Init(void);
47300
96b34263e448 Renamed PyBytes to PyByteArray
Christian Heimes <christian@cheimes.de>
parents: 46318
diff changeset
135 PyAPI_FUNC(int) PyByteArray_Init(void);
5919
5da18e002b1a Mass checkin (more to follow for other directories).
Guido van Rossum <guido@python.org>
parents: 5862
diff changeset
136
5984
b4bbba3af4e8 Added prototype for various finalizers.
Guido van Rossum <guido@python.org>
parents: 5919
diff changeset
137 /* Various internal finalizers */
24420
36e2fd3f08f7 Excise DL_IMPORT/EXPORT from object.h, and related files. This patch
Mark Hammond <mhammond@skippinet.com.au>
parents: 24159
diff changeset
138 PyAPI_FUNC(void) _PyExc_Fini(void);
36e2fd3f08f7 Excise DL_IMPORT/EXPORT from object.h, and related files. This patch
Mark Hammond <mhammond@skippinet.com.au>
parents: 24159
diff changeset
139 PyAPI_FUNC(void) _PyImport_Fini(void);
36e2fd3f08f7 Excise DL_IMPORT/EXPORT from object.h, and related files. This patch
Mark Hammond <mhammond@skippinet.com.au>
parents: 24159
diff changeset
140 PyAPI_FUNC(void) PyMethod_Fini(void);
36e2fd3f08f7 Excise DL_IMPORT/EXPORT from object.h, and related files. This patch
Mark Hammond <mhammond@skippinet.com.au>
parents: 24159
diff changeset
141 PyAPI_FUNC(void) PyFrame_Fini(void);
36e2fd3f08f7 Excise DL_IMPORT/EXPORT from object.h, and related files. This patch
Mark Hammond <mhammond@skippinet.com.au>
parents: 24159
diff changeset
142 PyAPI_FUNC(void) PyCFunction_Fini(void);
45244
2a821e001a2b Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617-60678 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 44099
diff changeset
143 PyAPI_FUNC(void) PyDict_Fini(void);
24420
36e2fd3f08f7 Excise DL_IMPORT/EXPORT from object.h, and related files. This patch
Mark Hammond <mhammond@skippinet.com.au>
parents: 24159
diff changeset
144 PyAPI_FUNC(void) PyTuple_Fini(void);
33679
55fba88930bc Finalize the freelist of list objects.
Raymond Hettinger <python@rcn.com>
parents: 33189
diff changeset
145 PyAPI_FUNC(void) PyList_Fini(void);
35297
26bf6c27e9ce * Improve code for the empty frozenset singleton:
Raymond Hettinger <python@rcn.com>
parents: 34972
diff changeset
146 PyAPI_FUNC(void) PySet_Fini(void);
47301
23ab586c427a Renamed PyString to PyBytes
Christian Heimes <christian@cheimes.de>
parents: 47300
diff changeset
147 PyAPI_FUNC(void) PyBytes_Fini(void);
47300
96b34263e448 Renamed PyBytes to PyByteArray
Christian Heimes <christian@cheimes.de>
parents: 46318
diff changeset
148 PyAPI_FUNC(void) PyByteArray_Fini(void);
24420
36e2fd3f08f7 Excise DL_IMPORT/EXPORT from object.h, and related files. This patch
Mark Hammond <mhammond@skippinet.com.au>
parents: 24159
diff changeset
149 PyAPI_FUNC(void) PyFloat_Fini(void);
36e2fd3f08f7 Excise DL_IMPORT/EXPORT from object.h, and related files. This patch
Mark Hammond <mhammond@skippinet.com.au>
parents: 24159
diff changeset
150 PyAPI_FUNC(void) PyOS_FiniInterrupts(void);
5984
b4bbba3af4e8 Added prototype for various finalizers.
Guido van Rossum <guido@python.org>
parents: 5919
diff changeset
151
5986
32127593c134 Added decls for stuff from myreadline.
Guido van Rossum <guido@python.org>
parents: 5984
diff changeset
152 /* Stuff with no proper home (yet) */
25924
dc4a0336a2a3 Patch #512981: Update readline input stream on sys.stdin/out change.
Martin v. Löwis <martin@v.loewis.de>
parents: 24754
diff changeset
153 PyAPI_FUNC(char *) PyOS_Readline(FILE *, FILE *, char *);
24754
8ab303375b30 Correct PyAPI_FUNC to PyAPI_DATA - sorry Jack.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24752
diff changeset
154 PyAPI_DATA(int) (*PyOS_InputHook)(void);
25924
dc4a0336a2a3 Patch #512981: Update readline input stream on sys.stdin/out change.
Martin v. Löwis <martin@v.loewis.de>
parents: 24754
diff changeset
155 PyAPI_DATA(char) *(*PyOS_ReadlineFunctionPointer)(FILE *, FILE *, char *);
33070
4e6f4e9ec9b3 Patch #1006003: Cygwin standard module build problems
Jason Tishler <jason@tishler.net>
parents: 27878
diff changeset
156 PyAPI_DATA(PyThreadState*) _PyOS_ReadlineTState;
14227
9f9f3280dc68 implements PyOS_CheckStack for Windows and MSVC. this fixes a
Fredrik Lundh <fredrik@pythonware.com>
parents: 13887
diff changeset
157
9f9f3280dc68 implements PyOS_CheckStack for Windows and MSVC. this fixes a
Fredrik Lundh <fredrik@pythonware.com>
parents: 13887
diff changeset
158 /* Stack size, in "pointers" (so we get extra safety margins
9f9f3280dc68 implements PyOS_CheckStack for Windows and MSVC. this fixes a
Fredrik Lundh <fredrik@pythonware.com>
parents: 13887
diff changeset
159 on 64-bit platforms). On a 32-bit platform, this translates
9f9f3280dc68 implements PyOS_CheckStack for Windows and MSVC. this fixes a
Fredrik Lundh <fredrik@pythonware.com>
parents: 13887
diff changeset
160 to a 8k margin. */
9f9f3280dc68 implements PyOS_CheckStack for Windows and MSVC. this fixes a
Fredrik Lundh <fredrik@pythonware.com>
parents: 13887
diff changeset
161 #define PYOS_STACK_MARGIN 2048
9f9f3280dc68 implements PyOS_CheckStack for Windows and MSVC. this fixes a
Fredrik Lundh <fredrik@pythonware.com>
parents: 13887
diff changeset
162
47667
b1f4ea4eb555 Merged revisions 64214 via svnmerge from
Amaury Forgeot d'Arc <amauryfa@gmail.com>
parents: 47301
diff changeset
163 #if defined(WIN32) && !defined(MS_WIN64) && defined(_MSC_VER) && _MSC_VER >= 1300
14227
9f9f3280dc68 implements PyOS_CheckStack for Windows and MSVC. this fixes a
Fredrik Lundh <fredrik@pythonware.com>
parents: 13887
diff changeset
164 /* Enable stack checking under Microsoft C */
9f9f3280dc68 implements PyOS_CheckStack for Windows and MSVC. this fixes a
Fredrik Lundh <fredrik@pythonware.com>
parents: 13887
diff changeset
165 #define USE_STACKCHECK
9f9f3280dc68 implements PyOS_CheckStack for Windows and MSVC. this fixes a
Fredrik Lundh <fredrik@pythonware.com>
parents: 13887
diff changeset
166 #endif
9f9f3280dc68 implements PyOS_CheckStack for Windows and MSVC. this fixes a
Fredrik Lundh <fredrik@pythonware.com>
parents: 13887
diff changeset
167
13887
c0c17347da5b Added a prototype for PyOS_CheckStack (within #ifdef USE_STACKCHECK).
Jack Jansen <jack.jansen@cwi.nl>
parents: 13445
diff changeset
168 #ifdef USE_STACKCHECK
14227
9f9f3280dc68 implements PyOS_CheckStack for Windows and MSVC. this fixes a
Fredrik Lundh <fredrik@pythonware.com>
parents: 13887
diff changeset
169 /* Check that we aren't overflowing our stack */
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24471
diff changeset
170 PyAPI_FUNC(int) PyOS_CheckStack(void);
13887
c0c17347da5b Added a prototype for PyOS_CheckStack (within #ifdef USE_STACKCHECK).
Jack Jansen <jack.jansen@cwi.nl>
parents: 13445
diff changeset
171 #endif
5986
32127593c134 Added decls for stuff from myreadline.
Guido van Rossum <guido@python.org>
parents: 5984
diff changeset
172
14636
0c303a22d9a4 Add typedef PyOS_sighandler_t and prototypes for PyOS_getsig() and
Guido van Rossum <guido@python.org>
parents: 14375
diff changeset
173 /* Signals */
0c303a22d9a4 Add typedef PyOS_sighandler_t and prototypes for PyOS_getsig() and
Guido van Rossum <guido@python.org>
parents: 14375
diff changeset
174 typedef void (*PyOS_sighandler_t)(int);
24752
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24471
diff changeset
175 PyAPI_FUNC(PyOS_sighandler_t) PyOS_getsig(int);
c1eb668525e1 Excise DL_EXPORT from Include.
Mark Hammond <mhammond@skippinet.com.au>
parents: 24471
diff changeset
176 PyAPI_FUNC(PyOS_sighandler_t) PyOS_setsig(int, PyOS_sighandler_t);
14636
0c303a22d9a4 Add typedef PyOS_sighandler_t and prototypes for PyOS_getsig() and
Guido van Rossum <guido@python.org>
parents: 14375
diff changeset
177
0c303a22d9a4 Add typedef PyOS_sighandler_t and prototypes for PyOS_getsig() and
Guido van Rossum <guido@python.org>
parents: 14375
diff changeset
178
1329
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1313
diff changeset
179 #ifdef __cplusplus
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1313
diff changeset
180 }
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1313
diff changeset
181 #endif
519c25039c6a * Added support for X11 modules.
Guido van Rossum <guido@python.org>
parents: 1313
diff changeset
182 #endif /* !Py_PYTHONRUN_H */