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