Skip to main content

attribution_bindings/
attribution_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.attribution-bindings.bindgen.
6
7#![expect(non_camel_case_types)]
8#![no_std]
9
10#[derive(PartialEq, Eq, Copy, Clone, Debug, Hash)]
11#[repr(C, align(8))]
12pub struct __BindgenOpaqueArray8<T>(pub T);
13impl<T: Copy + Default, const N: usize> Default for __BindgenOpaqueArray8<[T; N]> {
14    fn default() -> Self {
15        Self([<T as Default>::default(); N])
16    }
17}
18#[repr(C)]
19#[repr(align(8))]
20#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21pub struct vm_FractionalBytes {
22    pub _bindgen_opaque_blob: __BindgenOpaqueArray8<[u8; 16usize]>,
23}
24pub type vm_FractionalBytes_Fraction = __BindgenOpaqueArray8<[u8; 8usize]>;
25#[repr(C)]
26#[derive(Debug, Copy, Clone, PartialEq, Eq)]
27pub struct vm_AttributionCounts {
28    pub uncompressed_bytes: usize,
29    pub compressed_bytes: usize,
30    pub private_uncompressed_bytes: usize,
31    pub private_compressed_bytes: usize,
32    pub scaled_uncompressed_bytes: vm_FractionalBytes,
33    pub scaled_compressed_bytes: vm_FractionalBytes,
34}
35unsafe extern "C" {
36    pub fn cpp_attribution_counts_zero(out_counts: *mut vm_AttributionCounts);
37}
38unsafe extern "C" {
39    pub fn cpp_fractional_bytes_from_whole(whole_bytes: u64, out: *mut vm_FractionalBytes);
40}
41unsafe extern "C" {
42    pub fn cpp_fractional_bytes_from_fraction(
43        numerator: u64,
44        denominator: u64,
45        out: *mut vm_FractionalBytes,
46    );
47}
48unsafe extern "C" {
49    pub fn cpp_fractional_bytes_add(
50        a: *const vm_FractionalBytes,
51        b: *const vm_FractionalBytes,
52        out: *mut vm_FractionalBytes,
53    );
54}