vm_object_paged_bindings/
vm_object_paged_bindings.rs1#![expect(non_camel_case_types)]
8#![expect(non_upper_case_globals)]
9#![no_std]
10use vm_cow_pages_bindings::VmCowPages;
11use vm_object_bindings::VmObject;
12use zx_types::zx_status_t;
13
14#[derive(PartialEq, Eq, Copy, Clone, Debug, Hash)]
15#[repr(C, align(8))]
16pub struct __BindgenOpaqueArray8<T>(pub T);
17impl<T: Copy + Default, const N: usize> Default for __BindgenOpaqueArray8<[T; N]> {
18 fn default() -> Self {
19 Self([<T as Default>::default(); N])
20 }
21}
22#[repr(C)]
23#[repr(align(8))]
24#[derive(Debug, Copy, Clone)]
25pub struct VmObjectPaged {
26 pub _bindgen_opaque_blob: __BindgenOpaqueArray8<[u8; 200usize]>,
27}
28pub type VmObjectPaged_ReferenceListNodeState = __BindgenOpaqueArray8<[u8; 16usize]>;
29#[repr(C)]
30#[derive(Debug, Copy, Clone)]
31pub struct VmObjectPaged_ReferenceListTraits {
32 pub __bindgen_padding_0: u8,
33 pub _address: u8,
34}
35pub type VmObjectPaged_ReferenceList = __BindgenOpaqueArray8<[u8; 8usize]>;
36pub const VmObjectPaged_kAlwaysPinned: u32 = 32;
37unsafe extern "C" {
38 pub fn cpp_vm_object_paged_create(
39 pmm_alloc_flags: u32,
40 options: u32,
41 size: u64,
42 out_status: *mut zx_status_t,
43 ) -> *mut VmObjectPaged;
44}
45unsafe extern "C" {
46 pub fn cpp_vm_object_paged_create_contiguous(
47 pmm_alloc_flags: u32,
48 size: u64,
49 alignment_log2: u8,
50 out_status: *mut zx_status_t,
51 ) -> *mut VmObjectPaged;
52}
53unsafe extern "C" {
54 pub fn cpp_vm_object_paged_as_vm_object(vmo: *mut VmObjectPaged) -> *mut VmObject;
55}
56unsafe extern "C" {
57 pub fn cpp_vm_object_paged_debug_get_cow_pages(vmo: *mut VmObjectPaged) -> *mut VmCowPages;
58}
59unsafe extern "C" {
60 pub fn cpp_vm_object_paged_debug_get_page(
61 vmo: *mut VmObjectPaged,
62 offset: u64,
63 ) -> *mut ::core::ffi::c_void;
64}