Skip to main content

block_protocol/
fifo.rs

1/* automatically generated by rust-bindgen 0.72.0 */
2
3// Copyright 2023 The Fuchsia Authors. All rights reserved.
4// Use of this source code is governed by a BSD-style license that can be
5// found in the LICENSE file.
6
7// Generated by src/storage/lib/block_protocol/scripts/bindgen.sh
8// Run the above script whenever src/storage/lib/block_protocol/types.h
9// has changed.
10
11#![allow(dead_code)]
12#![allow(non_camel_case_types)]
13#![allow(non_snake_case)]
14#![allow(non_upper_case_globals)]
15
16use zerocopy::{FromBytes, Immutable, IntoBytes, KnownLayout};
17
18pub type zx_status_t = i32;
19pub type reqid_t = u32;
20pub type groupid_t = u16;
21pub type vmoid_t = u16;
22#[repr(C)]
23#[derive(Debug, Default, Copy, Clone, FromBytes, Immutable, IntoBytes, KnownLayout)]
24pub struct BlockFifoCommand {
25    pub opcode: u8,
26    pub padding_to_satisfy_zerocopy: [u8; 3usize],
27    pub flags: u32,
28}
29#[allow(clippy::unnecessary_operation, clippy::identity_op)]
30const _: () = {
31    ["Size of BlockFifoCommand"][::std::mem::size_of::<BlockFifoCommand>() - 8usize];
32    ["Alignment of BlockFifoCommand"][::std::mem::align_of::<BlockFifoCommand>() - 4usize];
33    ["Offset of field: BlockFifoCommand::opcode"]
34        [::std::mem::offset_of!(BlockFifoCommand, opcode) - 0usize];
35    ["Offset of field: BlockFifoCommand::padding_to_satisfy_zerocopy"]
36        [::std::mem::offset_of!(BlockFifoCommand, padding_to_satisfy_zerocopy) - 1usize];
37    ["Offset of field: BlockFifoCommand::flags"]
38        [::std::mem::offset_of!(BlockFifoCommand, flags) - 4usize];
39};
40#[repr(C)]
41#[derive(Debug, Default, Copy, Clone, FromBytes, Immutable, IntoBytes, KnownLayout)]
42pub struct BlockFifoRequest {
43    pub command: BlockFifoCommand,
44    pub reqid: reqid_t,
45    pub group: groupid_t,
46    pub vmoid: vmoid_t,
47    pub length: u32,
48    pub total_compressed_bytes: u32,
49    pub vmo_offset: u64,
50    pub dev_offset: u64,
51    pub trace_flow_id: u64,
52    pub dun: u64,
53    pub slot: u8,
54    pub padding: u8,
55    pub compressed_prefix_bytes: u16,
56    pub uncompressed_bytes: u32,
57}
58#[allow(clippy::unnecessary_operation, clippy::identity_op)]
59const _: () = {
60    ["Size of BlockFifoRequest"][::std::mem::size_of::<BlockFifoRequest>() - 64usize];
61    ["Alignment of BlockFifoRequest"][::std::mem::align_of::<BlockFifoRequest>() - 8usize];
62    ["Offset of field: BlockFifoRequest::command"]
63        [::std::mem::offset_of!(BlockFifoRequest, command) - 0usize];
64    ["Offset of field: BlockFifoRequest::reqid"]
65        [::std::mem::offset_of!(BlockFifoRequest, reqid) - 8usize];
66    ["Offset of field: BlockFifoRequest::group"]
67        [::std::mem::offset_of!(BlockFifoRequest, group) - 12usize];
68    ["Offset of field: BlockFifoRequest::vmoid"]
69        [::std::mem::offset_of!(BlockFifoRequest, vmoid) - 14usize];
70    ["Offset of field: BlockFifoRequest::length"]
71        [::std::mem::offset_of!(BlockFifoRequest, length) - 16usize];
72    ["Offset of field: BlockFifoRequest::total_compressed_bytes"]
73        [::std::mem::offset_of!(BlockFifoRequest, total_compressed_bytes) - 20usize];
74    ["Offset of field: BlockFifoRequest::vmo_offset"]
75        [::std::mem::offset_of!(BlockFifoRequest, vmo_offset) - 24usize];
76    ["Offset of field: BlockFifoRequest::dev_offset"]
77        [::std::mem::offset_of!(BlockFifoRequest, dev_offset) - 32usize];
78    ["Offset of field: BlockFifoRequest::trace_flow_id"]
79        [::std::mem::offset_of!(BlockFifoRequest, trace_flow_id) - 40usize];
80    ["Offset of field: BlockFifoRequest::dun"]
81        [::std::mem::offset_of!(BlockFifoRequest, dun) - 48usize];
82    ["Offset of field: BlockFifoRequest::slot"]
83        [::std::mem::offset_of!(BlockFifoRequest, slot) - 56usize];
84    ["Offset of field: BlockFifoRequest::padding"]
85        [::std::mem::offset_of!(BlockFifoRequest, padding) - 57usize];
86    ["Offset of field: BlockFifoRequest::compressed_prefix_bytes"]
87        [::std::mem::offset_of!(BlockFifoRequest, compressed_prefix_bytes) - 58usize];
88    ["Offset of field: BlockFifoRequest::uncompressed_bytes"]
89        [::std::mem::offset_of!(BlockFifoRequest, uncompressed_bytes) - 60usize];
90};
91#[repr(C)]
92#[derive(Debug, Default, Copy, Clone, FromBytes, Immutable, IntoBytes, KnownLayout)]
93pub struct BlockFifoResponse {
94    pub status: zx_status_t,
95    pub reqid: reqid_t,
96    pub group: groupid_t,
97    pub padding_to_satisfy_zerocopy: u16,
98    pub count: u32,
99    pub padding_to_match_request_size_and_alignment: [u64; 6usize],
100}
101#[allow(clippy::unnecessary_operation, clippy::identity_op)]
102const _: () = {
103    ["Size of BlockFifoResponse"][::std::mem::size_of::<BlockFifoResponse>() - 64usize];
104    ["Alignment of BlockFifoResponse"][::std::mem::align_of::<BlockFifoResponse>() - 8usize];
105    ["Offset of field: BlockFifoResponse::status"]
106        [::std::mem::offset_of!(BlockFifoResponse, status) - 0usize];
107    ["Offset of field: BlockFifoResponse::reqid"]
108        [::std::mem::offset_of!(BlockFifoResponse, reqid) - 4usize];
109    ["Offset of field: BlockFifoResponse::group"]
110        [::std::mem::offset_of!(BlockFifoResponse, group) - 8usize];
111    ["Offset of field: BlockFifoResponse::padding_to_satisfy_zerocopy"]
112        [::std::mem::offset_of!(BlockFifoResponse, padding_to_satisfy_zerocopy) - 10usize];
113    ["Offset of field: BlockFifoResponse::count"]
114        [::std::mem::offset_of!(BlockFifoResponse, count) - 12usize];
115    ["Offset of field: BlockFifoResponse::padding_to_match_request_size_and_alignment"][::std::mem::offset_of!(
116        BlockFifoResponse,
117        padding_to_match_request_size_and_alignment
118    )
119        - 16usize];
120};