Skip to main content

page_bindings/
page_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.page-bindings.bindgen.
6
7#![expect(non_camel_case_types)]
8#![no_std]
9pub use zx_types::zx_paddr_t as paddr_t;
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}
19pub const VM_PAGE_OBJECT_PIN_COUNT_BITS: u32 = 5;
20pub const VM_PAGE_OBJECT_MAX_PIN_COUNT: u32 = 31;
21pub const VM_PAGE_OBJECT_DIRTY_STATE_BITS: u32 = 2;
22pub const VM_PAGE_OBJECT_MAX_DIRTY_STATES: u32 = 4;
23pub const VM_PAGE_OBJECT_DIRTY_STATES_MASK: u32 = 3;
24#[repr(u8)]
25#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq, Ord, PartialOrd)]
26pub enum vm_page_state {
27    FREE = 0,
28    ALLOC = 1,
29    OBJECT = 2,
30    WIRED = 3,
31    HEAP = 4,
32    MMU = 5,
33    IOMMU = 6,
34    IPC = 7,
35    CACHE = 8,
36    SLAB = 9,
37    ZRAM = 10,
38    FREE_LOANED = 11,
39    COUNT_ = 12,
40}
41pub type vm_page_t = __BindgenOpaqueArray8<[u8; 48usize]>;