mirror of
https://github.com/python/cpython.git
synced 2025-09-20 07:31:10 +00:00

* Add a whole new documentation page: "Python Initialization Configuration" * PyWideStringList_Append() return type is now PyStatus, instead of int * PyInterpreterState_New() now calls PyConfig_Clear() if PyConfig_InitPythonConfig() fails. * Rename files: * Python/coreconfig.c => Python/initconfig.c * Include/cpython/coreconfig.h => Include/cpython/initconfig.h * Include/internal/: pycore_coreconfig.h => pycore_initconfig.h * Rename structures * _PyCoreConfig => PyConfig * _PyPreConfig => PyPreConfig * _PyInitError => PyStatus * _PyWstrList => PyWideStringList * Rename PyConfig fields: * use_module_search_paths => module_search_paths_set * module_search_path_env => pythonpath_env * Rename PyStatus field: _func => func * PyInterpreterState: rename core_config field to config * Rename macros and functions: * _PyCoreConfig_SetArgv() => PyConfig_SetBytesArgv() * _PyCoreConfig_SetWideArgv() => PyConfig_SetArgv() * _PyCoreConfig_DecodeLocale() => PyConfig_SetBytesString() * _PyInitError_Failed() => PyStatus_Exception() * _Py_INIT_ERROR_TYPE_xxx enums => _PyStatus_TYPE_xxx * _Py_UnixMain() => Py_BytesMain() * _Py_ExitInitError() => Py_ExitStatusException() * _Py_PreInitializeFromArgs() => Py_PreInitializeFromBytesArgs() * _Py_PreInitializeFromWideArgs() => Py_PreInitializeFromArgs() * _Py_PreInitialize() => Py_PreInitialize() * _Py_RunMain() => Py_RunMain() * _Py_InitializeFromConfig() => Py_InitializeFromConfig() * _Py_INIT_XXX() => _PyStatus_XXX() * _Py_INIT_FAILED() => _PyStatus_EXCEPTION() * Rename 'err' PyStatus variables to 'status' * Convert RUN_CODE() macro to config_run_code() static inline function * Remove functions: * _Py_InitializeFromArgs() * _Py_InitializeFromWideArgs() * _PyInterpreterState_GetCoreConfig()
78 lines
2.2 KiB
C
78 lines
2.2 KiB
C
#ifndef Py_CPYTHON_PYLIFECYCLE_H
|
|
# error "this header file must not be included directly"
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Only used by applications that embed the interpreter and need to
|
|
* override the standard encoding determination mechanism
|
|
*/
|
|
PyAPI_FUNC(int) Py_SetStandardStreamEncoding(const char *encoding,
|
|
const char *errors);
|
|
|
|
/* PEP 432 Multi-phase initialization API (Private while provisional!) */
|
|
|
|
PyAPI_FUNC(PyStatus) Py_PreInitialize(
|
|
const PyPreConfig *src_config);
|
|
PyAPI_FUNC(PyStatus) Py_PreInitializeFromBytesArgs(
|
|
const PyPreConfig *src_config,
|
|
Py_ssize_t argc,
|
|
char **argv);
|
|
PyAPI_FUNC(PyStatus) Py_PreInitializeFromArgs(
|
|
const PyPreConfig *src_config,
|
|
Py_ssize_t argc,
|
|
wchar_t **argv);
|
|
|
|
PyAPI_FUNC(int) _Py_IsCoreInitialized(void);
|
|
|
|
|
|
/* Initialization and finalization */
|
|
|
|
PyAPI_FUNC(PyStatus) Py_InitializeFromConfig(
|
|
const PyConfig *config);
|
|
PyAPI_FUNC(PyStatus) _Py_InitializeFromArgs(
|
|
const PyConfig *config,
|
|
Py_ssize_t argc,
|
|
char * const *argv);
|
|
PyAPI_FUNC(PyStatus) _Py_InitializeFromWideArgs(
|
|
const PyConfig *config,
|
|
Py_ssize_t argc,
|
|
wchar_t * const *argv);
|
|
PyAPI_FUNC(PyStatus) _Py_InitializeMain(void);
|
|
|
|
PyAPI_FUNC(int) Py_RunMain(void);
|
|
|
|
|
|
PyAPI_FUNC(void) _Py_NO_RETURN Py_ExitStatusException(PyStatus err);
|
|
|
|
/* Py_PyAtExit is for the atexit module, Py_AtExit is for low-level
|
|
* exit functions.
|
|
*/
|
|
PyAPI_FUNC(void) _Py_PyAtExit(void (*func)(PyObject *), PyObject *);
|
|
|
|
/* Restore signals that the interpreter has called SIG_IGN on to SIG_DFL. */
|
|
PyAPI_FUNC(void) _Py_RestoreSignals(void);
|
|
|
|
PyAPI_FUNC(int) Py_FdIsInteractive(FILE *, const char *);
|
|
|
|
PyAPI_FUNC(void) _Py_SetProgramFullPath(const wchar_t *);
|
|
|
|
PyAPI_FUNC(const char *) _Py_gitidentifier(void);
|
|
PyAPI_FUNC(const char *) _Py_gitversion(void);
|
|
|
|
PyAPI_FUNC(int) _Py_IsFinalizing(void);
|
|
|
|
/* Random */
|
|
PyAPI_FUNC(int) _PyOS_URandom(void *buffer, Py_ssize_t size);
|
|
PyAPI_FUNC(int) _PyOS_URandomNonblock(void *buffer, Py_ssize_t size);
|
|
|
|
/* Legacy locale support */
|
|
PyAPI_FUNC(int) _Py_CoerceLegacyLocale(int warn);
|
|
PyAPI_FUNC(int) _Py_LegacyLocaleDetected(int warn);
|
|
PyAPI_FUNC(char *) _Py_SetLocaleFromEnv(int category);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|