compressor_bindings/
compressor_bindings.rs1#![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}