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