// Copyright 2017 The Chromium OS Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. /* * automatically generated by bindgen * From chromeos-linux v4.19 * $ bindgen \ * --no-layout-tests --with-derive-default --no-doc-comments \ * --whitelist-type boot_params --whitelist-type setup_data \ * arch/x86/include/uapi/asm/bootparam.h */ #[repr(C)] #[derive(Default)] pub struct __IncompleteArrayField(::std::marker::PhantomData, [T; 0]); impl __IncompleteArrayField { #[inline] pub fn new() -> Self { __IncompleteArrayField(::std::marker::PhantomData, []) } #[inline] pub unsafe fn as_ptr(&self) -> *const T { ::std::mem::transmute(self) } #[inline] pub unsafe fn as_mut_ptr(&mut self) -> *mut T { ::std::mem::transmute(self) } #[inline] pub unsafe fn as_slice(&self, len: usize) -> &[T] { ::std::slice::from_raw_parts(self.as_ptr(), len) } #[inline] pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len) } } impl ::std::fmt::Debug for __IncompleteArrayField { fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { fmt.write_str("__IncompleteArrayField") } } impl ::std::clone::Clone for __IncompleteArrayField { #[inline] fn clone(&self) -> Self { Self::new() } } pub type __u8 = ::std::os::raw::c_uchar; pub type __u16 = ::std::os::raw::c_ushort; pub type __u32 = ::std::os::raw::c_uint; pub type __u64 = ::std::os::raw::c_ulonglong; #[repr(C, packed)] #[derive(Debug, Default, Copy, Clone)] pub struct screen_info { pub orig_x: __u8, pub orig_y: __u8, pub ext_mem_k: __u16, pub orig_video_page: __u16, pub orig_video_mode: __u8, pub orig_video_cols: __u8, pub flags: __u8, pub unused2: __u8, pub orig_video_ega_bx: __u16, pub unused3: __u16, pub orig_video_lines: __u8, pub orig_video_isVGA: __u8, pub orig_video_points: __u16, pub lfb_width: __u16, pub lfb_height: __u16, pub lfb_depth: __u16, pub lfb_base: __u32, pub lfb_size: __u32, pub cl_magic: __u16, pub cl_offset: __u16, pub lfb_linelength: __u16, pub red_size: __u8, pub red_pos: __u8, pub green_size: __u8, pub green_pos: __u8, pub blue_size: __u8, pub blue_pos: __u8, pub rsvd_size: __u8, pub rsvd_pos: __u8, pub vesapm_seg: __u16, pub vesapm_off: __u16, pub pages: __u16, pub vesa_attributes: __u16, pub capabilities: __u32, pub ext_lfb_base: __u32, pub _reserved: [__u8; 2usize], } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] pub struct apm_bios_info { pub version: __u16, pub cseg: __u16, pub offset: __u32, pub cseg_16: __u16, pub dseg: __u16, pub flags: __u16, pub cseg_len: __u16, pub cseg_16_len: __u16, pub dseg_len: __u16, } #[repr(C, packed)] #[derive(Copy, Clone)] pub struct edd_device_params { pub length: __u16, pub info_flags: __u16, pub num_default_cylinders: __u32, pub num_default_heads: __u32, pub sectors_per_track: __u32, pub number_of_sectors: __u64, pub bytes_per_sector: __u16, pub dpte_ptr: __u32, pub key: __u16, pub device_path_info_length: __u8, pub reserved2: __u8, pub reserved3: __u16, pub host_bus_type: [__u8; 4usize], pub interface_type: [__u8; 8usize], pub interface_path: edd_device_params__bindgen_ty_1, pub device_path: edd_device_params__bindgen_ty_2, pub reserved4: __u8, pub checksum: __u8, } #[repr(C)] #[derive(Copy, Clone)] pub union edd_device_params__bindgen_ty_1 { pub isa: edd_device_params__bindgen_ty_1__bindgen_ty_1, pub pci: edd_device_params__bindgen_ty_1__bindgen_ty_2, pub ibnd: edd_device_params__bindgen_ty_1__bindgen_ty_3, pub xprs: edd_device_params__bindgen_ty_1__bindgen_ty_4, pub htpt: edd_device_params__bindgen_ty_1__bindgen_ty_5, pub unknown: edd_device_params__bindgen_ty_1__bindgen_ty_6, _bindgen_union_align: [u8; 8usize], } #[repr(C, packed)] #[derive(Debug, Default, Copy, Clone)] pub struct edd_device_params__bindgen_ty_1__bindgen_ty_1 { pub base_address: __u16, pub reserved1: __u16, pub reserved2: __u32, } #[repr(C, packed)] #[derive(Debug, Default, Copy, Clone)] pub struct edd_device_params__bindgen_ty_1__bindgen_ty_2 { pub bus: __u8, pub slot: __u8, pub function: __u8, pub channel: __u8, pub reserved: __u32, } #[repr(C, packed)] #[derive(Debug, Default, Copy, Clone)] pub struct edd_device_params__bindgen_ty_1__bindgen_ty_3 { pub reserved: __u64, } #[repr(C, packed)] #[derive(Debug, Default, Copy, Clone)] pub struct edd_device_params__bindgen_ty_1__bindgen_ty_4 { pub reserved: __u64, } #[repr(C, packed)] #[derive(Debug, Default, Copy, Clone)] pub struct edd_device_params__bindgen_ty_1__bindgen_ty_5 { pub reserved: __u64, } #[repr(C, packed)] #[derive(Debug, Default, Copy, Clone)] pub struct edd_device_params__bindgen_ty_1__bindgen_ty_6 { pub reserved: __u64, } impl Default for edd_device_params__bindgen_ty_1 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Copy, Clone)] pub union edd_device_params__bindgen_ty_2 { pub ata: edd_device_params__bindgen_ty_2__bindgen_ty_1, pub atapi: edd_device_params__bindgen_ty_2__bindgen_ty_2, pub scsi: edd_device_params__bindgen_ty_2__bindgen_ty_3, pub usb: edd_device_params__bindgen_ty_2__bindgen_ty_4, pub i1394: edd_device_params__bindgen_ty_2__bindgen_ty_5, pub fibre: edd_device_params__bindgen_ty_2__bindgen_ty_6, pub i2o: edd_device_params__bindgen_ty_2__bindgen_ty_7, pub raid: edd_device_params__bindgen_ty_2__bindgen_ty_8, pub sata: edd_device_params__bindgen_ty_2__bindgen_ty_9, pub unknown: edd_device_params__bindgen_ty_2__bindgen_ty_10, _bindgen_union_align: [u8; 16usize], } #[repr(C, packed)] #[derive(Debug, Default, Copy, Clone)] pub struct edd_device_params__bindgen_ty_2__bindgen_ty_1 { pub device: __u8, pub reserved1: __u8, pub reserved2: __u16, pub reserved3: __u32, pub reserved4: __u64, } #[repr(C, packed)] #[derive(Debug, Default, Copy, Clone)] pub struct edd_device_params__bindgen_ty_2__bindgen_ty_2 { pub device: __u8, pub lun: __u8, pub reserved1: __u8, pub reserved2: __u8, pub reserved3: __u32, pub reserved4: __u64, } #[repr(C, packed)] #[derive(Debug, Default, Copy, Clone)] pub struct edd_device_params__bindgen_ty_2__bindgen_ty_3 { pub id: __u16, pub lun: __u64, pub reserved1: __u16, pub reserved2: __u32, } #[repr(C, packed)] #[derive(Debug, Default, Copy, Clone)] pub struct edd_device_params__bindgen_ty_2__bindgen_ty_4 { pub serial_number: __u64, pub reserved: __u64, } #[repr(C, packed)] #[derive(Debug, Default, Copy, Clone)] pub struct edd_device_params__bindgen_ty_2__bindgen_ty_5 { pub eui: __u64, pub reserved: __u64, } #[repr(C, packed)] #[derive(Debug, Default, Copy, Clone)] pub struct edd_device_params__bindgen_ty_2__bindgen_ty_6 { pub wwid: __u64, pub lun: __u64, } #[repr(C, packed)] #[derive(Debug, Default, Copy, Clone)] pub struct edd_device_params__bindgen_ty_2__bindgen_ty_7 { pub identity_tag: __u64, pub reserved: __u64, } #[repr(C, packed)] #[derive(Debug, Default, Copy, Clone)] pub struct edd_device_params__bindgen_ty_2__bindgen_ty_8 { pub array_number: __u32, pub reserved1: __u32, pub reserved2: __u64, } #[repr(C, packed)] #[derive(Debug, Default, Copy, Clone)] pub struct edd_device_params__bindgen_ty_2__bindgen_ty_9 { pub device: __u8, pub reserved1: __u8, pub reserved2: __u16, pub reserved3: __u32, pub reserved4: __u64, } #[repr(C, packed)] #[derive(Debug, Default, Copy, Clone)] pub struct edd_device_params__bindgen_ty_2__bindgen_ty_10 { pub reserved1: __u64, pub reserved2: __u64, } impl Default for edd_device_params__bindgen_ty_2 { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } impl Default for edd_device_params { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C, packed)] #[derive(Copy, Clone)] pub struct edd_info { pub device: __u8, pub version: __u8, pub interface_support: __u16, pub legacy_max_cylinder: __u16, pub legacy_max_head: __u8, pub legacy_sectors_per_track: __u8, pub params: edd_device_params, } impl Default for edd_info { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] pub struct ist_info { pub signature: __u32, pub command: __u32, pub event: __u32, pub perf_level: __u32, } #[repr(C)] #[derive(Copy, Clone)] pub struct edid_info { pub dummy: [::std::os::raw::c_uchar; 128usize], } impl Default for edid_info { fn default() -> Self { unsafe { ::std::mem::zeroed() } } } #[repr(C)] #[derive(Debug, Default)] pub struct setup_data { pub next: __u64, pub type_: __u32, pub len: __u32, pub data: __IncompleteArrayField<__u8>, } #[repr(C, packed)] #[derive(Debug, Default, Copy, Clone)] pub struct setup_header { pub setup_sects: __u8, pub root_flags: __u16, pub syssize: __u32, pub ram_size: __u16, pub vid_mode: __u16, pub root_dev: __u16, pub boot_flag: __u16, pub jump: __u16, pub header: __u32, pub version: __u16, pub realmode_swtch: __u32, pub start_sys_seg: __u16, pub kernel_version: __u16, pub type_of_loader: __u8, pub loadflags: __u8, pub setup_move_size: __u16, pub code32_start: __u32, pub ramdisk_image: __u32, pub ramdisk_size: __u32, pub bootsect_kludge: __u32, pub heap_end_ptr: __u16, pub ext_loader_ver: __u8, pub ext_loader_type: __u8, pub cmd_line_ptr: __u32, pub initrd_addr_max: __u32, pub kernel_alignment: __u32, pub relocatable_kernel: __u8, pub min_alignment: __u8, pub xloadflags: __u16, pub cmdline_size: __u32, pub hardware_subarch: __u32, pub hardware_subarch_data: __u64, pub payload_offset: __u32, pub payload_length: __u32, pub setup_data: __u64, pub pref_address: __u64, pub init_size: __u32, pub handover_offset: __u32, } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] pub struct sys_desc_table { pub length: __u16, pub table: [__u8; 14usize], } #[repr(C, packed)] #[derive(Debug, Default, Copy, Clone)] pub struct olpc_ofw_header { pub ofw_magic: __u32, pub ofw_version: __u32, pub cif_handler: __u32, pub irq_desc_table: __u32, } #[repr(C)] #[derive(Debug, Default, Copy, Clone)] pub struct efi_info { pub efi_loader_signature: __u32, pub efi_systab: __u32, pub efi_memdesc_size: __u32, pub efi_memdesc_version: __u32, pub efi_memmap: __u32, pub efi_memmap_size: __u32, pub efi_systab_hi: __u32, pub efi_memmap_hi: __u32, } #[repr(C, packed)] #[derive(Debug, Default, Copy, Clone)] pub struct boot_e820_entry { pub addr: __u64, pub size: __u64, pub type_: __u32, } #[repr(C, packed)] #[derive(Copy, Clone)] pub struct boot_params { pub screen_info: screen_info, pub apm_bios_info: apm_bios_info, pub _pad2: [__u8; 4usize], pub tboot_addr: __u64, pub ist_info: ist_info, pub acpi_rsdp_addr: __u64, pub _pad3: [__u8; 8usize], pub hd0_info: [__u8; 16usize], pub hd1_info: [__u8; 16usize], pub sys_desc_table: sys_desc_table, pub olpc_ofw_header: olpc_ofw_header, pub ext_ramdisk_image: __u32, pub ext_ramdisk_size: __u32, pub ext_cmd_line_ptr: __u32, pub _pad4: [__u8; 116usize], pub edid_info: edid_info, pub efi_info: efi_info, pub alt_mem_k: __u32, pub scratch: __u32, pub e820_entries: __u8, pub eddbuf_entries: __u8, pub edd_mbr_sig_buf_entries: __u8, pub kbd_status: __u8, pub secure_boot: __u8, pub _pad5: [__u8; 2usize], pub sentinel: __u8, pub _pad6: [__u8; 1usize], pub hdr: setup_header, pub _pad7: [__u8; 40usize], pub edd_mbr_sig_buffer: [__u32; 16usize], pub e820_table: [boot_e820_entry; 128usize], pub _pad8: [__u8; 48usize], pub eddbuf: [edd_info; 6usize], pub _pad9: [__u8; 276usize], } impl Default for boot_params { fn default() -> Self { unsafe { ::std::mem::zeroed() } } }