Skip to main content

vm_page_list_bindings/
vm_page_list_bindings.rs

1// Copyright 2026 The Fuchsia Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// This file is automatically generated by //zircon/kernel/vm:_kernel_bindgen_crate.vm-page-list-bindings.bindgen.
6
7#![expect(non_camel_case_types)]
8#![expect(non_upper_case_globals)]
9#![no_std]
10
11#[derive(PartialEq, Eq, Copy, Clone, Debug, Hash)]
12#[repr(C, align(8))]
13pub struct __BindgenOpaqueArray8<T>(pub T);
14impl<T: Copy + Default, const N: usize> Default for __BindgenOpaqueArray8<[T; N]> {
15    fn default() -> Self {
16        Self([<T as Default>::default(); N])
17    }
18}
19#[repr(C)]
20#[repr(align(8))]
21#[derive(Debug, Copy, Clone)]
22pub struct VmPageSpliceList {
23    pub _bindgen_opaque_blob: __BindgenOpaqueArray8<[u8; 32usize]>,
24}
25pub const VmPageSpliceList_State_Constructed: VmPageSpliceList_State = 0;
26pub const VmPageSpliceList_State_Initialized: VmPageSpliceList_State = 1;
27pub const VmPageSpliceList_State_Finalized: VmPageSpliceList_State = 2;
28pub const VmPageSpliceList_State_Processed: VmPageSpliceList_State = 3;
29pub type VmPageSpliceList_State = u8;
30pub type VmPageListBtree = __BindgenOpaqueArray8<[u8; 8usize]>;
31#[repr(C)]
32#[derive(Debug, Copy, Clone)]
33pub struct VmPageListBtreeNodeEntry {
34    pub offset: u64,
35    pub node: *mut ::core::ffi::c_void,
36}
37#[repr(C)]
38#[derive(Debug, Copy, Clone)]
39pub struct VmPageListBtreeConstNodeEntry {
40    pub offset: u64,
41    pub node: *const ::core::ffi::c_void,
42}
43#[repr(C)]
44#[repr(align(8))]
45#[derive(Debug, Copy, Clone)]
46pub struct VmPageListBtreeCursor {
47    pub _bindgen_opaque_blob: __BindgenOpaqueArray8<[u8; 16usize]>,
48}
49#[repr(C)]
50#[repr(align(8))]
51#[derive(Debug, Copy, Clone)]
52pub struct VmPageListBtreeConstCursor {
53    pub _bindgen_opaque_blob: __BindgenOpaqueArray8<[u8; 16usize]>,
54}
55unsafe extern "C" {
56    pub fn cpp_vm_page_splice_list_construct(list: *mut VmPageSpliceList);
57}
58unsafe extern "C" {
59    pub fn cpp_vm_page_splice_list_destroy(list: *mut VmPageSpliceList);
60}
61unsafe extern "C" {
62    pub fn cpp_vm_page_splice_list_is_processed(list: *const VmPageSpliceList) -> bool;
63}
64unsafe extern "C" {
65    pub fn cpp_vm_page_list_btree_init(tree: *mut u8);
66}
67unsafe extern "C" {
68    pub fn cpp_vm_page_list_btree_destroy(tree: *mut VmPageListBtree);
69}
70unsafe extern "C" {
71    pub fn cpp_vm_page_list_btree_is_empty(tree: *const VmPageListBtree) -> bool;
72}
73unsafe extern "C" {
74    pub fn cpp_vm_page_list_btree_clear(tree: *mut VmPageListBtree);
75}
76unsafe extern "C" {
77    pub fn cpp_vm_page_list_btree_find(
78        tree: *mut VmPageListBtree,
79        node_offset: u64,
80        out_cursor: *mut VmPageListBtreeCursor,
81    ) -> *mut ::core::ffi::c_void;
82}
83unsafe extern "C" {
84    pub fn cpp_vm_page_list_btree_find_const(
85        tree: *const VmPageListBtree,
86        node_offset: u64,
87    ) -> *const ::core::ffi::c_void;
88}
89unsafe extern "C" {
90    pub fn cpp_vm_page_list_btree_lower_bound(
91        tree: *mut VmPageListBtree,
92        node_offset: u64,
93        out_cursor: *mut VmPageListBtreeCursor,
94    ) -> VmPageListBtreeNodeEntry;
95}
96unsafe extern "C" {
97    pub fn cpp_vm_page_list_btree_cursor_get(
98        cursor: *const VmPageListBtreeCursor,
99    ) -> VmPageListBtreeNodeEntry;
100}
101unsafe extern "C" {
102    pub fn cpp_vm_page_list_btree_insert(
103        tree: *mut VmPageListBtree,
104        node_offset: u64,
105        cursor: *mut VmPageListBtreeCursor,
106    ) -> *mut ::core::ffi::c_void;
107}
108unsafe extern "C" {
109    pub fn cpp_vm_page_list_btree_erase_at(
110        tree: *mut VmPageListBtree,
111        cursor: *mut VmPageListBtreeCursor,
112    );
113}
114unsafe extern "C" {
115    pub fn cpp_vm_page_list_btree_cursor_default_init(cursor: *mut VmPageListBtreeCursor);
116}
117unsafe extern "C" {
118    pub fn cpp_vm_page_list_btree_cursor_init(
119        cursor: *mut VmPageListBtreeCursor,
120        tree: *mut VmPageListBtree,
121    );
122}
123unsafe extern "C" {
124    pub fn cpp_vm_page_list_btree_cursor_next(
125        cursor: *mut VmPageListBtreeCursor,
126    ) -> VmPageListBtreeNodeEntry;
127}
128unsafe extern "C" {
129    pub fn cpp_vm_page_list_btree_cursor_prev(
130        cursor: *mut VmPageListBtreeCursor,
131    ) -> VmPageListBtreeNodeEntry;
132}
133unsafe extern "C" {
134    pub fn cpp_vm_page_list_btree_const_cursor_init(
135        cursor: *mut VmPageListBtreeConstCursor,
136        tree: *const VmPageListBtree,
137    );
138}
139unsafe extern "C" {
140    pub fn cpp_vm_page_list_btree_const_cursor_next(
141        cursor: *mut VmPageListBtreeConstCursor,
142    ) -> VmPageListBtreeConstNodeEntry;
143}