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