1*bb4ee6a4SAndroid Build Coastguard Worker /* automatically generated by tools/bindgen-all-the-things */ 2*bb4ee6a4SAndroid Build Coastguard Worker 3*bb4ee6a4SAndroid Build Coastguard Worker #![allow(clippy::missing_safety_doc)] 4*bb4ee6a4SAndroid Build Coastguard Worker #![allow(clippy::undocumented_unsafe_blocks)] 5*bb4ee6a4SAndroid Build Coastguard Worker #![allow(clippy::upper_case_acronyms)] 6*bb4ee6a4SAndroid Build Coastguard Worker #![allow(non_upper_case_globals)] 7*bb4ee6a4SAndroid Build Coastguard Worker #![allow(non_camel_case_types)] 8*bb4ee6a4SAndroid Build Coastguard Worker #![allow(non_snake_case)] 9*bb4ee6a4SAndroid Build Coastguard Worker #![allow(dead_code)] 10*bb4ee6a4SAndroid Build Coastguard Worker 11*bb4ee6a4SAndroid Build Coastguard Worker // Added by virtio_sys/bindgen.sh 12*bb4ee6a4SAndroid Build Coastguard Worker use zerocopy::AsBytes; 13*bb4ee6a4SAndroid Build Coastguard Worker use zerocopy::FromBytes; 14*bb4ee6a4SAndroid Build Coastguard Worker use zerocopy::FromZeroes; 15*bb4ee6a4SAndroid Build Coastguard Worker 16*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_CDB_DEFAULT_SIZE: u32 = 32; 17*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_SENSE_DEFAULT_SIZE: u32 = 96; 18*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_CDB_SIZE: u32 = 32; 19*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_SENSE_SIZE: u32 = 96; 20*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_F_INOUT: u32 = 0; 21*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_F_HOTPLUG: u32 = 1; 22*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_F_CHANGE: u32 = 2; 23*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_F_T10_PI: u32 = 3; 24*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_S_OK: u32 = 0; 25*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_S_OVERRUN: u32 = 1; 26*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_S_ABORTED: u32 = 2; 27*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_S_BAD_TARGET: u32 = 3; 28*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_S_RESET: u32 = 4; 29*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_S_BUSY: u32 = 5; 30*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_S_TRANSPORT_FAILURE: u32 = 6; 31*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_S_TARGET_FAILURE: u32 = 7; 32*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_S_NEXUS_FAILURE: u32 = 8; 33*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_S_FAILURE: u32 = 9; 34*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_S_FUNCTION_SUCCEEDED: u32 = 10; 35*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_S_FUNCTION_REJECTED: u32 = 11; 36*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_S_INCORRECT_LUN: u32 = 12; 37*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_T_TMF: u32 = 0; 38*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_T_AN_QUERY: u32 = 1; 39*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_T_AN_SUBSCRIBE: u32 = 2; 40*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_T_TMF_ABORT_TASK: u32 = 0; 41*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_T_TMF_ABORT_TASK_SET: u32 = 1; 42*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_T_TMF_CLEAR_ACA: u32 = 2; 43*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_T_TMF_CLEAR_TASK_SET: u32 = 3; 44*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_T_TMF_I_T_NEXUS_RESET: u32 = 4; 45*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_T_TMF_LOGICAL_UNIT_RESET: u32 = 5; 46*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_T_TMF_QUERY_TASK: u32 = 6; 47*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_T_TMF_QUERY_TASK_SET: u32 = 7; 48*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_T_EVENTS_MISSED: u32 = 2147483648; 49*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_T_NO_EVENT: u32 = 0; 50*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_T_TRANSPORT_RESET: u32 = 1; 51*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_T_ASYNC_NOTIFY: u32 = 2; 52*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_T_PARAM_CHANGE: u32 = 3; 53*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_EVT_RESET_HARD: u32 = 0; 54*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_EVT_RESET_RESCAN: u32 = 1; 55*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_EVT_RESET_REMOVED: u32 = 2; 56*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_S_SIMPLE: u32 = 0; 57*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_S_ORDERED: u32 = 1; 58*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_S_HEAD: u32 = 2; 59*bb4ee6a4SAndroid Build Coastguard Worker pub const VIRTIO_SCSI_S_ACA: u32 = 3; 60*bb4ee6a4SAndroid Build Coastguard Worker pub type __virtio16 = u16; 61*bb4ee6a4SAndroid Build Coastguard Worker pub type __virtio32 = u32; 62*bb4ee6a4SAndroid Build Coastguard Worker pub type __virtio64 = u64; 63*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 64*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 65*bb4ee6a4SAndroid Build Coastguard Worker pub struct virtio_scsi_cmd_req { 66*bb4ee6a4SAndroid Build Coastguard Worker pub lun: [u8; 8usize], 67*bb4ee6a4SAndroid Build Coastguard Worker pub tag: __virtio64, 68*bb4ee6a4SAndroid Build Coastguard Worker pub task_attr: u8, 69*bb4ee6a4SAndroid Build Coastguard Worker pub prio: u8, 70*bb4ee6a4SAndroid Build Coastguard Worker pub crn: u8, 71*bb4ee6a4SAndroid Build Coastguard Worker pub cdb: [u8; 32usize], 72*bb4ee6a4SAndroid Build Coastguard Worker } 73*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 74*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 75*bb4ee6a4SAndroid Build Coastguard Worker pub struct virtio_scsi_cmd_resp { 76*bb4ee6a4SAndroid Build Coastguard Worker pub sense_len: __virtio32, 77*bb4ee6a4SAndroid Build Coastguard Worker pub resid: __virtio32, 78*bb4ee6a4SAndroid Build Coastguard Worker pub status_qualifier: __virtio16, 79*bb4ee6a4SAndroid Build Coastguard Worker pub status: u8, 80*bb4ee6a4SAndroid Build Coastguard Worker pub response: u8, 81*bb4ee6a4SAndroid Build Coastguard Worker pub sense: [u8; 96usize], 82*bb4ee6a4SAndroid Build Coastguard Worker } 83*bb4ee6a4SAndroid Build Coastguard Worker impl Default for virtio_scsi_cmd_resp { default() -> Self84*bb4ee6a4SAndroid Build Coastguard Worker fn default() -> Self { 85*bb4ee6a4SAndroid Build Coastguard Worker let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 86*bb4ee6a4SAndroid Build Coastguard Worker unsafe { 87*bb4ee6a4SAndroid Build Coastguard Worker ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 88*bb4ee6a4SAndroid Build Coastguard Worker s.assume_init() 89*bb4ee6a4SAndroid Build Coastguard Worker } 90*bb4ee6a4SAndroid Build Coastguard Worker } 91*bb4ee6a4SAndroid Build Coastguard Worker } 92*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 93*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 94*bb4ee6a4SAndroid Build Coastguard Worker pub struct virtio_scsi_ctrl_tmf_req { 95*bb4ee6a4SAndroid Build Coastguard Worker pub type_: __virtio32, 96*bb4ee6a4SAndroid Build Coastguard Worker pub subtype: __virtio32, 97*bb4ee6a4SAndroid Build Coastguard Worker pub lun: [u8; 8usize], 98*bb4ee6a4SAndroid Build Coastguard Worker pub tag: __virtio64, 99*bb4ee6a4SAndroid Build Coastguard Worker } 100*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 101*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 102*bb4ee6a4SAndroid Build Coastguard Worker pub struct virtio_scsi_ctrl_tmf_resp { 103*bb4ee6a4SAndroid Build Coastguard Worker pub response: u8, 104*bb4ee6a4SAndroid Build Coastguard Worker } 105*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 106*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 107*bb4ee6a4SAndroid Build Coastguard Worker pub struct virtio_scsi_ctrl_an_req { 108*bb4ee6a4SAndroid Build Coastguard Worker pub type_: __virtio32, 109*bb4ee6a4SAndroid Build Coastguard Worker pub lun: [u8; 8usize], 110*bb4ee6a4SAndroid Build Coastguard Worker pub event_requested: __virtio32, 111*bb4ee6a4SAndroid Build Coastguard Worker } 112*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 113*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 114*bb4ee6a4SAndroid Build Coastguard Worker pub struct virtio_scsi_ctrl_an_resp { 115*bb4ee6a4SAndroid Build Coastguard Worker pub event_actual: __virtio32, 116*bb4ee6a4SAndroid Build Coastguard Worker pub response: u8, 117*bb4ee6a4SAndroid Build Coastguard Worker } 118*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 119*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)] 120*bb4ee6a4SAndroid Build Coastguard Worker pub struct virtio_scsi_event { 121*bb4ee6a4SAndroid Build Coastguard Worker pub event: __virtio32, 122*bb4ee6a4SAndroid Build Coastguard Worker pub lun: [u8; 8usize], 123*bb4ee6a4SAndroid Build Coastguard Worker pub reason: __virtio32, 124*bb4ee6a4SAndroid Build Coastguard Worker } 125*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 126*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 127*bb4ee6a4SAndroid Build Coastguard Worker pub struct virtio_scsi_config { 128*bb4ee6a4SAndroid Build Coastguard Worker pub num_queues: __virtio32, 129*bb4ee6a4SAndroid Build Coastguard Worker pub seg_max: __virtio32, 130*bb4ee6a4SAndroid Build Coastguard Worker pub max_sectors: __virtio32, 131*bb4ee6a4SAndroid Build Coastguard Worker pub cmd_per_lun: __virtio32, 132*bb4ee6a4SAndroid Build Coastguard Worker pub event_info_size: __virtio32, 133*bb4ee6a4SAndroid Build Coastguard Worker pub sense_size: __virtio32, 134*bb4ee6a4SAndroid Build Coastguard Worker pub cdb_size: __virtio32, 135*bb4ee6a4SAndroid Build Coastguard Worker pub max_channel: __virtio16, 136*bb4ee6a4SAndroid Build Coastguard Worker pub max_target: __virtio16, 137*bb4ee6a4SAndroid Build Coastguard Worker pub max_lun: __virtio32, 138*bb4ee6a4SAndroid Build Coastguard Worker } 139