1#![allow(
7 non_camel_case_types,
8 non_upper_case_globals,
9 dead_code,
10 non_snake_case,
11 clippy::ptr_as_ptr,
12 clippy::undocumented_unsafe_blocks,
13 missing_debug_implementations,
14 clippy::tests_outside_test_module,
15 unsafe_op_in_unsafe_fn,
16 clippy::redundant_static_lifetimes
17)]
18
19pub const MPC_SIGNATURE: &[u8; 5] = b"PCMP\0";
20pub const MP_PROCESSOR: u32 = 0;
21pub const MP_BUS: u32 = 1;
22pub const MP_IOAPIC: u32 = 2;
23pub const MP_INTSRC: u32 = 3;
24pub const MP_LINTSRC: u32 = 4;
25pub const MP_TRANSLATION: u32 = 192;
26pub const CPU_ENABLED: u32 = 1;
27pub const CPU_BOOTPROCESSOR: u32 = 2;
28pub const CPU_STEPPING_MASK: u32 = 15;
29pub const CPU_MODEL_MASK: u32 = 240;
30pub const CPU_FAMILY_MASK: u32 = 3840;
31pub const BUSTYPE_EISA: &[u8; 5] = b"EISA\0";
32pub const BUSTYPE_ISA: &[u8; 4] = b"ISA\0";
33pub const BUSTYPE_INTERN: &[u8; 7] = b"INTERN\0";
34pub const BUSTYPE_MCA: &[u8; 4] = b"MCA\0";
35pub const BUSTYPE_VL: &[u8; 3] = b"VL\0";
36pub const BUSTYPE_PCI: &[u8; 4] = b"PCI\0";
37pub const BUSTYPE_PCMCIA: &[u8; 7] = b"PCMCIA\0";
38pub const BUSTYPE_CBUS: &[u8; 5] = b"CBUS\0";
39pub const BUSTYPE_CBUSII: &[u8; 7] = b"CBUSII\0";
40pub const BUSTYPE_FUTURE: &[u8; 7] = b"FUTURE\0";
41pub const BUSTYPE_MBI: &[u8; 4] = b"MBI\0";
42pub const BUSTYPE_MBII: &[u8; 5] = b"MBII\0";
43pub const BUSTYPE_MPI: &[u8; 4] = b"MPI\0";
44pub const BUSTYPE_MPSA: &[u8; 5] = b"MPSA\0";
45pub const BUSTYPE_NUBUS: &[u8; 6] = b"NUBUS\0";
46pub const BUSTYPE_TC: &[u8; 3] = b"TC\0";
47pub const BUSTYPE_VME: &[u8; 4] = b"VME\0";
48pub const BUSTYPE_XPRESS: &[u8; 7] = b"XPRESS\0";
49pub const MPC_APIC_USABLE: u32 = 1;
50pub const MP_IRQPOL_DEFAULT: u32 = 0;
51pub const MP_IRQPOL_ACTIVE_HIGH: u32 = 1;
52pub const MP_IRQPOL_RESERVED: u32 = 2;
53pub const MP_IRQPOL_ACTIVE_LOW: u32 = 3;
54pub const MP_IRQPOL_MASK: u32 = 3;
55pub const MP_IRQTRIG_DEFAULT: u32 = 0;
56pub const MP_IRQTRIG_EDGE: u32 = 4;
57pub const MP_IRQTRIG_RESERVED: u32 = 8;
58pub const MP_IRQTRIG_LEVEL: u32 = 12;
59pub const MP_IRQTRIG_MASK: u32 = 12;
60pub const MP_APIC_ALL: u32 = 255;
61pub const MPC_OEM_SIGNATURE: &[u8; 5] = b"_OEM\0";
62#[repr(C)]
63#[derive(Debug, Default, Copy, Clone, PartialEq)]
64pub struct mpf_intel {
65 pub signature: [::std::os::raw::c_char; 4usize],
66 pub physptr: ::std::os::raw::c_uint,
67 pub length: ::std::os::raw::c_uchar,
68 pub specification: ::std::os::raw::c_uchar,
69 pub checksum: ::std::os::raw::c_uchar,
70 pub feature1: ::std::os::raw::c_uchar,
71 pub feature2: ::std::os::raw::c_uchar,
72 pub feature3: ::std::os::raw::c_uchar,
73 pub feature4: ::std::os::raw::c_uchar,
74 pub feature5: ::std::os::raw::c_uchar,
75}
76#[allow(clippy::unnecessary_operation, clippy::identity_op)]
77const _: () = {
78 ["Size of mpf_intel"][::std::mem::size_of::<mpf_intel>() - 16usize];
79 ["Alignment of mpf_intel"][::std::mem::align_of::<mpf_intel>() - 4usize];
80 ["Offset of field: mpf_intel::signature"]
81 [::std::mem::offset_of!(mpf_intel, signature) - 0usize];
82 ["Offset of field: mpf_intel::physptr"][::std::mem::offset_of!(mpf_intel, physptr) - 4usize];
83 ["Offset of field: mpf_intel::length"][::std::mem::offset_of!(mpf_intel, length) - 8usize];
84 ["Offset of field: mpf_intel::specification"]
85 [::std::mem::offset_of!(mpf_intel, specification) - 9usize];
86 ["Offset of field: mpf_intel::checksum"][::std::mem::offset_of!(mpf_intel, checksum) - 10usize];
87 ["Offset of field: mpf_intel::feature1"][::std::mem::offset_of!(mpf_intel, feature1) - 11usize];
88 ["Offset of field: mpf_intel::feature2"][::std::mem::offset_of!(mpf_intel, feature2) - 12usize];
89 ["Offset of field: mpf_intel::feature3"][::std::mem::offset_of!(mpf_intel, feature3) - 13usize];
90 ["Offset of field: mpf_intel::feature4"][::std::mem::offset_of!(mpf_intel, feature4) - 14usize];
91 ["Offset of field: mpf_intel::feature5"][::std::mem::offset_of!(mpf_intel, feature5) - 15usize];
92};
93#[repr(C)]
94#[derive(Debug, Default, Copy, Clone, PartialEq)]
95pub struct mpc_table {
96 pub signature: [::std::os::raw::c_char; 4usize],
97 pub length: ::std::os::raw::c_ushort,
98 pub spec: ::std::os::raw::c_char,
99 pub checksum: ::std::os::raw::c_char,
100 pub oem: [::std::os::raw::c_char; 8usize],
101 pub productid: [::std::os::raw::c_char; 12usize],
102 pub oemptr: ::std::os::raw::c_uint,
103 pub oemsize: ::std::os::raw::c_ushort,
104 pub oemcount: ::std::os::raw::c_ushort,
105 pub lapic: ::std::os::raw::c_uint,
106 pub reserved: ::std::os::raw::c_uint,
107}
108#[allow(clippy::unnecessary_operation, clippy::identity_op)]
109const _: () = {
110 ["Size of mpc_table"][::std::mem::size_of::<mpc_table>() - 44usize];
111 ["Alignment of mpc_table"][::std::mem::align_of::<mpc_table>() - 4usize];
112 ["Offset of field: mpc_table::signature"]
113 [::std::mem::offset_of!(mpc_table, signature) - 0usize];
114 ["Offset of field: mpc_table::length"][::std::mem::offset_of!(mpc_table, length) - 4usize];
115 ["Offset of field: mpc_table::spec"][::std::mem::offset_of!(mpc_table, spec) - 6usize];
116 ["Offset of field: mpc_table::checksum"][::std::mem::offset_of!(mpc_table, checksum) - 7usize];
117 ["Offset of field: mpc_table::oem"][::std::mem::offset_of!(mpc_table, oem) - 8usize];
118 ["Offset of field: mpc_table::productid"]
119 [::std::mem::offset_of!(mpc_table, productid) - 16usize];
120 ["Offset of field: mpc_table::oemptr"][::std::mem::offset_of!(mpc_table, oemptr) - 28usize];
121 ["Offset of field: mpc_table::oemsize"][::std::mem::offset_of!(mpc_table, oemsize) - 32usize];
122 ["Offset of field: mpc_table::oemcount"][::std::mem::offset_of!(mpc_table, oemcount) - 34usize];
123 ["Offset of field: mpc_table::lapic"][::std::mem::offset_of!(mpc_table, lapic) - 36usize];
124 ["Offset of field: mpc_table::reserved"][::std::mem::offset_of!(mpc_table, reserved) - 40usize];
125};
126#[repr(C)]
127#[derive(Debug, Default, Copy, Clone, PartialEq)]
128pub struct mpc_cpu {
129 pub type_: ::std::os::raw::c_uchar,
130 pub apicid: ::std::os::raw::c_uchar,
131 pub apicver: ::std::os::raw::c_uchar,
132 pub cpuflag: ::std::os::raw::c_uchar,
133 pub cpufeature: ::std::os::raw::c_uint,
134 pub featureflag: ::std::os::raw::c_uint,
135 pub reserved: [::std::os::raw::c_uint; 2usize],
136}
137#[allow(clippy::unnecessary_operation, clippy::identity_op)]
138const _: () = {
139 ["Size of mpc_cpu"][::std::mem::size_of::<mpc_cpu>() - 20usize];
140 ["Alignment of mpc_cpu"][::std::mem::align_of::<mpc_cpu>() - 4usize];
141 ["Offset of field: mpc_cpu::type_"][::std::mem::offset_of!(mpc_cpu, type_) - 0usize];
142 ["Offset of field: mpc_cpu::apicid"][::std::mem::offset_of!(mpc_cpu, apicid) - 1usize];
143 ["Offset of field: mpc_cpu::apicver"][::std::mem::offset_of!(mpc_cpu, apicver) - 2usize];
144 ["Offset of field: mpc_cpu::cpuflag"][::std::mem::offset_of!(mpc_cpu, cpuflag) - 3usize];
145 ["Offset of field: mpc_cpu::cpufeature"][::std::mem::offset_of!(mpc_cpu, cpufeature) - 4usize];
146 ["Offset of field: mpc_cpu::featureflag"]
147 [::std::mem::offset_of!(mpc_cpu, featureflag) - 8usize];
148 ["Offset of field: mpc_cpu::reserved"][::std::mem::offset_of!(mpc_cpu, reserved) - 12usize];
149};
150#[repr(C)]
151#[derive(Debug, Default, Copy, Clone, PartialEq)]
152pub struct mpc_bus {
153 pub type_: ::std::os::raw::c_uchar,
154 pub busid: ::std::os::raw::c_uchar,
155 pub bustype: [::std::os::raw::c_uchar; 6usize],
156}
157#[allow(clippy::unnecessary_operation, clippy::identity_op)]
158const _: () = {
159 ["Size of mpc_bus"][::std::mem::size_of::<mpc_bus>() - 8usize];
160 ["Alignment of mpc_bus"][::std::mem::align_of::<mpc_bus>() - 1usize];
161 ["Offset of field: mpc_bus::type_"][::std::mem::offset_of!(mpc_bus, type_) - 0usize];
162 ["Offset of field: mpc_bus::busid"][::std::mem::offset_of!(mpc_bus, busid) - 1usize];
163 ["Offset of field: mpc_bus::bustype"][::std::mem::offset_of!(mpc_bus, bustype) - 2usize];
164};
165#[repr(C)]
166#[derive(Debug, Default, Copy, Clone, PartialEq)]
167pub struct mpc_ioapic {
168 pub type_: ::std::os::raw::c_uchar,
169 pub apicid: ::std::os::raw::c_uchar,
170 pub apicver: ::std::os::raw::c_uchar,
171 pub flags: ::std::os::raw::c_uchar,
172 pub apicaddr: ::std::os::raw::c_uint,
173}
174#[allow(clippy::unnecessary_operation, clippy::identity_op)]
175const _: () = {
176 ["Size of mpc_ioapic"][::std::mem::size_of::<mpc_ioapic>() - 8usize];
177 ["Alignment of mpc_ioapic"][::std::mem::align_of::<mpc_ioapic>() - 4usize];
178 ["Offset of field: mpc_ioapic::type_"][::std::mem::offset_of!(mpc_ioapic, type_) - 0usize];
179 ["Offset of field: mpc_ioapic::apicid"][::std::mem::offset_of!(mpc_ioapic, apicid) - 1usize];
180 ["Offset of field: mpc_ioapic::apicver"][::std::mem::offset_of!(mpc_ioapic, apicver) - 2usize];
181 ["Offset of field: mpc_ioapic::flags"][::std::mem::offset_of!(mpc_ioapic, flags) - 3usize];
182 ["Offset of field: mpc_ioapic::apicaddr"]
183 [::std::mem::offset_of!(mpc_ioapic, apicaddr) - 4usize];
184};
185#[repr(C)]
186#[derive(Debug, Default, Copy, Clone, PartialEq)]
187pub struct mpc_intsrc {
188 pub type_: ::std::os::raw::c_uchar,
189 pub irqtype: ::std::os::raw::c_uchar,
190 pub irqflag: ::std::os::raw::c_ushort,
191 pub srcbus: ::std::os::raw::c_uchar,
192 pub srcbusirq: ::std::os::raw::c_uchar,
193 pub dstapic: ::std::os::raw::c_uchar,
194 pub dstirq: ::std::os::raw::c_uchar,
195}
196#[allow(clippy::unnecessary_operation, clippy::identity_op)]
197const _: () = {
198 ["Size of mpc_intsrc"][::std::mem::size_of::<mpc_intsrc>() - 8usize];
199 ["Alignment of mpc_intsrc"][::std::mem::align_of::<mpc_intsrc>() - 2usize];
200 ["Offset of field: mpc_intsrc::type_"][::std::mem::offset_of!(mpc_intsrc, type_) - 0usize];
201 ["Offset of field: mpc_intsrc::irqtype"][::std::mem::offset_of!(mpc_intsrc, irqtype) - 1usize];
202 ["Offset of field: mpc_intsrc::irqflag"][::std::mem::offset_of!(mpc_intsrc, irqflag) - 2usize];
203 ["Offset of field: mpc_intsrc::srcbus"][::std::mem::offset_of!(mpc_intsrc, srcbus) - 4usize];
204 ["Offset of field: mpc_intsrc::srcbusirq"]
205 [::std::mem::offset_of!(mpc_intsrc, srcbusirq) - 5usize];
206 ["Offset of field: mpc_intsrc::dstapic"][::std::mem::offset_of!(mpc_intsrc, dstapic) - 6usize];
207 ["Offset of field: mpc_intsrc::dstirq"][::std::mem::offset_of!(mpc_intsrc, dstirq) - 7usize];
208};
209pub mod mp_irq_source_types {
210 pub type Type = ::std::os::raw::c_uint;
211 pub const mp_INT: Type = 0;
212 pub const mp_NMI: Type = 1;
213 pub const mp_SMI: Type = 2;
214 pub const mp_ExtINT: Type = 3;
215}
216#[repr(C)]
217#[derive(Debug, Default, Copy, Clone, PartialEq)]
218pub struct mpc_lintsrc {
219 pub type_: ::std::os::raw::c_uchar,
220 pub irqtype: ::std::os::raw::c_uchar,
221 pub irqflag: ::std::os::raw::c_ushort,
222 pub srcbusid: ::std::os::raw::c_uchar,
223 pub srcbusirq: ::std::os::raw::c_uchar,
224 pub destapic: ::std::os::raw::c_uchar,
225 pub destapiclint: ::std::os::raw::c_uchar,
226}
227#[allow(clippy::unnecessary_operation, clippy::identity_op)]
228const _: () = {
229 ["Size of mpc_lintsrc"][::std::mem::size_of::<mpc_lintsrc>() - 8usize];
230 ["Alignment of mpc_lintsrc"][::std::mem::align_of::<mpc_lintsrc>() - 2usize];
231 ["Offset of field: mpc_lintsrc::type_"][::std::mem::offset_of!(mpc_lintsrc, type_) - 0usize];
232 ["Offset of field: mpc_lintsrc::irqtype"]
233 [::std::mem::offset_of!(mpc_lintsrc, irqtype) - 1usize];
234 ["Offset of field: mpc_lintsrc::irqflag"]
235 [::std::mem::offset_of!(mpc_lintsrc, irqflag) - 2usize];
236 ["Offset of field: mpc_lintsrc::srcbusid"]
237 [::std::mem::offset_of!(mpc_lintsrc, srcbusid) - 4usize];
238 ["Offset of field: mpc_lintsrc::srcbusirq"]
239 [::std::mem::offset_of!(mpc_lintsrc, srcbusirq) - 5usize];
240 ["Offset of field: mpc_lintsrc::destapic"]
241 [::std::mem::offset_of!(mpc_lintsrc, destapic) - 6usize];
242 ["Offset of field: mpc_lintsrc::destapiclint"]
243 [::std::mem::offset_of!(mpc_lintsrc, destapiclint) - 7usize];
244};
245#[repr(C)]
246#[derive(Debug, Default, Copy, Clone, PartialEq)]
247pub struct mpc_oemtable {
248 pub signature: [::std::os::raw::c_char; 4usize],
249 pub length: ::std::os::raw::c_ushort,
250 pub rev: ::std::os::raw::c_char,
251 pub checksum: ::std::os::raw::c_char,
252 pub mpc: [::std::os::raw::c_char; 8usize],
253}
254#[allow(clippy::unnecessary_operation, clippy::identity_op)]
255const _: () = {
256 ["Size of mpc_oemtable"][::std::mem::size_of::<mpc_oemtable>() - 16usize];
257 ["Alignment of mpc_oemtable"][::std::mem::align_of::<mpc_oemtable>() - 2usize];
258 ["Offset of field: mpc_oemtable::signature"]
259 [::std::mem::offset_of!(mpc_oemtable, signature) - 0usize];
260 ["Offset of field: mpc_oemtable::length"]
261 [::std::mem::offset_of!(mpc_oemtable, length) - 4usize];
262 ["Offset of field: mpc_oemtable::rev"][::std::mem::offset_of!(mpc_oemtable, rev) - 6usize];
263 ["Offset of field: mpc_oemtable::checksum"]
264 [::std::mem::offset_of!(mpc_oemtable, checksum) - 7usize];
265 ["Offset of field: mpc_oemtable::mpc"][::std::mem::offset_of!(mpc_oemtable, mpc) - 8usize];
266};
267pub mod mp_bustype {
268 pub type Type = ::std::os::raw::c_uint;
269 pub const MP_BUS_ISA: Type = 1;
270 pub const MP_BUS_EISA: Type = 2;
271 pub const MP_BUS_PCI: Type = 3;
272}