1use crate::object::PyObject;
2use std::ffi::{c_char, c_int};
3
4extern_libpython! {
5 pub fn PyCodec_Register(search_function: *mut PyObject) -> c_int;
6 #[cfg(Py_3_10)]
7 pub fn PyCodec_Unregister(search_function: *mut PyObject) -> c_int;
8 pub fn PyCodec_KnownEncoding(encoding: *const c_char) -> c_int;
11 pub fn PyCodec_Encode(
12 object: *mut PyObject,
13 encoding: *const c_char,
14 errors: *const c_char,
15 ) -> *mut PyObject;
16 pub fn PyCodec_Decode(
17 object: *mut PyObject,
18 encoding: *const c_char,
19 errors: *const c_char,
20 ) -> *mut PyObject;
21 pub fn PyCodec_Encoder(encoding: *const c_char) -> *mut PyObject;
27 pub fn PyCodec_Decoder(encoding: *const c_char) -> *mut PyObject;
28 pub fn PyCodec_IncrementalEncoder(
29 encoding: *const c_char,
30 errors: *const c_char,
31 ) -> *mut PyObject;
32 pub fn PyCodec_IncrementalDecoder(
33 encoding: *const c_char,
34 errors: *const c_char,
35 ) -> *mut PyObject;
36 pub fn PyCodec_StreamReader(
37 encoding: *const c_char,
38 stream: *mut PyObject,
39 errors: *const c_char,
40 ) -> *mut PyObject;
41 pub fn PyCodec_StreamWriter(
42 encoding: *const c_char,
43 stream: *mut PyObject,
44 errors: *const c_char,
45 ) -> *mut PyObject;
46 pub fn PyCodec_RegisterError(name: *const c_char, error: *mut PyObject) -> c_int;
47 pub fn PyCodec_LookupError(name: *const c_char) -> *mut PyObject;
48 pub fn PyCodec_StrictErrors(exc: *mut PyObject) -> *mut PyObject;
49 pub fn PyCodec_IgnoreErrors(exc: *mut PyObject) -> *mut PyObject;
50 pub fn PyCodec_ReplaceErrors(exc: *mut PyObject) -> *mut PyObject;
51 pub fn PyCodec_XMLCharRefReplaceErrors(exc: *mut PyObject) -> *mut PyObject;
52 pub fn PyCodec_BackslashReplaceErrors(exc: *mut PyObject) -> *mut PyObject;
53 }