python3_sys/
memoryobject.rs1use libc::{c_char, c_int};
2
3use crate::object::*;
4use crate::pyport::Py_ssize_t;
5use crate::pybuffer::Py_buffer;
6
7#[cfg_attr(windows, link(name = "pythonXY"))]
8extern "C" {
9 pub static mut PyMemoryView_Type: PyTypeObject;
10}
11
12#[inline(always)]
13pub unsafe fn PyMemoryView_Check(op: *mut PyObject) -> c_int {
14 (Py_TYPE(op) == &mut PyMemoryView_Type) as c_int
15}
16
17#[cfg_attr(windows, link(name = "pythonXY"))]
18extern "C" {
19 pub fn PyMemoryView_FromObject(base: *mut PyObject) -> *mut PyObject;
20 pub fn PyMemoryView_FromMemory(
21 mem: *mut c_char,
22 size: Py_ssize_t,
23 flags: c_int,
24 ) -> *mut PyObject;
25 #[cfg(any(Py_3_11, not(Py_LIMITED_API)))]
26 pub fn PyMemoryView_FromBuffer(info: *mut Py_buffer) -> *mut PyObject;
27 pub fn PyMemoryView_GetContiguous(
28 base: *mut PyObject,
29 buffertype: c_int,
30 order: c_char,
31 ) -> *mut PyObject;
32}