1#![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 const _SENTINEL_SLOT_VALUE: u32 = 255;
19pub type zx_status_t = i32;
20pub type reqid_t = u32;
21pub type groupid_t = u16;
22pub type vmoid_t = u16;
23#[repr(C)]
24#[derive(Debug, Default, Copy, Clone, FromBytes, Immutable, IntoBytes, KnownLayout)]
25pub struct BlockFifoCommand {
26 pub opcode: u8,
27 pub padding_to_satisfy_zerocopy: [u8; 3usize],
28 pub flags: u32,
29}
30#[allow(clippy::unnecessary_operation, clippy::identity_op)]
31const _: () = {
32 ["Size of BlockFifoCommand"][::std::mem::size_of::<BlockFifoCommand>() - 8usize];
33 ["Alignment of BlockFifoCommand"][::std::mem::align_of::<BlockFifoCommand>() - 4usize];
34 ["Offset of field: BlockFifoCommand::opcode"]
35 [::std::mem::offset_of!(BlockFifoCommand, opcode) - 0usize];
36 ["Offset of field: BlockFifoCommand::padding_to_satisfy_zerocopy"]
37 [::std::mem::offset_of!(BlockFifoCommand, padding_to_satisfy_zerocopy) - 1usize];
38 ["Offset of field: BlockFifoCommand::flags"]
39 [::std::mem::offset_of!(BlockFifoCommand, flags) - 4usize];
40};
41pub type block_fifo_command_t = BlockFifoCommand;
42#[repr(C)]
43#[derive(Debug, Default, Copy, Clone, FromBytes, Immutable, IntoBytes, KnownLayout)]
44pub struct BlockFifoRequest {
45 pub command: block_fifo_command_t,
46 pub reqid: reqid_t,
47 pub group: groupid_t,
48 pub vmoid: vmoid_t,
49 pub length: u32,
50 pub total_compressed_bytes: u32,
51 pub vmo_offset: u64,
52 pub dev_offset: u64,
53 pub trace_flow_id: u64,
54 pub dun: u32,
55 pub slot: u8,
56 pub padding: u8,
57 pub compressed_prefix_bytes: u16,
58 pub uncompressed_bytes: u32,
59 pub padding2: u32,
60}
61#[allow(clippy::unnecessary_operation, clippy::identity_op)]
62const _: () = {
63 ["Size of BlockFifoRequest"][::std::mem::size_of::<BlockFifoRequest>() - 64usize];
64 ["Alignment of BlockFifoRequest"][::std::mem::align_of::<BlockFifoRequest>() - 8usize];
65 ["Offset of field: BlockFifoRequest::command"]
66 [::std::mem::offset_of!(BlockFifoRequest, command) - 0usize];
67 ["Offset of field: BlockFifoRequest::reqid"]
68 [::std::mem::offset_of!(BlockFifoRequest, reqid) - 8usize];
69 ["Offset of field: BlockFifoRequest::group"]
70 [::std::mem::offset_of!(BlockFifoRequest, group) - 12usize];
71 ["Offset of field: BlockFifoRequest::vmoid"]
72 [::std::mem::offset_of!(BlockFifoRequest, vmoid) - 14usize];
73 ["Offset of field: BlockFifoRequest::length"]
74 [::std::mem::offset_of!(BlockFifoRequest, length) - 16usize];
75 ["Offset of field: BlockFifoRequest::total_compressed_bytes"]
76 [::std::mem::offset_of!(BlockFifoRequest, total_compressed_bytes) - 20usize];
77 ["Offset of field: BlockFifoRequest::vmo_offset"]
78 [::std::mem::offset_of!(BlockFifoRequest, vmo_offset) - 24usize];
79 ["Offset of field: BlockFifoRequest::dev_offset"]
80 [::std::mem::offset_of!(BlockFifoRequest, dev_offset) - 32usize];
81 ["Offset of field: BlockFifoRequest::trace_flow_id"]
82 [::std::mem::offset_of!(BlockFifoRequest, trace_flow_id) - 40usize];
83 ["Offset of field: BlockFifoRequest::dun"]
84 [::std::mem::offset_of!(BlockFifoRequest, dun) - 48usize];
85 ["Offset of field: BlockFifoRequest::slot"]
86 [::std::mem::offset_of!(BlockFifoRequest, slot) - 52usize];
87 ["Offset of field: BlockFifoRequest::padding"]
88 [::std::mem::offset_of!(BlockFifoRequest, padding) - 53usize];
89 ["Offset of field: BlockFifoRequest::compressed_prefix_bytes"]
90 [::std::mem::offset_of!(BlockFifoRequest, compressed_prefix_bytes) - 54usize];
91 ["Offset of field: BlockFifoRequest::uncompressed_bytes"]
92 [::std::mem::offset_of!(BlockFifoRequest, uncompressed_bytes) - 56usize];
93 ["Offset of field: BlockFifoRequest::padding2"]
94 [::std::mem::offset_of!(BlockFifoRequest, padding2) - 60usize];
95};
96#[repr(C)]
97#[derive(Debug, Default, Copy, Clone, FromBytes, Immutable, IntoBytes, KnownLayout)]
98pub struct BlockFifoResponse {
99 pub status: zx_status_t,
100 pub reqid: reqid_t,
101 pub group: groupid_t,
102 pub padding_to_satisfy_zerocopy: u16,
103 pub count: u32,
104 pub padding_to_match_request_size_and_alignment: [u64; 6usize],
105}
106#[allow(clippy::unnecessary_operation, clippy::identity_op)]
107const _: () = {
108 ["Size of BlockFifoResponse"][::std::mem::size_of::<BlockFifoResponse>() - 64usize];
109 ["Alignment of BlockFifoResponse"][::std::mem::align_of::<BlockFifoResponse>() - 8usize];
110 ["Offset of field: BlockFifoResponse::status"]
111 [::std::mem::offset_of!(BlockFifoResponse, status) - 0usize];
112 ["Offset of field: BlockFifoResponse::reqid"]
113 [::std::mem::offset_of!(BlockFifoResponse, reqid) - 4usize];
114 ["Offset of field: BlockFifoResponse::group"]
115 [::std::mem::offset_of!(BlockFifoResponse, group) - 8usize];
116 ["Offset of field: BlockFifoResponse::padding_to_satisfy_zerocopy"]
117 [::std::mem::offset_of!(BlockFifoResponse, padding_to_satisfy_zerocopy) - 10usize];
118 ["Offset of field: BlockFifoResponse::count"]
119 [::std::mem::offset_of!(BlockFifoResponse, count) - 12usize];
120 ["Offset of field: BlockFifoResponse::padding_to_match_request_size_and_alignment"][::std::mem::offset_of!(
121 BlockFifoResponse,
122 padding_to_match_request_size_and_alignment
123 )
124 - 16usize];
125};