bpo-35134: Create Include/cpython/pylifecycle.h (GH-10731) · python/cpython@dd12aa0 (original) (raw)

`@@ -7,47 +7,10 @@

`

7

7

`extern "C" {

`

8

8

`#endif

`

9

9

``

10

``

`-

#ifndef Py_LIMITED_API

`

11

``

`-

/* Only used by applications that embed the interpreter and need to

`

12

``

`-

`

13

``

`-

*/

`

14

``

`-

PyAPI_FUNC(int) Py_SetStandardStreamEncoding(const char *encoding,

`

15

``

`-

const char *errors);

`

16

``

`-

#endif

`

17

``

-

18

``

-

19

``

`-

#ifndef Py_LIMITED_API

`

20

``

`-

/* PEP 432 Multi-phase initialization API (Private while provisional!) */

`

21

``

`-

PyAPI_FUNC(_PyInitError) _Py_InitializeCore(

`

22

``

`-

PyInterpreterState **interp,

`

23

``

`-

const _PyCoreConfig *);

`

24

``

`-

PyAPI_FUNC(int) _Py_IsCoreInitialized(void);

`

25

``

-

26

``

-

27

``

`-

PyAPI_FUNC(_PyInitError) _PyMainInterpreterConfig_Read(

`

28

``

`-

_PyMainInterpreterConfig *config,

`

29

``

`-

const _PyCoreConfig *core_config);

`

30

``

`-

PyAPI_FUNC(void) _PyMainInterpreterConfig_Clear(_PyMainInterpreterConfig *);

`

31

``

`-

PyAPI_FUNC(int) _PyMainInterpreterConfig_Copy(

`

32

``

`-

_PyMainInterpreterConfig *config,

`

33

``

`-

const _PyMainInterpreterConfig *config2);

`

34

``

`-

/* Used by _testcapi.get_main_config() */

`

35

``

`-

PyAPI_FUNC(PyObject*) _PyMainInterpreterConfig_AsDict(

`

36

``

`-

const _PyMainInterpreterConfig *config);

`

37

``

-

38

``

`-

PyAPI_FUNC(_PyInitError) _Py_InitializeMainInterpreter(

`

39

``

`-

PyInterpreterState *interp,

`

40

``

`-

const _PyMainInterpreterConfig *);

`

41

``

`-

#endif

`

42

10

``

43

11

`/* Initialization and finalization */

`

44

12

`PyAPI_FUNC(void) Py_Initialize(void);

`

45

13

`PyAPI_FUNC(void) Py_InitializeEx(int);

`

46

``

`-

#ifndef Py_LIMITED_API

`

47

``

`-

PyAPI_FUNC(_PyInitError) _Py_InitializeFromConfig(

`

48

``

`-

const _PyCoreConfig *config);

`

49

``

`-

PyAPI_FUNC(void) _Py_NO_RETURN _Py_FatalInitError(_PyInitError err);

`

50

``

`-

#endif

`

51

14

`PyAPI_FUNC(void) Py_Finalize(void);

`

52

15

`PyAPI_FUNC(int) Py_FinalizeEx(void);

`

53

16

`PyAPI_FUNC(int) Py_IsInitialized(void);

`

`@@ -60,20 +23,10 @@ PyAPI_FUNC(void) Py_EndInterpreter(PyThreadState *);

`

60

23

`/* Py_PyAtExit is for the atexit module, Py_AtExit is for low-level

`

61

24

` * exit functions.

`

62

25

` */

`

63

``

`-

#ifndef Py_LIMITED_API

`

64

``

`-

PyAPI_FUNC(void) _Py_PyAtExit(void (*func)(PyObject *), PyObject *);

`

65

``

`-

#endif

`

66

26

`PyAPI_FUNC(int) Py_AtExit(void (*func)(void));

`

67

27

``

68

28

`PyAPI_FUNC(void) _Py_NO_RETURN Py_Exit(int);

`

69

29

``

70

``

`-

/* Restore signals that the interpreter has called SIG_IGN on to SIG_DFL. */

`

71

``

`-

#ifndef Py_LIMITED_API

`

72

``

`-

PyAPI_FUNC(void) _Py_RestoreSignals(void);

`

73

``

-

74

``

`-

PyAPI_FUNC(int) Py_FdIsInteractive(FILE *, const char *);

`

75

``

`-

#endif

`

76

``

-

77

30

`/* Bootstrap main (defined in Modules/main.c) */

`

78

31

`PyAPI_FUNC(int) Py_Main(int argc, wchar_t **argv);

`

79

32

``

`@@ -84,9 +37,6 @@ PyAPI_FUNC(wchar_t *) Py_GetProgramName(void);

`

84

37

`PyAPI_FUNC(void) Py_SetPythonHome(const wchar_t *);

`

85

38

`PyAPI_FUNC(wchar_t *) Py_GetPythonHome(void);

`

86

39

``

87

``

`-

#ifndef Py_LIMITED_API

`

88

``

`-

PyAPI_FUNC(void) _Py_SetProgramFullPath(const wchar_t *);

`

89

``

`-

#endif

`

90

40

`PyAPI_FUNC(wchar_t *) Py_GetProgramFullPath(void);

`

91

41

``

92

42

`PyAPI_FUNC(wchar_t *) Py_GetPrefix(void);

`

`@@ -103,60 +53,16 @@ PyAPI_FUNC(const char *) Py_GetPlatform(void);

`

103

53

`PyAPI_FUNC(const char *) Py_GetCopyright(void);

`

104

54

`PyAPI_FUNC(const char *) Py_GetCompiler(void);

`

105

55

`PyAPI_FUNC(const char *) Py_GetBuildInfo(void);

`

106

``

`-

#ifndef Py_LIMITED_API

`

107

``

`-

PyAPI_FUNC(const char *) _Py_gitidentifier(void);

`

108

``

`-

PyAPI_FUNC(const char *) _Py_gitversion(void);

`

109

``

`-

#endif

`

110

``

-

111

``

`-

/* Internal -- various one-time initializations */

`

112

``

`-

#ifndef Py_LIMITED_API

`

113

``

`-

PyAPI_FUNC(PyObject *) _PyBuiltin_Init(void);

`

114

``

`-

PyAPI_FUNC(_PyInitError) _PySys_BeginInit(PyObject **sysmod);

`

115

``

`-

PyAPI_FUNC(int) _PySys_EndInit(PyObject *sysdict, PyInterpreterState *interp);

`

116

``

`-

PyAPI_FUNC(_PyInitError) _PyImport_Init(PyInterpreterState *interp);

`

117

``

`-

PyAPI_FUNC(void) _PyExc_Init(PyObject * bltinmod);

`

118

``

`-

PyAPI_FUNC(_PyInitError) _PyImportHooks_Init(void);

`

119

``

`-

PyAPI_FUNC(int) _PyFloat_Init(void);

`

120

``

`-

PyAPI_FUNC(int) PyByteArray_Init(void);

`

121

``

`-

PyAPI_FUNC(_PyInitError) _Py_HashRandomization_Init(const _PyCoreConfig *);

`

122

``

`-

#endif

`

123

``

-

124

``

`-

/* Various internal finalizers */

`

125

``

-

126

``

`-

#ifndef Py_LIMITED_API

`

127

``

`-

PyAPI_FUNC(void) PyMethod_Fini(void);

`

128

``

`-

PyAPI_FUNC(void) PyFrame_Fini(void);

`

129

``

`-

PyAPI_FUNC(void) PyCFunction_Fini(void);

`

130

``

`-

PyAPI_FUNC(void) PyDict_Fini(void);

`

131

``

`-

PyAPI_FUNC(void) PyTuple_Fini(void);

`

132

``

`-

PyAPI_FUNC(void) PyList_Fini(void);

`

133

``

`-

PyAPI_FUNC(void) PySet_Fini(void);

`

134

``

`-

PyAPI_FUNC(void) PyBytes_Fini(void);

`

135

``

`-

PyAPI_FUNC(void) PyByteArray_Fini(void);

`

136

``

`-

PyAPI_FUNC(void) PyFloat_Fini(void);

`

137

``

`-

PyAPI_FUNC(void) PyOS_FiniInterrupts(void);

`

138

``

`-

PyAPI_FUNC(void) PySlice_Fini(void);

`

139

``

`-

PyAPI_FUNC(void) PyAsyncGen_Fini(void);

`

140

``

-

141

``

`-

PyAPI_FUNC(int) _Py_IsFinalizing(void);

`

142

``

`-

#endif /* !Py_LIMITED_API */

`

143

56

``

144

57

`/* Signals */

`

145

58

`typedef void (*PyOS_sighandler_t)(int);

`

146

59

`PyAPI_FUNC(PyOS_sighandler_t) PyOS_getsig(int);

`

147

60

`PyAPI_FUNC(PyOS_sighandler_t) PyOS_setsig(int, PyOS_sighandler_t);

`

148

61

``

149

62

`#ifndef Py_LIMITED_API

`

150

``

`-

/* Random */

`

151

``

`-

PyAPI_FUNC(int) _PyOS_URandom(void *buffer, Py_ssize_t size);

`

152

``

`-

PyAPI_FUNC(int) _PyOS_URandomNonblock(void *buffer, Py_ssize_t size);

`

153

``

`-

#endif /* !Py_LIMITED_API */

`

154

``

-

155

``

`-

/* Legacy locale support */

`

156

``

`-

#ifndef Py_LIMITED_API

`

157

``

`-

PyAPI_FUNC(void) _Py_CoerceLegacyLocale(int warn);

`

158

``

`-

PyAPI_FUNC(int) _Py_LegacyLocaleDetected(void);

`

159

``

`-

PyAPI_FUNC(char *) _Py_SetLocaleFromEnv(int category);

`

``

63

`+

define Py_CPYTHON_PYLIFECYCLE_H

`

``

64

`+

include "cpython/pylifecycle.h"

`

``

65

`+

undef Py_CPYTHON_PYLIFECYCLE_H

`

160

66

`#endif

`

161

67

``

162

68

`#ifdef __cplusplus

`