python3_sys/
pylifecycle.rs1#[cfg(Py_3_8)]
5#[cfg(not(Py_LIMITED_API))]
6use crate::initconfig::{PyConfig, PyPreConfig, PyStatus};
7#[cfg(Py_3_8)]
8#[cfg(not(Py_LIMITED_API))]
9use crate::pyport::Py_ssize_t;
10#[cfg(Py_3_8)]
11#[cfg(not(Py_LIMITED_API))]
12use libc::{c_char, c_int, c_void, wchar_t, FILE};
13
14#[cfg(Py_3_8)]
21#[cfg(not(Py_LIMITED_API))]
22#[cfg_attr(windows, link(name = "pythonXY"))]
23extern "C" {
24 #[cfg(Py_3_10)]
25 pub fn Py_FrozenMain(argc: c_int, argv: *mut *mut c_char) -> c_int;
26
27 pub fn Py_PreInitialize(src_config: *const PyPreConfig) -> PyStatus;
30 pub fn Py_PreInitializeFromBytesArgs(
31 src_config: *const PyPreConfig,
32 argc: Py_ssize_t,
33 argv: *mut *mut c_char,
34 ) -> PyStatus;
35 pub fn Py_PreInitializeFromArgs(
36 src_config: *const PyPreConfig,
37 argc: Py_ssize_t,
38 argv: *mut *mut wchar_t,
39 ) -> PyStatus;
40
41 pub fn _Py_IsCoreInitialized() -> c_int;
42
43 pub fn Py_InitializeFromConfig(config: *const PyConfig) -> PyStatus;
44 pub fn _Py_InitializeMain() -> PyStatus;
45 pub fn Py_RunMain() -> c_int;
46
47 pub fn Py_ExitStatusException(err: PyStatus) -> ();
48 #[cfg(not(Py_3_10))]
49 pub fn _Py_PyAtExit(
50 func: Option<extern "C" fn(obj: *mut crate::object::PyObject) -> ()>,
51 module: *mut crate::object::PyObject,
52 ) -> ();
53 pub fn _Py_RestoreSignals() -> ();
54 pub fn Py_FdIsInteractive(file: *mut FILE, filename: *const c_char) -> c_int;
55 pub fn _Py_SetProgramFullPath(path: *const wchar_t) -> ();
56 pub fn _Py_gitidentifier() -> *const c_char;
57 pub fn _Py_gitversion() -> *const c_char;
58 pub fn _Py_IsFinalizing() -> c_int;
59 pub fn _PyOS_URandom(buffer: *mut c_void, size: Py_ssize_t) -> c_int;
60 pub fn _PyOS_URandomNonblock(buffer: *mut c_void, size: Py_ssize_t) -> c_int;
61 pub fn _Py_CoerceLegacyLocale(warn: c_int) -> c_int;
62 pub fn _Py_LegacyLocaleDetected(warn: c_int) -> c_int;
63 pub fn _Py_SetLocaleFromEnv(category: c_int) -> *mut c_char;
64}