Skip to main content

vm_address_region_bindings/
vm_address_region_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-address-region-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}
19pub const VMAR_FLAG_COMPACT: u32 = 1;
20pub const VMAR_FLAG_SPECIFIC: u32 = 2;
21pub const VMAR_FLAG_SPECIFIC_OVERWRITE: u32 = 4;
22pub const VMAR_FLAG_CAN_MAP_SPECIFIC: u32 = 8;
23pub const VMAR_FLAG_CAN_MAP_READ: u32 = 16;
24pub const VMAR_FLAG_CAN_MAP_WRITE: u32 = 32;
25pub const VMAR_FLAG_CAN_MAP_EXECUTE: u32 = 64;
26pub const VMAR_FLAG_REQUIRE_NON_RESIZABLE: u32 = 128;
27pub const VMAR_FLAG_ALLOW_FAULTS: u32 = 256;
28pub const VMAR_FLAG_OFFSET_IS_UPPER_LIMIT: u32 = 512;
29pub const VMAR_FLAG_DEBUG_DYNAMIC_KERNEL_MAPPING: u32 = 1024;
30pub const VMAR_FLAG_FAULT_BEYOND_STREAM_SIZE: u32 = 2048;
31pub const VMAR_CAN_RWX_FLAGS: u32 = 112;
32#[repr(u8)]
33#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
34pub enum VmAddressRegionOpChildren {
35    Yes = 0,
36    No = 1,
37}
38#[repr(C)]
39#[repr(align(8))]
40#[derive(Debug, Copy, Clone)]
41pub struct VmAddressRegionOrMapping {
42    pub _bindgen_opaque_blob: __BindgenOpaqueArray8<[u8; 56usize]>,
43}
44#[repr(u8)]
45#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
46pub enum VmAddressRegionOrMapping_MemoryPriority {
47    DEFAULT = 0,
48    HIGH = 1,
49}
50pub const VmAddressRegionOrMapping_LifeCycleState_NOT_READY:
51    VmAddressRegionOrMapping_LifeCycleState = 0;
52pub const VmAddressRegionOrMapping_LifeCycleState_ALIVE: VmAddressRegionOrMapping_LifeCycleState =
53    1;
54pub const VmAddressRegionOrMapping_LifeCycleState_DEAD: VmAddressRegionOrMapping_LifeCycleState = 2;
55pub type VmAddressRegionOrMapping_LifeCycleState = u8;
56#[repr(C)]
57#[repr(align(8))]
58#[derive(Debug, Copy, Clone)]
59pub struct VmAddressRegion {
60    pub _bindgen_opaque_blob: __BindgenOpaqueArray8<[u8; 104usize]>,
61}
62#[repr(i32)]
63#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
64pub enum VmAddressRegion_RangeOpType {
65    Commit = 0,
66    Decommit = 1,
67    MapRange = 2,
68    Zero = 3,
69    DontNeed = 4,
70    AlwaysNeed = 5,
71    Prefetch = 6,
72}
73#[repr(C)]
74#[repr(align(8))]
75#[derive(Debug, Copy, Clone)]
76pub struct VmMapping {
77    pub _bindgen_opaque_blob: __BindgenOpaqueArray8<[u8; 96usize]>,
78}
79#[repr(u8)]
80#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
81pub enum VmMapping_UnmapOptions {
82    kNone = 0,
83    OnlyHasZeroPages = 1,
84    Harvest = 2,
85}
86#[repr(u8)]
87#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
88pub enum VmMapping_Mergeable {
89    YES = 1,
90    NO = 0,
91}
92#[repr(u8)]
93#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
94pub enum VmMapping_DestroyUnmap {
95    No = 0,
96    Yes = 1,
97}
98#[repr(u8)]
99#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
100pub enum VmMapping_DestroyRemoveFromParent {
101    No = 0,
102    Yes = 1,
103}
104#[repr(u8)]
105#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
106pub enum VmMapping_ActivateInsertRegions {
107    No = 0,
108    Yes = 1,
109}