1use crate::object::PyObject;
2use libc::wchar_t;
3use std::os::raw::{c_char, c_int};
4
5extern "C" {
6 #[cfg_attr(PyPy, link_name = "PyPySys_GetObject")]
7 pub fn PySys_GetObject(arg1: *const c_char) -> *mut PyObject;
8 #[cfg_attr(PyPy, link_name = "PyPySys_SetObject")]
9 pub fn PySys_SetObject(arg1: *const c_char, arg2: *mut PyObject) -> c_int;
10
11 pub fn PySys_SetArgv(arg1: c_int, arg2: *mut *mut wchar_t);
12 pub fn PySys_SetArgvEx(arg1: c_int, arg2: *mut *mut wchar_t, arg3: c_int);
13 pub fn PySys_SetPath(arg1: *const wchar_t);
14
15 #[cfg_attr(PyPy, link_name = "PyPySys_WriteStdout")]
16 pub fn PySys_WriteStdout(format: *const c_char, ...);
17 #[cfg_attr(PyPy, link_name = "PyPySys_WriteStderr")]
18 pub fn PySys_WriteStderr(format: *const c_char, ...);
19 pub fn PySys_FormatStdout(format: *const c_char, ...);
20 pub fn PySys_FormatStderr(format: *const c_char, ...);
21
22 pub fn PySys_ResetWarnOptions();
23 #[cfg_attr(Py_3_11, deprecated(note = "Python 3.11"))]
24 pub fn PySys_AddWarnOption(arg1: *const wchar_t);
25 #[cfg_attr(Py_3_11, deprecated(note = "Python 3.11"))]
26 pub fn PySys_AddWarnOptionUnicode(arg1: *mut PyObject);
27 #[cfg_attr(Py_3_11, deprecated(note = "Python 3.11"))]
28 pub fn PySys_HasWarnOptions() -> c_int;
29
30 pub fn PySys_AddXOption(arg1: *const wchar_t);
31 pub fn PySys_GetXOptions() -> *mut PyObject;
32}
33