1pub type __s8 = crate::ctypes::c_schar;
4pub type __u8 = crate::ctypes::c_uchar;
5pub type __s16 = crate::ctypes::c_short;
6pub type __u16 = crate::ctypes::c_ushort;
7pub type __s32 = crate::ctypes::c_int;
8pub type __u32 = crate::ctypes::c_uint;
9pub type __s64 = crate::ctypes::c_longlong;
10pub type __u64 = crate::ctypes::c_ulonglong;
11pub type __kernel_key_t = crate::ctypes::c_int;
12pub type __kernel_mqd_t = crate::ctypes::c_int;
13pub type __kernel_mode_t = crate::ctypes::c_ushort;
14pub type __kernel_ipc_pid_t = crate::ctypes::c_ushort;
15pub type __kernel_uid_t = crate::ctypes::c_ushort;
16pub type __kernel_gid_t = crate::ctypes::c_ushort;
17pub type __kernel_old_dev_t = crate::ctypes::c_ushort;
18pub type __kernel_long_t = crate::ctypes::c_long;
19pub type __kernel_ulong_t = crate::ctypes::c_ulong;
20pub type __kernel_ino_t = __kernel_ulong_t;
21pub type __kernel_pid_t = crate::ctypes::c_int;
22pub type __kernel_suseconds_t = __kernel_long_t;
23pub type __kernel_daddr_t = crate::ctypes::c_int;
24pub type __kernel_uid32_t = crate::ctypes::c_uint;
25pub type __kernel_gid32_t = crate::ctypes::c_uint;
26pub type __kernel_old_uid_t = __kernel_uid_t;
27pub type __kernel_old_gid_t = __kernel_gid_t;
28pub type __kernel_size_t = crate::ctypes::c_uint;
29pub type __kernel_ssize_t = crate::ctypes::c_int;
30pub type __kernel_ptrdiff_t = crate::ctypes::c_int;
31pub type __kernel_off_t = __kernel_long_t;
32pub type __kernel_loff_t = crate::ctypes::c_longlong;
33pub type __kernel_old_time_t = __kernel_long_t;
34pub type __kernel_time_t = __kernel_long_t;
35pub type __kernel_time64_t = crate::ctypes::c_longlong;
36pub type __kernel_clock_t = __kernel_long_t;
37pub type __kernel_timer_t = crate::ctypes::c_int;
38pub type __kernel_clockid_t = crate::ctypes::c_int;
39pub type __kernel_caddr_t = *mut crate::ctypes::c_char;
40pub type __kernel_uid16_t = crate::ctypes::c_ushort;
41pub type __kernel_gid16_t = crate::ctypes::c_ushort;
42pub type __le16 = __u16;
43pub type __be16 = __u16;
44pub type __le32 = __u32;
45pub type __be32 = __u32;
46pub type __le64 = __u64;
47pub type __be64 = __u64;
48pub type __sum16 = __u16;
49pub type __wsum = __u32;
50pub type __poll_t = crate::ctypes::c_uint;
51pub type apm_event_t = crate::ctypes::c_ushort;
52pub type apm_eventinfo_t = crate::ctypes::c_ushort;
53#[repr(C)]
54#[derive(Default)]
55pub struct __IncompleteArrayField<T>(::core::marker::PhantomData<T>, [T; 0]);
56#[repr(C)]
57#[derive(Debug)]
58pub struct setup_data {
59pub next: __u64,
60pub type_: __u32,
61pub len: __u32,
62pub data: __IncompleteArrayField<__u8>,
63}
64#[repr(C)]
65#[derive(Debug, Copy, Clone)]
66pub struct setup_indirect {
67pub type_: __u32,
68pub reserved: __u32,
69pub len: __u64,
70pub addr: __u64,
71}
72#[repr(C, packed)]
73#[derive(Debug, Copy, Clone)]
74pub struct boot_e820_entry {
75pub addr: __u64,
76pub size: __u64,
77pub type_: __u32,
78}
79#[repr(C, packed)]
80#[derive(Debug, Copy, Clone)]
81pub struct jailhouse_setup_data {
82pub hdr: jailhouse_setup_data__bindgen_ty_1,
83pub v1: jailhouse_setup_data__bindgen_ty_2,
84pub v2: jailhouse_setup_data__bindgen_ty_3,
85}
86#[repr(C, packed)]
87#[derive(Debug, Copy, Clone)]
88pub struct jailhouse_setup_data__bindgen_ty_1 {
89pub version: __u16,
90pub compatible_version: __u16,
91}
92#[repr(C, packed)]
93#[derive(Debug, Copy, Clone)]
94pub struct jailhouse_setup_data__bindgen_ty_2 {
95pub pm_timer_address: __u16,
96pub num_cpus: __u16,
97pub pci_mmconfig_base: __u64,
98pub tsc_khz: __u32,
99pub apic_khz: __u32,
100pub standard_ioapic: __u8,
101pub cpu_ids: [__u8; 255usize],
102}
103#[repr(C, packed)]
104#[derive(Debug, Copy, Clone)]
105pub struct jailhouse_setup_data__bindgen_ty_3 {
106pub flags: __u32,
107}
108#[repr(C, packed)]
109#[derive(Debug, Copy, Clone)]
110pub struct ima_setup_data {
111pub addr: __u64,
112pub size: __u64,
113}
114#[repr(C, packed)]
115#[derive(Debug, Copy, Clone)]
116pub struct screen_info {
117pub orig_x: __u8,
118pub orig_y: __u8,
119pub ext_mem_k: __u16,
120pub orig_video_page: __u16,
121pub orig_video_mode: __u8,
122pub orig_video_cols: __u8,
123pub flags: __u8,
124pub unused2: __u8,
125pub orig_video_ega_bx: __u16,
126pub unused3: __u16,
127pub orig_video_lines: __u8,
128pub orig_video_isVGA: __u8,
129pub orig_video_points: __u16,
130pub lfb_width: __u16,
131pub lfb_height: __u16,
132pub lfb_depth: __u16,
133pub lfb_base: __u32,
134pub lfb_size: __u32,
135pub cl_magic: __u16,
136pub cl_offset: __u16,
137pub lfb_linelength: __u16,
138pub red_size: __u8,
139pub red_pos: __u8,
140pub green_size: __u8,
141pub green_pos: __u8,
142pub blue_size: __u8,
143pub blue_pos: __u8,
144pub rsvd_size: __u8,
145pub rsvd_pos: __u8,
146pub vesapm_seg: __u16,
147pub vesapm_off: __u16,
148pub pages: __u16,
149pub vesa_attributes: __u16,
150pub capabilities: __u32,
151pub ext_lfb_base: __u32,
152pub _reserved: [__u8; 2usize],
153}
154#[repr(C)]
155#[derive(Debug, Copy, Clone)]
156pub struct apm_bios_info {
157pub version: __u16,
158pub cseg: __u16,
159pub offset: __u32,
160pub cseg_16: __u16,
161pub dseg: __u16,
162pub flags: __u16,
163pub cseg_len: __u16,
164pub cseg_16_len: __u16,
165pub dseg_len: __u16,
166}
167#[repr(C, packed)]
168#[derive(Copy, Clone)]
169pub struct edd_device_params {
170pub length: __u16,
171pub info_flags: __u16,
172pub num_default_cylinders: __u32,
173pub num_default_heads: __u32,
174pub sectors_per_track: __u32,
175pub number_of_sectors: __u64,
176pub bytes_per_sector: __u16,
177pub dpte_ptr: __u32,
178pub key: __u16,
179pub device_path_info_length: __u8,
180pub reserved2: __u8,
181pub reserved3: __u16,
182pub host_bus_type: [__u8; 4usize],
183pub interface_type: [__u8; 8usize],
184pub interface_path: edd_device_params__bindgen_ty_1,
185pub device_path: edd_device_params__bindgen_ty_2,
186pub reserved4: __u8,
187pub checksum: __u8,
188}
189#[repr(C, packed)]
190#[derive(Debug, Copy, Clone)]
191pub struct edd_device_params__bindgen_ty_1__bindgen_ty_1 {
192pub base_address: __u16,
193pub reserved1: __u16,
194pub reserved2: __u32,
195}
196#[repr(C, packed)]
197#[derive(Debug, Copy, Clone)]
198pub struct edd_device_params__bindgen_ty_1__bindgen_ty_2 {
199pub bus: __u8,
200pub slot: __u8,
201pub function: __u8,
202pub channel: __u8,
203pub reserved: __u32,
204}
205#[repr(C, packed)]
206#[derive(Debug, Copy, Clone)]
207pub struct edd_device_params__bindgen_ty_1__bindgen_ty_3 {
208pub reserved: __u64,
209}
210#[repr(C, packed)]
211#[derive(Debug, Copy, Clone)]
212pub struct edd_device_params__bindgen_ty_1__bindgen_ty_4 {
213pub reserved: __u64,
214}
215#[repr(C, packed)]
216#[derive(Debug, Copy, Clone)]
217pub struct edd_device_params__bindgen_ty_1__bindgen_ty_5 {
218pub reserved: __u64,
219}
220#[repr(C, packed)]
221#[derive(Debug, Copy, Clone)]
222pub struct edd_device_params__bindgen_ty_1__bindgen_ty_6 {
223pub reserved: __u64,
224}
225#[repr(C, packed)]
226#[derive(Debug, Copy, Clone)]
227pub struct edd_device_params__bindgen_ty_2__bindgen_ty_1 {
228pub device: __u8,
229pub reserved1: __u8,
230pub reserved2: __u16,
231pub reserved3: __u32,
232pub reserved4: __u64,
233}
234#[repr(C, packed)]
235#[derive(Debug, Copy, Clone)]
236pub struct edd_device_params__bindgen_ty_2__bindgen_ty_2 {
237pub device: __u8,
238pub lun: __u8,
239pub reserved1: __u8,
240pub reserved2: __u8,
241pub reserved3: __u32,
242pub reserved4: __u64,
243}
244#[repr(C, packed)]
245#[derive(Debug, Copy, Clone)]
246pub struct edd_device_params__bindgen_ty_2__bindgen_ty_3 {
247pub id: __u16,
248pub lun: __u64,
249pub reserved1: __u16,
250pub reserved2: __u32,
251}
252#[repr(C, packed)]
253#[derive(Debug, Copy, Clone)]
254pub struct edd_device_params__bindgen_ty_2__bindgen_ty_4 {
255pub serial_number: __u64,
256pub reserved: __u64,
257}
258#[repr(C, packed)]
259#[derive(Debug, Copy, Clone)]
260pub struct edd_device_params__bindgen_ty_2__bindgen_ty_5 {
261pub eui: __u64,
262pub reserved: __u64,
263}
264#[repr(C, packed)]
265#[derive(Debug, Copy, Clone)]
266pub struct edd_device_params__bindgen_ty_2__bindgen_ty_6 {
267pub wwid: __u64,
268pub lun: __u64,
269}
270#[repr(C, packed)]
271#[derive(Debug, Copy, Clone)]
272pub struct edd_device_params__bindgen_ty_2__bindgen_ty_7 {
273pub identity_tag: __u64,
274pub reserved: __u64,
275}
276#[repr(C, packed)]
277#[derive(Debug, Copy, Clone)]
278pub struct edd_device_params__bindgen_ty_2__bindgen_ty_8 {
279pub array_number: __u32,
280pub reserved1: __u32,
281pub reserved2: __u64,
282}
283#[repr(C, packed)]
284#[derive(Debug, Copy, Clone)]
285pub struct edd_device_params__bindgen_ty_2__bindgen_ty_9 {
286pub device: __u8,
287pub reserved1: __u8,
288pub reserved2: __u16,
289pub reserved3: __u32,
290pub reserved4: __u64,
291}
292#[repr(C, packed)]
293#[derive(Debug, Copy, Clone)]
294pub struct edd_device_params__bindgen_ty_2__bindgen_ty_10 {
295pub reserved1: __u64,
296pub reserved2: __u64,
297}
298#[repr(C, packed)]
299#[derive(Copy, Clone)]
300pub struct edd_info {
301pub device: __u8,
302pub version: __u8,
303pub interface_support: __u16,
304pub legacy_max_cylinder: __u16,
305pub legacy_max_head: __u8,
306pub legacy_sectors_per_track: __u8,
307pub params: edd_device_params,
308}
309#[repr(C)]
310#[derive(Copy, Clone)]
311pub struct edd {
312pub mbr_signature: [crate::ctypes::c_uint; 16usize],
313pub edd_info: [edd_info; 6usize],
314pub mbr_signature_nr: crate::ctypes::c_uchar,
315pub edd_info_nr: crate::ctypes::c_uchar,
316}
317#[repr(C)]
318#[derive(Debug, Copy, Clone)]
319pub struct ist_info {
320pub signature: __u32,
321pub command: __u32,
322pub event: __u32,
323pub perf_level: __u32,
324}
325#[repr(C)]
326#[derive(Debug, Copy, Clone)]
327pub struct edid_info {
328pub dummy: [crate::ctypes::c_uchar; 128usize],
329}
330#[repr(C, packed)]
331#[derive(Debug, Copy, Clone)]
332pub struct setup_header {
333pub setup_sects: __u8,
334pub root_flags: __u16,
335pub syssize: __u32,
336pub ram_size: __u16,
337pub vid_mode: __u16,
338pub root_dev: __u16,
339pub boot_flag: __u16,
340pub jump: __u16,
341pub header: __u32,
342pub version: __u16,
343pub realmode_swtch: __u32,
344pub start_sys_seg: __u16,
345pub kernel_version: __u16,
346pub type_of_loader: __u8,
347pub loadflags: __u8,
348pub setup_move_size: __u16,
349pub code32_start: __u32,
350pub ramdisk_image: __u32,
351pub ramdisk_size: __u32,
352pub bootsect_kludge: __u32,
353pub heap_end_ptr: __u16,
354pub ext_loader_ver: __u8,
355pub ext_loader_type: __u8,
356pub cmd_line_ptr: __u32,
357pub initrd_addr_max: __u32,
358pub kernel_alignment: __u32,
359pub relocatable_kernel: __u8,
360pub min_alignment: __u8,
361pub xloadflags: __u16,
362pub cmdline_size: __u32,
363pub hardware_subarch: __u32,
364pub hardware_subarch_data: __u64,
365pub payload_offset: __u32,
366pub payload_length: __u32,
367pub setup_data: __u64,
368pub pref_address: __u64,
369pub init_size: __u32,
370pub handover_offset: __u32,
371pub kernel_info_offset: __u32,
372}
373#[repr(C)]
374#[derive(Debug, Copy, Clone)]
375pub struct sys_desc_table {
376pub length: __u16,
377pub table: [__u8; 14usize],
378}
379#[repr(C, packed)]
380#[derive(Debug, Copy, Clone)]
381pub struct olpc_ofw_header {
382pub ofw_magic: __u32,
383pub ofw_version: __u32,
384pub cif_handler: __u32,
385pub irq_desc_table: __u32,
386}
387#[repr(C)]
388#[derive(Debug, Copy, Clone)]
389pub struct efi_info {
390pub efi_loader_signature: __u32,
391pub efi_systab: __u32,
392pub efi_memdesc_size: __u32,
393pub efi_memdesc_version: __u32,
394pub efi_memmap: __u32,
395pub efi_memmap_size: __u32,
396pub efi_systab_hi: __u32,
397pub efi_memmap_hi: __u32,
398}
399#[repr(C, packed)]
400#[derive(Copy, Clone)]
401pub struct boot_params {
402pub screen_info: screen_info,
403pub apm_bios_info: apm_bios_info,
404pub _pad2: [__u8; 4usize],
405pub tboot_addr: __u64,
406pub ist_info: ist_info,
407pub acpi_rsdp_addr: __u64,
408pub _pad3: [__u8; 8usize],
409pub hd0_info: [__u8; 16usize],
410pub hd1_info: [__u8; 16usize],
411pub sys_desc_table: sys_desc_table,
412pub olpc_ofw_header: olpc_ofw_header,
413pub ext_ramdisk_image: __u32,
414pub ext_ramdisk_size: __u32,
415pub ext_cmd_line_ptr: __u32,
416pub _pad4: [__u8; 112usize],
417pub cc_blob_address: __u32,
418pub edid_info: edid_info,
419pub efi_info: efi_info,
420pub alt_mem_k: __u32,
421pub scratch: __u32,
422pub e820_entries: __u8,
423pub eddbuf_entries: __u8,
424pub edd_mbr_sig_buf_entries: __u8,
425pub kbd_status: __u8,
426pub secure_boot: __u8,
427pub _pad5: [__u8; 2usize],
428pub sentinel: __u8,
429pub _pad6: [__u8; 1usize],
430pub hdr: setup_header,
431pub _pad7: [__u8; 36usize],
432pub edd_mbr_sig_buffer: [__u32; 16usize],
433pub e820_table: [boot_e820_entry; 128usize],
434pub _pad8: [__u8; 48usize],
435pub eddbuf: [edd_info; 6usize],
436pub _pad9: [__u8; 276usize],
437}
438pub const SETUP_NONE: u32 = 0;
439pub const SETUP_E820_EXT: u32 = 1;
440pub const SETUP_DTB: u32 = 2;
441pub const SETUP_PCI: u32 = 3;
442pub const SETUP_EFI: u32 = 4;
443pub const SETUP_APPLE_PROPERTIES: u32 = 5;
444pub const SETUP_JAILHOUSE: u32 = 6;
445pub const SETUP_CC_BLOB: u32 = 7;
446pub const SETUP_IMA: u32 = 8;
447pub const SETUP_RNG_SEED: u32 = 9;
448pub const SETUP_ENUM_MAX: u32 = 9;
449pub const SETUP_INDIRECT: u32 = 2147483648;
450pub const SETUP_TYPE_MAX: u32 = 2147483657;
451pub const __BITS_PER_LONG_LONG: u32 = 64;
452pub const RAMDISK_IMAGE_START_MASK: u32 = 2047;
453pub const RAMDISK_PROMPT_FLAG: u32 = 32768;
454pub const RAMDISK_LOAD_FLAG: u32 = 16384;
455pub const LOADED_HIGH: u32 = 1;
456pub const KASLR_FLAG: u32 = 2;
457pub const QUIET_FLAG: u32 = 32;
458pub const KEEP_SEGMENTS: u32 = 64;
459pub const CAN_USE_HEAP: u32 = 128;
460pub const XLF_KERNEL_64: u32 = 1;
461pub const XLF_CAN_BE_LOADED_ABOVE_4G: u32 = 2;
462pub const XLF_EFI_HANDOVER_32: u32 = 4;
463pub const XLF_EFI_HANDOVER_64: u32 = 8;
464pub const XLF_EFI_KEXEC: u32 = 16;
465pub const XLF_5LEVEL: u32 = 32;
466pub const XLF_5LEVEL_ENABLED: u32 = 64;
467pub const XLF_MEM_ENCRYPTION: u32 = 128;
468pub const VIDEO_TYPE_MDA: u32 = 16;
469pub const VIDEO_TYPE_CGA: u32 = 17;
470pub const VIDEO_TYPE_EGAM: u32 = 32;
471pub const VIDEO_TYPE_EGAC: u32 = 33;
472pub const VIDEO_TYPE_VGAC: u32 = 34;
473pub const VIDEO_TYPE_VLFB: u32 = 35;
474pub const VIDEO_TYPE_PICA_S3: u32 = 48;
475pub const VIDEO_TYPE_MIPS_G364: u32 = 49;
476pub const VIDEO_TYPE_SGI: u32 = 51;
477pub const VIDEO_TYPE_TGAC: u32 = 64;
478pub const VIDEO_TYPE_SUN: u32 = 80;
479pub const VIDEO_TYPE_SUNPCI: u32 = 81;
480pub const VIDEO_TYPE_PMAC: u32 = 96;
481pub const VIDEO_TYPE_EFI: u32 = 112;
482pub const VIDEO_FLAGS_NOCURSOR: u32 = 1;
483pub const VIDEO_CAPABILITY_SKIP_QUIRKS: u32 = 1;
484pub const VIDEO_CAPABILITY_64BIT_BASE: u32 = 2;
485pub const APM_STATE_READY: u32 = 0;
486pub const APM_STATE_STANDBY: u32 = 1;
487pub const APM_STATE_SUSPEND: u32 = 2;
488pub const APM_STATE_OFF: u32 = 3;
489pub const APM_STATE_BUSY: u32 = 4;
490pub const APM_STATE_REJECT: u32 = 5;
491pub const APM_STATE_OEM_SYS: u32 = 32;
492pub const APM_STATE_OEM_DEV: u32 = 64;
493pub const APM_STATE_DISABLE: u32 = 0;
494pub const APM_STATE_ENABLE: u32 = 1;
495pub const APM_STATE_DISENGAGE: u32 = 0;
496pub const APM_STATE_ENGAGE: u32 = 1;
497pub const APM_SYS_STANDBY: u32 = 1;
498pub const APM_SYS_SUSPEND: u32 = 2;
499pub const APM_NORMAL_RESUME: u32 = 3;
500pub const APM_CRITICAL_RESUME: u32 = 4;
501pub const APM_LOW_BATTERY: u32 = 5;
502pub const APM_POWER_STATUS_CHANGE: u32 = 6;
503pub const APM_UPDATE_TIME: u32 = 7;
504pub const APM_CRITICAL_SUSPEND: u32 = 8;
505pub const APM_USER_STANDBY: u32 = 9;
506pub const APM_USER_SUSPEND: u32 = 10;
507pub const APM_STANDBY_RESUME: u32 = 11;
508pub const APM_CAPABILITY_CHANGE: u32 = 12;
509pub const APM_USER_HIBERNATION: u32 = 13;
510pub const APM_HIBERNATION_RESUME: u32 = 14;
511pub const APM_SUCCESS: u32 = 0;
512pub const APM_DISABLED: u32 = 1;
513pub const APM_CONNECTED: u32 = 2;
514pub const APM_NOT_CONNECTED: u32 = 3;
515pub const APM_16_CONNECTED: u32 = 5;
516pub const APM_16_UNSUPPORTED: u32 = 6;
517pub const APM_32_CONNECTED: u32 = 7;
518pub const APM_32_UNSUPPORTED: u32 = 8;
519pub const APM_BAD_DEVICE: u32 = 9;
520pub const APM_BAD_PARAM: u32 = 10;
521pub const APM_NOT_ENGAGED: u32 = 11;
522pub const APM_BAD_FUNCTION: u32 = 12;
523pub const APM_RESUME_DISABLED: u32 = 13;
524pub const APM_NO_ERROR: u32 = 83;
525pub const APM_BAD_STATE: u32 = 96;
526pub const APM_NO_EVENTS: u32 = 128;
527pub const APM_NOT_PRESENT: u32 = 134;
528pub const APM_DEVICE_BIOS: u32 = 0;
529pub const APM_DEVICE_ALL: u32 = 1;
530pub const APM_DEVICE_DISPLAY: u32 = 256;
531pub const APM_DEVICE_STORAGE: u32 = 512;
532pub const APM_DEVICE_PARALLEL: u32 = 768;
533pub const APM_DEVICE_SERIAL: u32 = 1024;
534pub const APM_DEVICE_NETWORK: u32 = 1280;
535pub const APM_DEVICE_PCMCIA: u32 = 1536;
536pub const APM_DEVICE_BATTERY: u32 = 32768;
537pub const APM_DEVICE_OEM: u32 = 57344;
538pub const APM_DEVICE_OLD_ALL: u32 = 65535;
539pub const APM_DEVICE_CLASS: u32 = 255;
540pub const APM_DEVICE_MASK: u32 = 65280;
541pub const APM_MAX_BATTERIES: u32 = 2;
542pub const APM_CAP_GLOBAL_STANDBY: u32 = 1;
543pub const APM_CAP_GLOBAL_SUSPEND: u32 = 2;
544pub const APM_CAP_RESUME_STANDBY_TIMER: u32 = 4;
545pub const APM_CAP_RESUME_SUSPEND_TIMER: u32 = 8;
546pub const APM_CAP_RESUME_STANDBY_RING: u32 = 16;
547pub const APM_CAP_RESUME_SUSPEND_RING: u32 = 32;
548pub const APM_CAP_RESUME_STANDBY_PCMCIA: u32 = 64;
549pub const APM_CAP_RESUME_SUSPEND_PCMCIA: u32 = 128;
550pub const _IOC_NRBITS: u32 = 8;
551pub const _IOC_TYPEBITS: u32 = 8;
552pub const _IOC_SIZEBITS: u32 = 14;
553pub const _IOC_DIRBITS: u32 = 2;
554pub const _IOC_NRMASK: u32 = 255;
555pub const _IOC_TYPEMASK: u32 = 255;
556pub const _IOC_SIZEMASK: u32 = 16383;
557pub const _IOC_DIRMASK: u32 = 3;
558pub const _IOC_NRSHIFT: u32 = 0;
559pub const _IOC_TYPESHIFT: u32 = 8;
560pub const _IOC_SIZESHIFT: u32 = 16;
561pub const _IOC_DIRSHIFT: u32 = 30;
562pub const _IOC_NONE: u32 = 0;
563pub const _IOC_WRITE: u32 = 1;
564pub const _IOC_READ: u32 = 2;
565pub const IOC_IN: u32 = 1073741824;
566pub const IOC_OUT: u32 = 2147483648;
567pub const IOC_INOUT: u32 = 3221225472;
568pub const IOCSIZE_MASK: u32 = 1073676288;
569pub const IOCSIZE_SHIFT: u32 = 16;
570pub const EDDNR: u32 = 489;
571pub const EDDBUF: u32 = 3328;
572pub const EDDMAXNR: u32 = 6;
573pub const EDDEXTSIZE: u32 = 8;
574pub const EDDPARMSIZE: u32 = 74;
575pub const CHECKEXTENSIONSPRESENT: u32 = 65;
576pub const GETDEVICEPARAMETERS: u32 = 72;
577pub const LEGACYGETDEVICEPARAMETERS: u32 = 8;
578pub const EDDMAGIC1: u32 = 21930;
579pub const EDDMAGIC2: u32 = 43605;
580pub const READ_SECTORS: u32 = 2;
581pub const EDD_MBR_SIG_OFFSET: u32 = 440;
582pub const EDD_MBR_SIG_BUF: u32 = 656;
583pub const EDD_MBR_SIG_MAX: u32 = 16;
584pub const EDD_MBR_SIG_NR_BUF: u32 = 490;
585pub const EDD_EXT_FIXED_DISK_ACCESS: u32 = 1;
586pub const EDD_EXT_DEVICE_LOCKING_AND_EJECTING: u32 = 2;
587pub const EDD_EXT_ENHANCED_DISK_DRIVE_SUPPORT: u32 = 4;
588pub const EDD_EXT_64BIT_EXTENSIONS: u32 = 8;
589pub const EDD_INFO_DMA_BOUNDARY_ERROR_TRANSPARENT: u32 = 1;
590pub const EDD_INFO_GEOMETRY_VALID: u32 = 2;
591pub const EDD_INFO_REMOVABLE: u32 = 4;
592pub const EDD_INFO_WRITE_VERIFY: u32 = 8;
593pub const EDD_INFO_MEDIA_CHANGE_NOTIFICATION: u32 = 16;
594pub const EDD_INFO_LOCKABLE: u32 = 32;
595pub const EDD_INFO_NO_MEDIA_PRESENT: u32 = 64;
596pub const EDD_INFO_USE_INT13_FN50: u32 = 128;
597pub const E820_MAX_ENTRIES_ZEROPAGE: u32 = 128;
598pub const JAILHOUSE_SETUP_REQUIRED_VERSION: u32 = 1;
599#[repr(u32)]
600#[non_exhaustive]
601#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
602pub enum x86_hardware_subarch {
603X86_SUBARCH_PC = 0,
604X86_SUBARCH_LGUEST = 1,
605X86_SUBARCH_XEN = 2,
606X86_SUBARCH_INTEL_MID = 3,
607X86_SUBARCH_CE4100 = 4,
608X86_NR_SUBARCHS = 5,
609}
610#[repr(C)]
611#[derive(Copy, Clone)]
612pub union edd_device_params__bindgen_ty_1 {
613pub isa: edd_device_params__bindgen_ty_1__bindgen_ty_1,
614pub pci: edd_device_params__bindgen_ty_1__bindgen_ty_2,
615pub ibnd: edd_device_params__bindgen_ty_1__bindgen_ty_3,
616pub xprs: edd_device_params__bindgen_ty_1__bindgen_ty_4,
617pub htpt: edd_device_params__bindgen_ty_1__bindgen_ty_5,
618pub unknown: edd_device_params__bindgen_ty_1__bindgen_ty_6,
619}
620#[repr(C)]
621#[derive(Copy, Clone)]
622pub union edd_device_params__bindgen_ty_2 {
623pub ata: edd_device_params__bindgen_ty_2__bindgen_ty_1,
624pub atapi: edd_device_params__bindgen_ty_2__bindgen_ty_2,
625pub scsi: edd_device_params__bindgen_ty_2__bindgen_ty_3,
626pub usb: edd_device_params__bindgen_ty_2__bindgen_ty_4,
627pub i1394: edd_device_params__bindgen_ty_2__bindgen_ty_5,
628pub fibre: edd_device_params__bindgen_ty_2__bindgen_ty_6,
629pub i2o: edd_device_params__bindgen_ty_2__bindgen_ty_7,
630pub raid: edd_device_params__bindgen_ty_2__bindgen_ty_8,
631pub sata: edd_device_params__bindgen_ty_2__bindgen_ty_9,
632pub unknown: edd_device_params__bindgen_ty_2__bindgen_ty_10,
633}
634impl<T> __IncompleteArrayField<T> {
635#[inline]
636pub const fn new() -> Self {
637__IncompleteArrayField(::core::marker::PhantomData, [])
638}
639#[inline]
640pub fn as_ptr(&self) -> *const T {
641self as *const _ as *const T
642}
643#[inline]
644pub fn as_mut_ptr(&mut self) -> *mut T {
645self as *mut _ as *mut T
646}
647#[inline]
648pub unsafe fn as_slice(&self, len: usize) -> &[T] {
649::core::slice::from_raw_parts(self.as_ptr(), len)
650}
651#[inline]
652pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
653::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
654}
655}
656impl<T> ::core::fmt::Debug for __IncompleteArrayField<T> {
657fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
658fmt.write_str("__IncompleteArrayField")
659}
660}