1*bb4ee6a4SAndroid Build Coastguard Worker // Copyright 2017 The ChromiumOS Authors 2*bb4ee6a4SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*bb4ee6a4SAndroid Build Coastguard Worker // found in the LICENSE file. 4*bb4ee6a4SAndroid Build Coastguard Worker 5*bb4ee6a4SAndroid Build Coastguard Worker /* 6*bb4ee6a4SAndroid Build Coastguard Worker * automatically generated by bindgen 7*bb4ee6a4SAndroid Build Coastguard Worker * From chromeos-linux v4.19 8*bb4ee6a4SAndroid Build Coastguard Worker * $ bindgen \ 9*bb4ee6a4SAndroid Build Coastguard Worker * --no-layout-tests --with-derive-default --no-doc-comments \ 10*bb4ee6a4SAndroid Build Coastguard Worker * --allowlist-type boot_params --allowlist-type setup_data \ 11*bb4ee6a4SAndroid Build Coastguard Worker * arch/x86/include/uapi/asm/bootparam.h 12*bb4ee6a4SAndroid Build Coastguard Worker */ 13*bb4ee6a4SAndroid Build Coastguard Worker 14*bb4ee6a4SAndroid Build Coastguard Worker // Editted to derive zerocopy traits, should migrate to bindgen when 15*bb4ee6a4SAndroid Build Coastguard Worker // its command line support adding custom derives. Currently bindgen 16*bb4ee6a4SAndroid Build Coastguard Worker // only support deriving custom traits with build.rs, and we don't want 17*bb4ee6a4SAndroid Build Coastguard Worker // to run build.rs bindgen on kernel. 18*bb4ee6a4SAndroid Build Coastguard Worker 19*bb4ee6a4SAndroid Build Coastguard Worker use zerocopy::AsBytes; 20*bb4ee6a4SAndroid Build Coastguard Worker use zerocopy::FromBytes; 21*bb4ee6a4SAndroid Build Coastguard Worker use zerocopy::FromZeroes; 22*bb4ee6a4SAndroid Build Coastguard Worker 23*bb4ee6a4SAndroid Build Coastguard Worker /// Set if kernel image has a 64-bit entry point at 0x200. 24*bb4ee6a4SAndroid Build Coastguard Worker pub const XLF_KERNEL_64: u16 = 1 << 0; 25*bb4ee6a4SAndroid Build Coastguard Worker /// Set if kernel/boot_params/cmdline/ramdisk can be above 4G. 26*bb4ee6a4SAndroid Build Coastguard Worker pub const XLF_CAN_BE_LOADED_ABOVE_4G: u16 = 1 << 1; 27*bb4ee6a4SAndroid Build Coastguard Worker 28*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 29*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Default)] 30*bb4ee6a4SAndroid Build Coastguard Worker pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]); 31*bb4ee6a4SAndroid Build Coastguard Worker impl<T> __IncompleteArrayField<T> { 32*bb4ee6a4SAndroid Build Coastguard Worker #[inline] new() -> Self33*bb4ee6a4SAndroid Build Coastguard Worker pub fn new() -> Self { 34*bb4ee6a4SAndroid Build Coastguard Worker __IncompleteArrayField(::std::marker::PhantomData, []) 35*bb4ee6a4SAndroid Build Coastguard Worker } 36*bb4ee6a4SAndroid Build Coastguard Worker /// # Safety 37*bb4ee6a4SAndroid Build Coastguard Worker /// 38*bb4ee6a4SAndroid Build Coastguard Worker /// Caller must ensure that Self`s size, alignment and lifetime are 39*bb4ee6a4SAndroid Build Coastguard Worker /// compatible with returned values requirements. 40*bb4ee6a4SAndroid Build Coastguard Worker #[inline] as_ptr(&self) -> *const T41*bb4ee6a4SAndroid Build Coastguard Worker pub unsafe fn as_ptr(&self) -> *const T { 42*bb4ee6a4SAndroid Build Coastguard Worker ::std::mem::transmute(self) 43*bb4ee6a4SAndroid Build Coastguard Worker } 44*bb4ee6a4SAndroid Build Coastguard Worker /// # Safety 45*bb4ee6a4SAndroid Build Coastguard Worker /// 46*bb4ee6a4SAndroid Build Coastguard Worker /// Caller must ensure that Self`s size, alignment and lifetime are 47*bb4ee6a4SAndroid Build Coastguard Worker /// compatible with returned values requirements. 48*bb4ee6a4SAndroid Build Coastguard Worker #[inline] as_mut_ptr(&mut self) -> *mut T49*bb4ee6a4SAndroid Build Coastguard Worker pub unsafe fn as_mut_ptr(&mut self) -> *mut T { 50*bb4ee6a4SAndroid Build Coastguard Worker ::std::mem::transmute(self) 51*bb4ee6a4SAndroid Build Coastguard Worker } 52*bb4ee6a4SAndroid Build Coastguard Worker /// # Safety 53*bb4ee6a4SAndroid Build Coastguard Worker /// 54*bb4ee6a4SAndroid Build Coastguard Worker /// Caller must ensure that Self`s size, alignment and lifetime are 55*bb4ee6a4SAndroid Build Coastguard Worker /// compatible with returned values requirements. 56*bb4ee6a4SAndroid Build Coastguard Worker #[inline] as_slice(&self, len: usize) -> &[T]57*bb4ee6a4SAndroid Build Coastguard Worker pub unsafe fn as_slice(&self, len: usize) -> &[T] { 58*bb4ee6a4SAndroid Build Coastguard Worker ::std::slice::from_raw_parts(self.as_ptr(), len) 59*bb4ee6a4SAndroid Build Coastguard Worker } 60*bb4ee6a4SAndroid Build Coastguard Worker #[inline] 61*bb4ee6a4SAndroid Build Coastguard Worker /// # Safety 62*bb4ee6a4SAndroid Build Coastguard Worker /// 63*bb4ee6a4SAndroid Build Coastguard Worker /// Caller must ensure that Self`s size, alignment and lifetime are 64*bb4ee6a4SAndroid Build Coastguard Worker /// compatible with returned values requirements. as_mut_slice(&mut self, len: usize) -> &mut [T]65*bb4ee6a4SAndroid Build Coastguard Worker pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { 66*bb4ee6a4SAndroid Build Coastguard Worker ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len) 67*bb4ee6a4SAndroid Build Coastguard Worker } 68*bb4ee6a4SAndroid Build Coastguard Worker } 69*bb4ee6a4SAndroid Build Coastguard Worker impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> { fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result70*bb4ee6a4SAndroid Build Coastguard Worker fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { 71*bb4ee6a4SAndroid Build Coastguard Worker fmt.write_str("__IncompleteArrayField") 72*bb4ee6a4SAndroid Build Coastguard Worker } 73*bb4ee6a4SAndroid Build Coastguard Worker } 74*bb4ee6a4SAndroid Build Coastguard Worker impl<T> ::std::clone::Clone for __IncompleteArrayField<T> { 75*bb4ee6a4SAndroid Build Coastguard Worker #[inline] clone(&self) -> Self76*bb4ee6a4SAndroid Build Coastguard Worker fn clone(&self) -> Self { 77*bb4ee6a4SAndroid Build Coastguard Worker Self::new() 78*bb4ee6a4SAndroid Build Coastguard Worker } 79*bb4ee6a4SAndroid Build Coastguard Worker } 80*bb4ee6a4SAndroid Build Coastguard Worker pub type __u8 = ::std::os::raw::c_uchar; 81*bb4ee6a4SAndroid Build Coastguard Worker pub type __u16 = ::std::os::raw::c_ushort; 82*bb4ee6a4SAndroid Build Coastguard Worker pub type __u32 = ::std::os::raw::c_uint; 83*bb4ee6a4SAndroid Build Coastguard Worker pub type __u64 = ::std::os::raw::c_ulonglong; 84*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 85*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 86*bb4ee6a4SAndroid Build Coastguard Worker pub struct screen_info { 87*bb4ee6a4SAndroid Build Coastguard Worker pub orig_x: __u8, 88*bb4ee6a4SAndroid Build Coastguard Worker pub orig_y: __u8, 89*bb4ee6a4SAndroid Build Coastguard Worker pub ext_mem_k: __u16, 90*bb4ee6a4SAndroid Build Coastguard Worker pub orig_video_page: __u16, 91*bb4ee6a4SAndroid Build Coastguard Worker pub orig_video_mode: __u8, 92*bb4ee6a4SAndroid Build Coastguard Worker pub orig_video_cols: __u8, 93*bb4ee6a4SAndroid Build Coastguard Worker pub flags: __u8, 94*bb4ee6a4SAndroid Build Coastguard Worker pub unused2: __u8, 95*bb4ee6a4SAndroid Build Coastguard Worker pub orig_video_ega_bx: __u16, 96*bb4ee6a4SAndroid Build Coastguard Worker pub unused3: __u16, 97*bb4ee6a4SAndroid Build Coastguard Worker pub orig_video_lines: __u8, 98*bb4ee6a4SAndroid Build Coastguard Worker pub orig_video_isVGA: __u8, 99*bb4ee6a4SAndroid Build Coastguard Worker pub orig_video_points: __u16, 100*bb4ee6a4SAndroid Build Coastguard Worker pub lfb_width: __u16, 101*bb4ee6a4SAndroid Build Coastguard Worker pub lfb_height: __u16, 102*bb4ee6a4SAndroid Build Coastguard Worker pub lfb_depth: __u16, 103*bb4ee6a4SAndroid Build Coastguard Worker pub lfb_base: __u32, 104*bb4ee6a4SAndroid Build Coastguard Worker pub lfb_size: __u32, 105*bb4ee6a4SAndroid Build Coastguard Worker pub cl_magic: __u16, 106*bb4ee6a4SAndroid Build Coastguard Worker pub cl_offset: __u16, 107*bb4ee6a4SAndroid Build Coastguard Worker pub lfb_linelength: __u16, 108*bb4ee6a4SAndroid Build Coastguard Worker pub red_size: __u8, 109*bb4ee6a4SAndroid Build Coastguard Worker pub red_pos: __u8, 110*bb4ee6a4SAndroid Build Coastguard Worker pub green_size: __u8, 111*bb4ee6a4SAndroid Build Coastguard Worker pub green_pos: __u8, 112*bb4ee6a4SAndroid Build Coastguard Worker pub blue_size: __u8, 113*bb4ee6a4SAndroid Build Coastguard Worker pub blue_pos: __u8, 114*bb4ee6a4SAndroid Build Coastguard Worker pub rsvd_size: __u8, 115*bb4ee6a4SAndroid Build Coastguard Worker pub rsvd_pos: __u8, 116*bb4ee6a4SAndroid Build Coastguard Worker pub vesapm_seg: __u16, 117*bb4ee6a4SAndroid Build Coastguard Worker pub vesapm_off: __u16, 118*bb4ee6a4SAndroid Build Coastguard Worker pub pages: __u16, 119*bb4ee6a4SAndroid Build Coastguard Worker pub vesa_attributes: __u16, 120*bb4ee6a4SAndroid Build Coastguard Worker pub capabilities: __u32, 121*bb4ee6a4SAndroid Build Coastguard Worker pub ext_lfb_base: __u32, 122*bb4ee6a4SAndroid Build Coastguard Worker pub _reserved: [__u8; 2usize], 123*bb4ee6a4SAndroid Build Coastguard Worker } 124*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 125*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 126*bb4ee6a4SAndroid Build Coastguard Worker pub struct apm_bios_info { 127*bb4ee6a4SAndroid Build Coastguard Worker pub version: __u16, 128*bb4ee6a4SAndroid Build Coastguard Worker pub cseg: __u16, 129*bb4ee6a4SAndroid Build Coastguard Worker pub offset: __u32, 130*bb4ee6a4SAndroid Build Coastguard Worker pub cseg_16: __u16, 131*bb4ee6a4SAndroid Build Coastguard Worker pub dseg: __u16, 132*bb4ee6a4SAndroid Build Coastguard Worker pub flags: __u16, 133*bb4ee6a4SAndroid Build Coastguard Worker pub cseg_len: __u16, 134*bb4ee6a4SAndroid Build Coastguard Worker pub cseg_16_len: __u16, 135*bb4ee6a4SAndroid Build Coastguard Worker pub dseg_len: __u16, 136*bb4ee6a4SAndroid Build Coastguard Worker } 137*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 138*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Copy, Clone, FromZeroes, FromBytes, AsBytes)] 139*bb4ee6a4SAndroid Build Coastguard Worker pub struct edd_device_params { 140*bb4ee6a4SAndroid Build Coastguard Worker pub length: __u16, 141*bb4ee6a4SAndroid Build Coastguard Worker pub info_flags: __u16, 142*bb4ee6a4SAndroid Build Coastguard Worker pub num_default_cylinders: __u32, 143*bb4ee6a4SAndroid Build Coastguard Worker pub num_default_heads: __u32, 144*bb4ee6a4SAndroid Build Coastguard Worker pub sectors_per_track: __u32, 145*bb4ee6a4SAndroid Build Coastguard Worker pub number_of_sectors: __u64, 146*bb4ee6a4SAndroid Build Coastguard Worker pub bytes_per_sector: __u16, 147*bb4ee6a4SAndroid Build Coastguard Worker pub dpte_ptr: __u32, 148*bb4ee6a4SAndroid Build Coastguard Worker pub key: __u16, 149*bb4ee6a4SAndroid Build Coastguard Worker pub device_path_info_length: __u8, 150*bb4ee6a4SAndroid Build Coastguard Worker pub reserved2: __u8, 151*bb4ee6a4SAndroid Build Coastguard Worker pub reserved3: __u16, 152*bb4ee6a4SAndroid Build Coastguard Worker pub host_bus_type: [__u8; 4usize], 153*bb4ee6a4SAndroid Build Coastguard Worker pub interface_type: [__u8; 8usize], 154*bb4ee6a4SAndroid Build Coastguard Worker pub interface_path: edd_device_params__bindgen_ty_1, 155*bb4ee6a4SAndroid Build Coastguard Worker pub device_path: edd_device_params__bindgen_ty_2, 156*bb4ee6a4SAndroid Build Coastguard Worker pub reserved4: __u8, 157*bb4ee6a4SAndroid Build Coastguard Worker pub checksum: __u8, 158*bb4ee6a4SAndroid Build Coastguard Worker } 159*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 160*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Copy, Clone, FromZeroes, FromBytes, AsBytes)] 161*bb4ee6a4SAndroid Build Coastguard Worker pub union edd_device_params__bindgen_ty_1 { 162*bb4ee6a4SAndroid Build Coastguard Worker pub isa: edd_device_params__bindgen_ty_1__bindgen_ty_1, 163*bb4ee6a4SAndroid Build Coastguard Worker pub pci: edd_device_params__bindgen_ty_1__bindgen_ty_2, 164*bb4ee6a4SAndroid Build Coastguard Worker pub ibnd: edd_device_params__bindgen_ty_1__bindgen_ty_3, 165*bb4ee6a4SAndroid Build Coastguard Worker pub xprs: edd_device_params__bindgen_ty_1__bindgen_ty_4, 166*bb4ee6a4SAndroid Build Coastguard Worker pub htpt: edd_device_params__bindgen_ty_1__bindgen_ty_5, 167*bb4ee6a4SAndroid Build Coastguard Worker pub unknown: edd_device_params__bindgen_ty_1__bindgen_ty_6, 168*bb4ee6a4SAndroid Build Coastguard Worker _bindgen_union_align: [u8; 8usize], 169*bb4ee6a4SAndroid Build Coastguard Worker } 170*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 171*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 172*bb4ee6a4SAndroid Build Coastguard Worker pub struct edd_device_params__bindgen_ty_1__bindgen_ty_1 { 173*bb4ee6a4SAndroid Build Coastguard Worker pub base_address: __u16, 174*bb4ee6a4SAndroid Build Coastguard Worker pub reserved1: __u16, 175*bb4ee6a4SAndroid Build Coastguard Worker pub reserved2: __u32, 176*bb4ee6a4SAndroid Build Coastguard Worker } 177*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 178*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 179*bb4ee6a4SAndroid Build Coastguard Worker pub struct edd_device_params__bindgen_ty_1__bindgen_ty_2 { 180*bb4ee6a4SAndroid Build Coastguard Worker pub bus: __u8, 181*bb4ee6a4SAndroid Build Coastguard Worker pub slot: __u8, 182*bb4ee6a4SAndroid Build Coastguard Worker pub function: __u8, 183*bb4ee6a4SAndroid Build Coastguard Worker pub channel: __u8, 184*bb4ee6a4SAndroid Build Coastguard Worker pub reserved: __u32, 185*bb4ee6a4SAndroid Build Coastguard Worker } 186*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 187*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 188*bb4ee6a4SAndroid Build Coastguard Worker pub struct edd_device_params__bindgen_ty_1__bindgen_ty_3 { 189*bb4ee6a4SAndroid Build Coastguard Worker pub reserved: __u64, 190*bb4ee6a4SAndroid Build Coastguard Worker } 191*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 192*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 193*bb4ee6a4SAndroid Build Coastguard Worker pub struct edd_device_params__bindgen_ty_1__bindgen_ty_4 { 194*bb4ee6a4SAndroid Build Coastguard Worker pub reserved: __u64, 195*bb4ee6a4SAndroid Build Coastguard Worker } 196*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 197*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 198*bb4ee6a4SAndroid Build Coastguard Worker pub struct edd_device_params__bindgen_ty_1__bindgen_ty_5 { 199*bb4ee6a4SAndroid Build Coastguard Worker pub reserved: __u64, 200*bb4ee6a4SAndroid Build Coastguard Worker } 201*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 202*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 203*bb4ee6a4SAndroid Build Coastguard Worker pub struct edd_device_params__bindgen_ty_1__bindgen_ty_6 { 204*bb4ee6a4SAndroid Build Coastguard Worker pub reserved: __u64, 205*bb4ee6a4SAndroid Build Coastguard Worker } 206*bb4ee6a4SAndroid Build Coastguard Worker impl Default for edd_device_params__bindgen_ty_1 { default() -> Self207*bb4ee6a4SAndroid Build Coastguard Worker fn default() -> Self { 208*bb4ee6a4SAndroid Build Coastguard Worker // SAFETY: trivially safe 209*bb4ee6a4SAndroid Build Coastguard Worker unsafe { ::std::mem::zeroed() } 210*bb4ee6a4SAndroid Build Coastguard Worker } 211*bb4ee6a4SAndroid Build Coastguard Worker } 212*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 213*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Copy, Clone, FromZeroes, FromBytes, AsBytes)] 214*bb4ee6a4SAndroid Build Coastguard Worker pub union edd_device_params__bindgen_ty_2 { 215*bb4ee6a4SAndroid Build Coastguard Worker pub ata: edd_device_params__bindgen_ty_2__bindgen_ty_1, 216*bb4ee6a4SAndroid Build Coastguard Worker pub atapi: edd_device_params__bindgen_ty_2__bindgen_ty_2, 217*bb4ee6a4SAndroid Build Coastguard Worker pub scsi: edd_device_params__bindgen_ty_2__bindgen_ty_3, 218*bb4ee6a4SAndroid Build Coastguard Worker pub usb: edd_device_params__bindgen_ty_2__bindgen_ty_4, 219*bb4ee6a4SAndroid Build Coastguard Worker pub i1394: edd_device_params__bindgen_ty_2__bindgen_ty_5, 220*bb4ee6a4SAndroid Build Coastguard Worker pub fibre: edd_device_params__bindgen_ty_2__bindgen_ty_6, 221*bb4ee6a4SAndroid Build Coastguard Worker pub i2o: edd_device_params__bindgen_ty_2__bindgen_ty_7, 222*bb4ee6a4SAndroid Build Coastguard Worker pub raid: edd_device_params__bindgen_ty_2__bindgen_ty_8, 223*bb4ee6a4SAndroid Build Coastguard Worker pub sata: edd_device_params__bindgen_ty_2__bindgen_ty_9, 224*bb4ee6a4SAndroid Build Coastguard Worker pub unknown: edd_device_params__bindgen_ty_2__bindgen_ty_10, 225*bb4ee6a4SAndroid Build Coastguard Worker _bindgen_union_align: [u8; 16usize], 226*bb4ee6a4SAndroid Build Coastguard Worker } 227*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 228*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 229*bb4ee6a4SAndroid Build Coastguard Worker pub struct edd_device_params__bindgen_ty_2__bindgen_ty_1 { 230*bb4ee6a4SAndroid Build Coastguard Worker pub device: __u8, 231*bb4ee6a4SAndroid Build Coastguard Worker pub reserved1: __u8, 232*bb4ee6a4SAndroid Build Coastguard Worker pub reserved2: __u16, 233*bb4ee6a4SAndroid Build Coastguard Worker pub reserved3: __u32, 234*bb4ee6a4SAndroid Build Coastguard Worker pub reserved4: __u64, 235*bb4ee6a4SAndroid Build Coastguard Worker } 236*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 237*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 238*bb4ee6a4SAndroid Build Coastguard Worker pub struct edd_device_params__bindgen_ty_2__bindgen_ty_2 { 239*bb4ee6a4SAndroid Build Coastguard Worker pub device: __u8, 240*bb4ee6a4SAndroid Build Coastguard Worker pub lun: __u8, 241*bb4ee6a4SAndroid Build Coastguard Worker pub reserved1: __u8, 242*bb4ee6a4SAndroid Build Coastguard Worker pub reserved2: __u8, 243*bb4ee6a4SAndroid Build Coastguard Worker pub reserved3: __u32, 244*bb4ee6a4SAndroid Build Coastguard Worker pub reserved4: __u64, 245*bb4ee6a4SAndroid Build Coastguard Worker } 246*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 247*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 248*bb4ee6a4SAndroid Build Coastguard Worker pub struct edd_device_params__bindgen_ty_2__bindgen_ty_3 { 249*bb4ee6a4SAndroid Build Coastguard Worker pub id: __u16, 250*bb4ee6a4SAndroid Build Coastguard Worker pub lun: __u64, 251*bb4ee6a4SAndroid Build Coastguard Worker pub reserved1: __u16, 252*bb4ee6a4SAndroid Build Coastguard Worker pub reserved2: __u32, 253*bb4ee6a4SAndroid Build Coastguard Worker } 254*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 255*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 256*bb4ee6a4SAndroid Build Coastguard Worker pub struct edd_device_params__bindgen_ty_2__bindgen_ty_4 { 257*bb4ee6a4SAndroid Build Coastguard Worker pub serial_number: __u64, 258*bb4ee6a4SAndroid Build Coastguard Worker pub reserved: __u64, 259*bb4ee6a4SAndroid Build Coastguard Worker } 260*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 261*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 262*bb4ee6a4SAndroid Build Coastguard Worker pub struct edd_device_params__bindgen_ty_2__bindgen_ty_5 { 263*bb4ee6a4SAndroid Build Coastguard Worker pub eui: __u64, 264*bb4ee6a4SAndroid Build Coastguard Worker pub reserved: __u64, 265*bb4ee6a4SAndroid Build Coastguard Worker } 266*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 267*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 268*bb4ee6a4SAndroid Build Coastguard Worker pub struct edd_device_params__bindgen_ty_2__bindgen_ty_6 { 269*bb4ee6a4SAndroid Build Coastguard Worker pub wwid: __u64, 270*bb4ee6a4SAndroid Build Coastguard Worker pub lun: __u64, 271*bb4ee6a4SAndroid Build Coastguard Worker } 272*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 273*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 274*bb4ee6a4SAndroid Build Coastguard Worker pub struct edd_device_params__bindgen_ty_2__bindgen_ty_7 { 275*bb4ee6a4SAndroid Build Coastguard Worker pub identity_tag: __u64, 276*bb4ee6a4SAndroid Build Coastguard Worker pub reserved: __u64, 277*bb4ee6a4SAndroid Build Coastguard Worker } 278*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 279*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 280*bb4ee6a4SAndroid Build Coastguard Worker pub struct edd_device_params__bindgen_ty_2__bindgen_ty_8 { 281*bb4ee6a4SAndroid Build Coastguard Worker pub array_number: __u32, 282*bb4ee6a4SAndroid Build Coastguard Worker pub reserved1: __u32, 283*bb4ee6a4SAndroid Build Coastguard Worker pub reserved2: __u64, 284*bb4ee6a4SAndroid Build Coastguard Worker } 285*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 286*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 287*bb4ee6a4SAndroid Build Coastguard Worker pub struct edd_device_params__bindgen_ty_2__bindgen_ty_9 { 288*bb4ee6a4SAndroid Build Coastguard Worker pub device: __u8, 289*bb4ee6a4SAndroid Build Coastguard Worker pub reserved1: __u8, 290*bb4ee6a4SAndroid Build Coastguard Worker pub reserved2: __u16, 291*bb4ee6a4SAndroid Build Coastguard Worker pub reserved3: __u32, 292*bb4ee6a4SAndroid Build Coastguard Worker pub reserved4: __u64, 293*bb4ee6a4SAndroid Build Coastguard Worker } 294*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 295*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 296*bb4ee6a4SAndroid Build Coastguard Worker pub struct edd_device_params__bindgen_ty_2__bindgen_ty_10 { 297*bb4ee6a4SAndroid Build Coastguard Worker pub reserved1: __u64, 298*bb4ee6a4SAndroid Build Coastguard Worker pub reserved2: __u64, 299*bb4ee6a4SAndroid Build Coastguard Worker } 300*bb4ee6a4SAndroid Build Coastguard Worker impl Default for edd_device_params__bindgen_ty_2 { default() -> Self301*bb4ee6a4SAndroid Build Coastguard Worker fn default() -> Self { 302*bb4ee6a4SAndroid Build Coastguard Worker // SAFETY: trivially safe 303*bb4ee6a4SAndroid Build Coastguard Worker unsafe { ::std::mem::zeroed() } 304*bb4ee6a4SAndroid Build Coastguard Worker } 305*bb4ee6a4SAndroid Build Coastguard Worker } 306*bb4ee6a4SAndroid Build Coastguard Worker impl Default for edd_device_params { default() -> Self307*bb4ee6a4SAndroid Build Coastguard Worker fn default() -> Self { 308*bb4ee6a4SAndroid Build Coastguard Worker // SAFETY: trivially safe 309*bb4ee6a4SAndroid Build Coastguard Worker unsafe { ::std::mem::zeroed() } 310*bb4ee6a4SAndroid Build Coastguard Worker } 311*bb4ee6a4SAndroid Build Coastguard Worker } 312*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 313*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Copy, Clone, FromZeroes, FromBytes, AsBytes)] 314*bb4ee6a4SAndroid Build Coastguard Worker pub struct edd_info { 315*bb4ee6a4SAndroid Build Coastguard Worker pub device: __u8, 316*bb4ee6a4SAndroid Build Coastguard Worker pub version: __u8, 317*bb4ee6a4SAndroid Build Coastguard Worker pub interface_support: __u16, 318*bb4ee6a4SAndroid Build Coastguard Worker pub legacy_max_cylinder: __u16, 319*bb4ee6a4SAndroid Build Coastguard Worker pub legacy_max_head: __u8, 320*bb4ee6a4SAndroid Build Coastguard Worker pub legacy_sectors_per_track: __u8, 321*bb4ee6a4SAndroid Build Coastguard Worker pub params: edd_device_params, 322*bb4ee6a4SAndroid Build Coastguard Worker } 323*bb4ee6a4SAndroid Build Coastguard Worker impl Default for edd_info { default() -> Self324*bb4ee6a4SAndroid Build Coastguard Worker fn default() -> Self { 325*bb4ee6a4SAndroid Build Coastguard Worker // SAFETY: trivially safe 326*bb4ee6a4SAndroid Build Coastguard Worker unsafe { ::std::mem::zeroed() } 327*bb4ee6a4SAndroid Build Coastguard Worker } 328*bb4ee6a4SAndroid Build Coastguard Worker } 329*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 330*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 331*bb4ee6a4SAndroid Build Coastguard Worker pub struct ist_info { 332*bb4ee6a4SAndroid Build Coastguard Worker pub signature: __u32, 333*bb4ee6a4SAndroid Build Coastguard Worker pub command: __u32, 334*bb4ee6a4SAndroid Build Coastguard Worker pub event: __u32, 335*bb4ee6a4SAndroid Build Coastguard Worker pub perf_level: __u32, 336*bb4ee6a4SAndroid Build Coastguard Worker } 337*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 338*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Copy, Clone, AsBytes, FromZeroes, FromBytes)] 339*bb4ee6a4SAndroid Build Coastguard Worker pub struct edid_info { 340*bb4ee6a4SAndroid Build Coastguard Worker pub dummy: [::std::os::raw::c_uchar; 128usize], 341*bb4ee6a4SAndroid Build Coastguard Worker } 342*bb4ee6a4SAndroid Build Coastguard Worker impl Default for edid_info { default() -> Self343*bb4ee6a4SAndroid Build Coastguard Worker fn default() -> Self { 344*bb4ee6a4SAndroid Build Coastguard Worker // SAFETY: trivially safe 345*bb4ee6a4SAndroid Build Coastguard Worker unsafe { ::std::mem::zeroed() } 346*bb4ee6a4SAndroid Build Coastguard Worker } 347*bb4ee6a4SAndroid Build Coastguard Worker } 348*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 349*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default)] 350*bb4ee6a4SAndroid Build Coastguard Worker pub struct setup_data { 351*bb4ee6a4SAndroid Build Coastguard Worker pub next: __u64, 352*bb4ee6a4SAndroid Build Coastguard Worker pub type_: __u32, 353*bb4ee6a4SAndroid Build Coastguard Worker pub len: __u32, 354*bb4ee6a4SAndroid Build Coastguard Worker pub data: __IncompleteArrayField<__u8>, 355*bb4ee6a4SAndroid Build Coastguard Worker } 356*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 357*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 358*bb4ee6a4SAndroid Build Coastguard Worker pub struct setup_header { 359*bb4ee6a4SAndroid Build Coastguard Worker pub setup_sects: __u8, 360*bb4ee6a4SAndroid Build Coastguard Worker pub root_flags: __u16, 361*bb4ee6a4SAndroid Build Coastguard Worker pub syssize: __u32, 362*bb4ee6a4SAndroid Build Coastguard Worker pub ram_size: __u16, 363*bb4ee6a4SAndroid Build Coastguard Worker pub vid_mode: __u16, 364*bb4ee6a4SAndroid Build Coastguard Worker pub root_dev: __u16, 365*bb4ee6a4SAndroid Build Coastguard Worker pub boot_flag: __u16, 366*bb4ee6a4SAndroid Build Coastguard Worker pub jump: __u16, 367*bb4ee6a4SAndroid Build Coastguard Worker pub header: __u32, 368*bb4ee6a4SAndroid Build Coastguard Worker pub version: __u16, 369*bb4ee6a4SAndroid Build Coastguard Worker pub realmode_swtch: __u32, 370*bb4ee6a4SAndroid Build Coastguard Worker pub start_sys_seg: __u16, 371*bb4ee6a4SAndroid Build Coastguard Worker pub kernel_version: __u16, 372*bb4ee6a4SAndroid Build Coastguard Worker pub type_of_loader: __u8, 373*bb4ee6a4SAndroid Build Coastguard Worker pub loadflags: __u8, 374*bb4ee6a4SAndroid Build Coastguard Worker pub setup_move_size: __u16, 375*bb4ee6a4SAndroid Build Coastguard Worker pub code32_start: __u32, 376*bb4ee6a4SAndroid Build Coastguard Worker pub ramdisk_image: __u32, 377*bb4ee6a4SAndroid Build Coastguard Worker pub ramdisk_size: __u32, 378*bb4ee6a4SAndroid Build Coastguard Worker pub bootsect_kludge: __u32, 379*bb4ee6a4SAndroid Build Coastguard Worker pub heap_end_ptr: __u16, 380*bb4ee6a4SAndroid Build Coastguard Worker pub ext_loader_ver: __u8, 381*bb4ee6a4SAndroid Build Coastguard Worker pub ext_loader_type: __u8, 382*bb4ee6a4SAndroid Build Coastguard Worker pub cmd_line_ptr: __u32, 383*bb4ee6a4SAndroid Build Coastguard Worker pub initrd_addr_max: __u32, 384*bb4ee6a4SAndroid Build Coastguard Worker pub kernel_alignment: __u32, 385*bb4ee6a4SAndroid Build Coastguard Worker pub relocatable_kernel: __u8, 386*bb4ee6a4SAndroid Build Coastguard Worker pub min_alignment: __u8, 387*bb4ee6a4SAndroid Build Coastguard Worker pub xloadflags: __u16, 388*bb4ee6a4SAndroid Build Coastguard Worker pub cmdline_size: __u32, 389*bb4ee6a4SAndroid Build Coastguard Worker pub hardware_subarch: __u32, 390*bb4ee6a4SAndroid Build Coastguard Worker pub hardware_subarch_data: __u64, 391*bb4ee6a4SAndroid Build Coastguard Worker pub payload_offset: __u32, 392*bb4ee6a4SAndroid Build Coastguard Worker pub payload_length: __u32, 393*bb4ee6a4SAndroid Build Coastguard Worker pub setup_data: __u64, 394*bb4ee6a4SAndroid Build Coastguard Worker pub pref_address: __u64, 395*bb4ee6a4SAndroid Build Coastguard Worker pub init_size: __u32, 396*bb4ee6a4SAndroid Build Coastguard Worker pub handover_offset: __u32, 397*bb4ee6a4SAndroid Build Coastguard Worker } 398*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 399*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 400*bb4ee6a4SAndroid Build Coastguard Worker pub struct sys_desc_table { 401*bb4ee6a4SAndroid Build Coastguard Worker pub length: __u16, 402*bb4ee6a4SAndroid Build Coastguard Worker pub table: [__u8; 14usize], 403*bb4ee6a4SAndroid Build Coastguard Worker } 404*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 405*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 406*bb4ee6a4SAndroid Build Coastguard Worker pub struct olpc_ofw_header { 407*bb4ee6a4SAndroid Build Coastguard Worker pub ofw_magic: __u32, 408*bb4ee6a4SAndroid Build Coastguard Worker pub ofw_version: __u32, 409*bb4ee6a4SAndroid Build Coastguard Worker pub cif_handler: __u32, 410*bb4ee6a4SAndroid Build Coastguard Worker pub irq_desc_table: __u32, 411*bb4ee6a4SAndroid Build Coastguard Worker } 412*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)] 413*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 414*bb4ee6a4SAndroid Build Coastguard Worker pub struct efi_info { 415*bb4ee6a4SAndroid Build Coastguard Worker pub efi_loader_signature: __u32, 416*bb4ee6a4SAndroid Build Coastguard Worker pub efi_systab: __u32, 417*bb4ee6a4SAndroid Build Coastguard Worker pub efi_memdesc_size: __u32, 418*bb4ee6a4SAndroid Build Coastguard Worker pub efi_memdesc_version: __u32, 419*bb4ee6a4SAndroid Build Coastguard Worker pub efi_memmap: __u32, 420*bb4ee6a4SAndroid Build Coastguard Worker pub efi_memmap_size: __u32, 421*bb4ee6a4SAndroid Build Coastguard Worker pub efi_systab_hi: __u32, 422*bb4ee6a4SAndroid Build Coastguard Worker pub efi_memmap_hi: __u32, 423*bb4ee6a4SAndroid Build Coastguard Worker } 424*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 425*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone, FromZeroes, FromBytes, AsBytes)] 426*bb4ee6a4SAndroid Build Coastguard Worker pub struct boot_e820_entry { 427*bb4ee6a4SAndroid Build Coastguard Worker pub addr: __u64, 428*bb4ee6a4SAndroid Build Coastguard Worker pub size: __u64, 429*bb4ee6a4SAndroid Build Coastguard Worker pub type_: __u32, 430*bb4ee6a4SAndroid Build Coastguard Worker } 431*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C, packed)] 432*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Copy, Clone, FromZeroes, FromBytes, AsBytes)] 433*bb4ee6a4SAndroid Build Coastguard Worker pub struct boot_params { 434*bb4ee6a4SAndroid Build Coastguard Worker pub screen_info: screen_info, 435*bb4ee6a4SAndroid Build Coastguard Worker pub apm_bios_info: apm_bios_info, 436*bb4ee6a4SAndroid Build Coastguard Worker pub _pad2: [__u8; 4usize], 437*bb4ee6a4SAndroid Build Coastguard Worker pub tboot_addr: __u64, 438*bb4ee6a4SAndroid Build Coastguard Worker pub ist_info: ist_info, 439*bb4ee6a4SAndroid Build Coastguard Worker pub acpi_rsdp_addr: __u64, 440*bb4ee6a4SAndroid Build Coastguard Worker pub _pad3: [__u8; 8usize], 441*bb4ee6a4SAndroid Build Coastguard Worker pub hd0_info: [__u8; 16usize], 442*bb4ee6a4SAndroid Build Coastguard Worker pub hd1_info: [__u8; 16usize], 443*bb4ee6a4SAndroid Build Coastguard Worker pub sys_desc_table: sys_desc_table, 444*bb4ee6a4SAndroid Build Coastguard Worker pub olpc_ofw_header: olpc_ofw_header, 445*bb4ee6a4SAndroid Build Coastguard Worker pub ext_ramdisk_image: __u32, 446*bb4ee6a4SAndroid Build Coastguard Worker pub ext_ramdisk_size: __u32, 447*bb4ee6a4SAndroid Build Coastguard Worker pub ext_cmd_line_ptr: __u32, 448*bb4ee6a4SAndroid Build Coastguard Worker pub _pad4: [__u8; 116usize], 449*bb4ee6a4SAndroid Build Coastguard Worker pub edid_info: edid_info, 450*bb4ee6a4SAndroid Build Coastguard Worker pub efi_info: efi_info, 451*bb4ee6a4SAndroid Build Coastguard Worker pub alt_mem_k: __u32, 452*bb4ee6a4SAndroid Build Coastguard Worker pub scratch: __u32, 453*bb4ee6a4SAndroid Build Coastguard Worker pub e820_entries: __u8, 454*bb4ee6a4SAndroid Build Coastguard Worker pub eddbuf_entries: __u8, 455*bb4ee6a4SAndroid Build Coastguard Worker pub edd_mbr_sig_buf_entries: __u8, 456*bb4ee6a4SAndroid Build Coastguard Worker pub kbd_status: __u8, 457*bb4ee6a4SAndroid Build Coastguard Worker pub secure_boot: __u8, 458*bb4ee6a4SAndroid Build Coastguard Worker pub _pad5: [__u8; 2usize], 459*bb4ee6a4SAndroid Build Coastguard Worker pub sentinel: __u8, 460*bb4ee6a4SAndroid Build Coastguard Worker pub _pad6: [__u8; 1usize], 461*bb4ee6a4SAndroid Build Coastguard Worker pub hdr: setup_header, 462*bb4ee6a4SAndroid Build Coastguard Worker pub _pad7: [__u8; 40usize], 463*bb4ee6a4SAndroid Build Coastguard Worker pub edd_mbr_sig_buffer: [__u32; 16usize], 464*bb4ee6a4SAndroid Build Coastguard Worker pub e820_table: [boot_e820_entry; 128usize], 465*bb4ee6a4SAndroid Build Coastguard Worker pub _pad8: [__u8; 48usize], 466*bb4ee6a4SAndroid Build Coastguard Worker pub eddbuf: [edd_info; 6usize], 467*bb4ee6a4SAndroid Build Coastguard Worker pub _pad9: [__u8; 276usize], 468*bb4ee6a4SAndroid Build Coastguard Worker } 469*bb4ee6a4SAndroid Build Coastguard Worker impl Default for boot_params { default() -> Self470*bb4ee6a4SAndroid Build Coastguard Worker fn default() -> Self { 471*bb4ee6a4SAndroid Build Coastguard Worker // SAFETY: trivially safe 472*bb4ee6a4SAndroid Build Coastguard Worker unsafe { ::std::mem::zeroed() } 473*bb4ee6a4SAndroid Build Coastguard Worker } 474*bb4ee6a4SAndroid Build Coastguard Worker } 475