Skip to main content

compressor_bindings/
compressor_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.compressor-bindings.bindgen.
6
7#![expect(non_camel_case_types)]
8#![no_std]
9use page_bindings::vm_page_t;
10pub type VmCompression = core::ffi::c_void;
11
12#[derive(PartialEq, Eq, Copy, Clone, Debug, Hash)]
13#[repr(C, align(8))]
14pub struct __BindgenOpaqueArray8<T>(pub T);
15impl<T: Copy + Default, const N: usize> Default for __BindgenOpaqueArray8<[T; N]> {
16    fn default() -> Self {
17        Self([<T as Default>::default(); N])
18    }
19}
20#[repr(C)]
21#[derive(Debug)]
22pub struct VmCompressor {
23    pub storage_: __BindgenOpaqueArray8<[u8; 64usize]>,
24}
25#[repr(C)]
26#[derive(Debug, Copy, Clone)]
27pub struct VmCompressor_PageAndMetadata {
28    pub page: *mut vm_page_t,
29    pub metadata: u32,
30    pub __bindgen_padding_0: [u8; 4usize],
31}
32#[repr(C)]
33#[derive(Debug, Copy, Clone)]
34pub struct VmCompressor_FailTag {
35    pub src_page: VmCompressor_PageAndMetadata,
36}
37#[repr(u8)]
38#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
39pub enum VmCompressor_State {
40    Ready = 0,
41    Started = 1,
42    Compressed = 2,
43    Finalized = 3,
44}
45#[repr(C)]
46#[derive(Debug, Copy, Clone)]
47pub struct VmCompressor_StateLayout {
48    pub compressor: *mut VmCompression,
49    pub temp_reference: u32,
50    pub state: VmCompressor_State,
51    pub using_temp_reference: bool,
52    pub __bindgen_padding_0: [u8; 2usize],
53    pub page: *mut vm_page_t,
54    pub spare_page: *mut vm_page_t,
55    pub compression_result: __BindgenOpaqueArray8<[u8; 24usize]>,
56    pub temp_reference_metadata: u32,
57    pub __bindgen_padding_1: [u8; 4usize],
58}