1 // Copyright 2019 The ChromiumOS Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #![allow(warnings)]
6
7 /* automatically generated by rust-bindgen */
8
9 // manually added, needs to be included when this crate gets automated bindgen
10 use zerocopy::AsBytes;
11 use zerocopy::FromBytes;
12
13 pub const MPC_SIGNATURE: &'static [u8; 5usize] = b"PCMP\x00";
14 pub const MP_PROCESSOR: ::std::os::raw::c_uint = 0;
15 pub const MP_BUS: ::std::os::raw::c_uint = 1;
16 pub const MP_IOAPIC: ::std::os::raw::c_uint = 2;
17 pub const MP_INTSRC: ::std::os::raw::c_uint = 3;
18 pub const MP_LINTSRC: ::std::os::raw::c_uint = 4;
19 pub const MP_TRANSLATION: ::std::os::raw::c_uint = 192;
20 pub const CPU_ENABLED: ::std::os::raw::c_uint = 1;
21 pub const CPU_BOOTPROCESSOR: ::std::os::raw::c_uint = 2;
22 pub const CPU_STEPPING_MASK: ::std::os::raw::c_uint = 15;
23 pub const CPU_MODEL_MASK: ::std::os::raw::c_uint = 240;
24 pub const CPU_FAMILY_MASK: ::std::os::raw::c_uint = 3840;
25 pub const BUSTYPE_EISA: &'static [u8; 5usize] = b"EISA\x00";
26 pub const BUSTYPE_ISA: &'static [u8; 4usize] = b"ISA\x00";
27 pub const BUSTYPE_INTERN: &'static [u8; 7usize] = b"INTERN\x00";
28 pub const BUSTYPE_MCA: &'static [u8; 4usize] = b"MCA\x00";
29 pub const BUSTYPE_VL: &'static [u8; 3usize] = b"VL\x00";
30 pub const BUSTYPE_PCI: &'static [u8; 4usize] = b"PCI\x00";
31 pub const BUSTYPE_PCMCIA: &'static [u8; 7usize] = b"PCMCIA\x00";
32 pub const BUSTYPE_CBUS: &'static [u8; 5usize] = b"CBUS\x00";
33 pub const BUSTYPE_CBUSII: &'static [u8; 7usize] = b"CBUSII\x00";
34 pub const BUSTYPE_FUTURE: &'static [u8; 7usize] = b"FUTURE\x00";
35 pub const BUSTYPE_MBI: &'static [u8; 4usize] = b"MBI\x00";
36 pub const BUSTYPE_MBII: &'static [u8; 5usize] = b"MBII\x00";
37 pub const BUSTYPE_MPI: &'static [u8; 4usize] = b"MPI\x00";
38 pub const BUSTYPE_MPSA: &'static [u8; 5usize] = b"MPSA\x00";
39 pub const BUSTYPE_NUBUS: &'static [u8; 6usize] = b"NUBUS\x00";
40 pub const BUSTYPE_TC: &'static [u8; 3usize] = b"TC\x00";
41 pub const BUSTYPE_VME: &'static [u8; 4usize] = b"VME\x00";
42 pub const BUSTYPE_XPRESS: &'static [u8; 7usize] = b"XPRESS\x00";
43 pub const MPC_APIC_USABLE: ::std::os::raw::c_uint = 1;
44 pub const MP_IRQDIR_DEFAULT: ::std::os::raw::c_uint = 0;
45 pub const MP_IRQDIR_HIGH: ::std::os::raw::c_uint = 1;
46 pub const MP_IRQDIR_LOW: ::std::os::raw::c_uint = 3;
47 pub const MP_LEVEL_TRIGGER: ::std::os::raw::c_uint = 0xc;
48 pub const MP_APIC_ALL: ::std::os::raw::c_uint = 255;
49 pub const MPC_OEM_SIGNATURE: &'static [u8; 5usize] = b"_OEM\x00";
50 #[repr(C)]
51 #[derive(Debug, Default, Copy, FromBytes, AsBytes)]
52 pub struct mpf_intel {
53 pub signature: [::std::os::raw::c_char; 4usize],
54 pub physptr: ::std::os::raw::c_uint,
55 pub length: ::std::os::raw::c_uchar,
56 pub specification: ::std::os::raw::c_uchar,
57 pub checksum: ::std::os::raw::c_uchar,
58 pub feature1: ::std::os::raw::c_uchar,
59 pub feature2: ::std::os::raw::c_uchar,
60 pub feature3: ::std::os::raw::c_uchar,
61 pub feature4: ::std::os::raw::c_uchar,
62 pub feature5: ::std::os::raw::c_uchar,
63 }
64 #[test]
bindgen_test_layout_mpf_intel()65 fn bindgen_test_layout_mpf_intel() {
66 assert_eq!(
67 ::std::mem::size_of::<mpf_intel>(),
68 16usize,
69 concat!("Size of: ", stringify!(mpf_intel))
70 );
71 assert_eq!(
72 ::std::mem::align_of::<mpf_intel>(),
73 4usize,
74 concat!("Alignment of ", stringify!(mpf_intel))
75 );
76 assert_eq!(
77 unsafe { &(*(0 as *const mpf_intel)).signature as *const _ as usize },
78 0usize,
79 concat!(
80 "Alignment of field: ",
81 stringify!(mpf_intel),
82 "::",
83 stringify!(signature)
84 )
85 );
86 assert_eq!(
87 unsafe { &(*(0 as *const mpf_intel)).physptr as *const _ as usize },
88 4usize,
89 concat!(
90 "Alignment of field: ",
91 stringify!(mpf_intel),
92 "::",
93 stringify!(physptr)
94 )
95 );
96 assert_eq!(
97 unsafe { &(*(0 as *const mpf_intel)).length as *const _ as usize },
98 8usize,
99 concat!(
100 "Alignment of field: ",
101 stringify!(mpf_intel),
102 "::",
103 stringify!(length)
104 )
105 );
106 assert_eq!(
107 unsafe { &(*(0 as *const mpf_intel)).specification as *const _ as usize },
108 9usize,
109 concat!(
110 "Alignment of field: ",
111 stringify!(mpf_intel),
112 "::",
113 stringify!(specification)
114 )
115 );
116 assert_eq!(
117 unsafe { &(*(0 as *const mpf_intel)).checksum as *const _ as usize },
118 10usize,
119 concat!(
120 "Alignment of field: ",
121 stringify!(mpf_intel),
122 "::",
123 stringify!(checksum)
124 )
125 );
126 assert_eq!(
127 unsafe { &(*(0 as *const mpf_intel)).feature1 as *const _ as usize },
128 11usize,
129 concat!(
130 "Alignment of field: ",
131 stringify!(mpf_intel),
132 "::",
133 stringify!(feature1)
134 )
135 );
136 assert_eq!(
137 unsafe { &(*(0 as *const mpf_intel)).feature2 as *const _ as usize },
138 12usize,
139 concat!(
140 "Alignment of field: ",
141 stringify!(mpf_intel),
142 "::",
143 stringify!(feature2)
144 )
145 );
146 assert_eq!(
147 unsafe { &(*(0 as *const mpf_intel)).feature3 as *const _ as usize },
148 13usize,
149 concat!(
150 "Alignment of field: ",
151 stringify!(mpf_intel),
152 "::",
153 stringify!(feature3)
154 )
155 );
156 assert_eq!(
157 unsafe { &(*(0 as *const mpf_intel)).feature4 as *const _ as usize },
158 14usize,
159 concat!(
160 "Alignment of field: ",
161 stringify!(mpf_intel),
162 "::",
163 stringify!(feature4)
164 )
165 );
166 assert_eq!(
167 unsafe { &(*(0 as *const mpf_intel)).feature5 as *const _ as usize },
168 15usize,
169 concat!(
170 "Alignment of field: ",
171 stringify!(mpf_intel),
172 "::",
173 stringify!(feature5)
174 )
175 );
176 }
177 impl Clone for mpf_intel {
clone(&self) -> Self178 fn clone(&self) -> Self {
179 *self
180 }
181 }
182 #[repr(C)]
183 #[derive(Debug, Default, Copy, FromBytes, AsBytes)]
184 pub struct mpc_table {
185 pub signature: [::std::os::raw::c_char; 4usize],
186 pub length: ::std::os::raw::c_ushort,
187 pub spec: ::std::os::raw::c_char,
188 pub checksum: ::std::os::raw::c_char,
189 pub oem: [::std::os::raw::c_char; 8usize],
190 pub productid: [::std::os::raw::c_char; 12usize],
191 pub oemptr: ::std::os::raw::c_uint,
192 pub oemsize: ::std::os::raw::c_ushort,
193 pub oemcount: ::std::os::raw::c_ushort,
194 pub lapic: ::std::os::raw::c_uint,
195 pub reserved: ::std::os::raw::c_uint,
196 }
197 #[test]
bindgen_test_layout_mpc_table()198 fn bindgen_test_layout_mpc_table() {
199 assert_eq!(
200 ::std::mem::size_of::<mpc_table>(),
201 44usize,
202 concat!("Size of: ", stringify!(mpc_table))
203 );
204 assert_eq!(
205 ::std::mem::align_of::<mpc_table>(),
206 4usize,
207 concat!("Alignment of ", stringify!(mpc_table))
208 );
209 assert_eq!(
210 unsafe { &(*(0 as *const mpc_table)).signature as *const _ as usize },
211 0usize,
212 concat!(
213 "Alignment of field: ",
214 stringify!(mpc_table),
215 "::",
216 stringify!(signature)
217 )
218 );
219 assert_eq!(
220 unsafe { &(*(0 as *const mpc_table)).length as *const _ as usize },
221 4usize,
222 concat!(
223 "Alignment of field: ",
224 stringify!(mpc_table),
225 "::",
226 stringify!(length)
227 )
228 );
229 assert_eq!(
230 unsafe { &(*(0 as *const mpc_table)).spec as *const _ as usize },
231 6usize,
232 concat!(
233 "Alignment of field: ",
234 stringify!(mpc_table),
235 "::",
236 stringify!(spec)
237 )
238 );
239 assert_eq!(
240 unsafe { &(*(0 as *const mpc_table)).checksum as *const _ as usize },
241 7usize,
242 concat!(
243 "Alignment of field: ",
244 stringify!(mpc_table),
245 "::",
246 stringify!(checksum)
247 )
248 );
249 assert_eq!(
250 unsafe { &(*(0 as *const mpc_table)).oem as *const _ as usize },
251 8usize,
252 concat!(
253 "Alignment of field: ",
254 stringify!(mpc_table),
255 "::",
256 stringify!(oem)
257 )
258 );
259 assert_eq!(
260 unsafe { &(*(0 as *const mpc_table)).productid as *const _ as usize },
261 16usize,
262 concat!(
263 "Alignment of field: ",
264 stringify!(mpc_table),
265 "::",
266 stringify!(productid)
267 )
268 );
269 assert_eq!(
270 unsafe { &(*(0 as *const mpc_table)).oemptr as *const _ as usize },
271 28usize,
272 concat!(
273 "Alignment of field: ",
274 stringify!(mpc_table),
275 "::",
276 stringify!(oemptr)
277 )
278 );
279 assert_eq!(
280 unsafe { &(*(0 as *const mpc_table)).oemsize as *const _ as usize },
281 32usize,
282 concat!(
283 "Alignment of field: ",
284 stringify!(mpc_table),
285 "::",
286 stringify!(oemsize)
287 )
288 );
289 assert_eq!(
290 unsafe { &(*(0 as *const mpc_table)).oemcount as *const _ as usize },
291 34usize,
292 concat!(
293 "Alignment of field: ",
294 stringify!(mpc_table),
295 "::",
296 stringify!(oemcount)
297 )
298 );
299 assert_eq!(
300 unsafe { &(*(0 as *const mpc_table)).lapic as *const _ as usize },
301 36usize,
302 concat!(
303 "Alignment of field: ",
304 stringify!(mpc_table),
305 "::",
306 stringify!(lapic)
307 )
308 );
309 assert_eq!(
310 unsafe { &(*(0 as *const mpc_table)).reserved as *const _ as usize },
311 40usize,
312 concat!(
313 "Alignment of field: ",
314 stringify!(mpc_table),
315 "::",
316 stringify!(reserved)
317 )
318 );
319 }
320 impl Clone for mpc_table {
clone(&self) -> Self321 fn clone(&self) -> Self {
322 *self
323 }
324 }
325 #[repr(C)]
326 #[derive(Debug, Default, Copy, FromBytes, AsBytes)]
327 pub struct mpc_cpu {
328 pub type_: ::std::os::raw::c_uchar,
329 pub apicid: ::std::os::raw::c_uchar,
330 pub apicver: ::std::os::raw::c_uchar,
331 pub cpuflag: ::std::os::raw::c_uchar,
332 pub cpufeature: ::std::os::raw::c_uint,
333 pub featureflag: ::std::os::raw::c_uint,
334 pub reserved: [::std::os::raw::c_uint; 2usize],
335 }
336 #[test]
bindgen_test_layout_mpc_cpu()337 fn bindgen_test_layout_mpc_cpu() {
338 assert_eq!(
339 ::std::mem::size_of::<mpc_cpu>(),
340 20usize,
341 concat!("Size of: ", stringify!(mpc_cpu))
342 );
343 assert_eq!(
344 ::std::mem::align_of::<mpc_cpu>(),
345 4usize,
346 concat!("Alignment of ", stringify!(mpc_cpu))
347 );
348 assert_eq!(
349 unsafe { &(*(0 as *const mpc_cpu)).type_ as *const _ as usize },
350 0usize,
351 concat!(
352 "Alignment of field: ",
353 stringify!(mpc_cpu),
354 "::",
355 stringify!(type_)
356 )
357 );
358 assert_eq!(
359 unsafe { &(*(0 as *const mpc_cpu)).apicid as *const _ as usize },
360 1usize,
361 concat!(
362 "Alignment of field: ",
363 stringify!(mpc_cpu),
364 "::",
365 stringify!(apicid)
366 )
367 );
368 assert_eq!(
369 unsafe { &(*(0 as *const mpc_cpu)).apicver as *const _ as usize },
370 2usize,
371 concat!(
372 "Alignment of field: ",
373 stringify!(mpc_cpu),
374 "::",
375 stringify!(apicver)
376 )
377 );
378 assert_eq!(
379 unsafe { &(*(0 as *const mpc_cpu)).cpuflag as *const _ as usize },
380 3usize,
381 concat!(
382 "Alignment of field: ",
383 stringify!(mpc_cpu),
384 "::",
385 stringify!(cpuflag)
386 )
387 );
388 assert_eq!(
389 unsafe { &(*(0 as *const mpc_cpu)).cpufeature as *const _ as usize },
390 4usize,
391 concat!(
392 "Alignment of field: ",
393 stringify!(mpc_cpu),
394 "::",
395 stringify!(cpufeature)
396 )
397 );
398 assert_eq!(
399 unsafe { &(*(0 as *const mpc_cpu)).featureflag as *const _ as usize },
400 8usize,
401 concat!(
402 "Alignment of field: ",
403 stringify!(mpc_cpu),
404 "::",
405 stringify!(featureflag)
406 )
407 );
408 assert_eq!(
409 unsafe { &(*(0 as *const mpc_cpu)).reserved as *const _ as usize },
410 12usize,
411 concat!(
412 "Alignment of field: ",
413 stringify!(mpc_cpu),
414 "::",
415 stringify!(reserved)
416 )
417 );
418 }
419 impl Clone for mpc_cpu {
clone(&self) -> Self420 fn clone(&self) -> Self {
421 *self
422 }
423 }
424 #[repr(C)]
425 #[derive(Debug, Default, Copy, FromBytes, AsBytes)]
426 pub struct mpc_bus {
427 pub type_: ::std::os::raw::c_uchar,
428 pub busid: ::std::os::raw::c_uchar,
429 pub bustype: [::std::os::raw::c_uchar; 6usize],
430 }
431 #[test]
bindgen_test_layout_mpc_bus()432 fn bindgen_test_layout_mpc_bus() {
433 assert_eq!(
434 ::std::mem::size_of::<mpc_bus>(),
435 8usize,
436 concat!("Size of: ", stringify!(mpc_bus))
437 );
438 assert_eq!(
439 ::std::mem::align_of::<mpc_bus>(),
440 1usize,
441 concat!("Alignment of ", stringify!(mpc_bus))
442 );
443 assert_eq!(
444 unsafe { &(*(0 as *const mpc_bus)).type_ as *const _ as usize },
445 0usize,
446 concat!(
447 "Alignment of field: ",
448 stringify!(mpc_bus),
449 "::",
450 stringify!(type_)
451 )
452 );
453 assert_eq!(
454 unsafe { &(*(0 as *const mpc_bus)).busid as *const _ as usize },
455 1usize,
456 concat!(
457 "Alignment of field: ",
458 stringify!(mpc_bus),
459 "::",
460 stringify!(busid)
461 )
462 );
463 assert_eq!(
464 unsafe { &(*(0 as *const mpc_bus)).bustype as *const _ as usize },
465 2usize,
466 concat!(
467 "Alignment of field: ",
468 stringify!(mpc_bus),
469 "::",
470 stringify!(bustype)
471 )
472 );
473 }
474 impl Clone for mpc_bus {
clone(&self) -> Self475 fn clone(&self) -> Self {
476 *self
477 }
478 }
479 #[repr(C)]
480 #[derive(Debug, Default, Copy, FromBytes, AsBytes)]
481 pub struct mpc_ioapic {
482 pub type_: ::std::os::raw::c_uchar,
483 pub apicid: ::std::os::raw::c_uchar,
484 pub apicver: ::std::os::raw::c_uchar,
485 pub flags: ::std::os::raw::c_uchar,
486 pub apicaddr: ::std::os::raw::c_uint,
487 }
488 #[test]
bindgen_test_layout_mpc_ioapic()489 fn bindgen_test_layout_mpc_ioapic() {
490 assert_eq!(
491 ::std::mem::size_of::<mpc_ioapic>(),
492 8usize,
493 concat!("Size of: ", stringify!(mpc_ioapic))
494 );
495 assert_eq!(
496 ::std::mem::align_of::<mpc_ioapic>(),
497 4usize,
498 concat!("Alignment of ", stringify!(mpc_ioapic))
499 );
500 assert_eq!(
501 unsafe { &(*(0 as *const mpc_ioapic)).type_ as *const _ as usize },
502 0usize,
503 concat!(
504 "Alignment of field: ",
505 stringify!(mpc_ioapic),
506 "::",
507 stringify!(type_)
508 )
509 );
510 assert_eq!(
511 unsafe { &(*(0 as *const mpc_ioapic)).apicid as *const _ as usize },
512 1usize,
513 concat!(
514 "Alignment of field: ",
515 stringify!(mpc_ioapic),
516 "::",
517 stringify!(apicid)
518 )
519 );
520 assert_eq!(
521 unsafe { &(*(0 as *const mpc_ioapic)).apicver as *const _ as usize },
522 2usize,
523 concat!(
524 "Alignment of field: ",
525 stringify!(mpc_ioapic),
526 "::",
527 stringify!(apicver)
528 )
529 );
530 assert_eq!(
531 unsafe { &(*(0 as *const mpc_ioapic)).flags as *const _ as usize },
532 3usize,
533 concat!(
534 "Alignment of field: ",
535 stringify!(mpc_ioapic),
536 "::",
537 stringify!(flags)
538 )
539 );
540 assert_eq!(
541 unsafe { &(*(0 as *const mpc_ioapic)).apicaddr as *const _ as usize },
542 4usize,
543 concat!(
544 "Alignment of field: ",
545 stringify!(mpc_ioapic),
546 "::",
547 stringify!(apicaddr)
548 )
549 );
550 }
551 impl Clone for mpc_ioapic {
clone(&self) -> Self552 fn clone(&self) -> Self {
553 *self
554 }
555 }
556 #[repr(C)]
557 #[derive(Debug, Default, Copy, FromBytes, AsBytes)]
558 pub struct mpc_intsrc {
559 pub type_: ::std::os::raw::c_uchar,
560 pub irqtype: ::std::os::raw::c_uchar,
561 pub irqflag: ::std::os::raw::c_ushort,
562 pub srcbus: ::std::os::raw::c_uchar,
563 pub srcbusirq: ::std::os::raw::c_uchar,
564 pub dstapic: ::std::os::raw::c_uchar,
565 pub dstirq: ::std::os::raw::c_uchar,
566 }
567 #[test]
bindgen_test_layout_mpc_intsrc()568 fn bindgen_test_layout_mpc_intsrc() {
569 assert_eq!(
570 ::std::mem::size_of::<mpc_intsrc>(),
571 8usize,
572 concat!("Size of: ", stringify!(mpc_intsrc))
573 );
574 assert_eq!(
575 ::std::mem::align_of::<mpc_intsrc>(),
576 2usize,
577 concat!("Alignment of ", stringify!(mpc_intsrc))
578 );
579 assert_eq!(
580 unsafe { &(*(0 as *const mpc_intsrc)).type_ as *const _ as usize },
581 0usize,
582 concat!(
583 "Alignment of field: ",
584 stringify!(mpc_intsrc),
585 "::",
586 stringify!(type_)
587 )
588 );
589 assert_eq!(
590 unsafe { &(*(0 as *const mpc_intsrc)).irqtype as *const _ as usize },
591 1usize,
592 concat!(
593 "Alignment of field: ",
594 stringify!(mpc_intsrc),
595 "::",
596 stringify!(irqtype)
597 )
598 );
599 assert_eq!(
600 unsafe { &(*(0 as *const mpc_intsrc)).irqflag as *const _ as usize },
601 2usize,
602 concat!(
603 "Alignment of field: ",
604 stringify!(mpc_intsrc),
605 "::",
606 stringify!(irqflag)
607 )
608 );
609 assert_eq!(
610 unsafe { &(*(0 as *const mpc_intsrc)).srcbus as *const _ as usize },
611 4usize,
612 concat!(
613 "Alignment of field: ",
614 stringify!(mpc_intsrc),
615 "::",
616 stringify!(srcbus)
617 )
618 );
619 assert_eq!(
620 unsafe { &(*(0 as *const mpc_intsrc)).srcbusirq as *const _ as usize },
621 5usize,
622 concat!(
623 "Alignment of field: ",
624 stringify!(mpc_intsrc),
625 "::",
626 stringify!(srcbusirq)
627 )
628 );
629 assert_eq!(
630 unsafe { &(*(0 as *const mpc_intsrc)).dstapic as *const _ as usize },
631 6usize,
632 concat!(
633 "Alignment of field: ",
634 stringify!(mpc_intsrc),
635 "::",
636 stringify!(dstapic)
637 )
638 );
639 assert_eq!(
640 unsafe { &(*(0 as *const mpc_intsrc)).dstirq as *const _ as usize },
641 7usize,
642 concat!(
643 "Alignment of field: ",
644 stringify!(mpc_intsrc),
645 "::",
646 stringify!(dstirq)
647 )
648 );
649 }
650 impl Clone for mpc_intsrc {
clone(&self) -> Self651 fn clone(&self) -> Self {
652 *self
653 }
654 }
655 pub const mp_irq_source_types_mp_INT: mp_irq_source_types = 0;
656 pub const mp_irq_source_types_mp_NMI: mp_irq_source_types = 1;
657 pub const mp_irq_source_types_mp_SMI: mp_irq_source_types = 2;
658 pub const mp_irq_source_types_mp_ExtINT: mp_irq_source_types = 3;
659 pub type mp_irq_source_types = ::std::os::raw::c_uint;
660 #[repr(C)]
661 #[derive(Debug, Default, Copy, FromBytes, AsBytes)]
662 pub struct mpc_lintsrc {
663 pub type_: ::std::os::raw::c_uchar,
664 pub irqtype: ::std::os::raw::c_uchar,
665 pub irqflag: ::std::os::raw::c_ushort,
666 pub srcbusid: ::std::os::raw::c_uchar,
667 pub srcbusirq: ::std::os::raw::c_uchar,
668 pub destapic: ::std::os::raw::c_uchar,
669 pub destapiclint: ::std::os::raw::c_uchar,
670 }
671 #[test]
bindgen_test_layout_mpc_lintsrc()672 fn bindgen_test_layout_mpc_lintsrc() {
673 assert_eq!(
674 ::std::mem::size_of::<mpc_lintsrc>(),
675 8usize,
676 concat!("Size of: ", stringify!(mpc_lintsrc))
677 );
678 assert_eq!(
679 ::std::mem::align_of::<mpc_lintsrc>(),
680 2usize,
681 concat!("Alignment of ", stringify!(mpc_lintsrc))
682 );
683 assert_eq!(
684 unsafe { &(*(0 as *const mpc_lintsrc)).type_ as *const _ as usize },
685 0usize,
686 concat!(
687 "Alignment of field: ",
688 stringify!(mpc_lintsrc),
689 "::",
690 stringify!(type_)
691 )
692 );
693 assert_eq!(
694 unsafe { &(*(0 as *const mpc_lintsrc)).irqtype as *const _ as usize },
695 1usize,
696 concat!(
697 "Alignment of field: ",
698 stringify!(mpc_lintsrc),
699 "::",
700 stringify!(irqtype)
701 )
702 );
703 assert_eq!(
704 unsafe { &(*(0 as *const mpc_lintsrc)).irqflag as *const _ as usize },
705 2usize,
706 concat!(
707 "Alignment of field: ",
708 stringify!(mpc_lintsrc),
709 "::",
710 stringify!(irqflag)
711 )
712 );
713 assert_eq!(
714 unsafe { &(*(0 as *const mpc_lintsrc)).srcbusid as *const _ as usize },
715 4usize,
716 concat!(
717 "Alignment of field: ",
718 stringify!(mpc_lintsrc),
719 "::",
720 stringify!(srcbusid)
721 )
722 );
723 assert_eq!(
724 unsafe { &(*(0 as *const mpc_lintsrc)).srcbusirq as *const _ as usize },
725 5usize,
726 concat!(
727 "Alignment of field: ",
728 stringify!(mpc_lintsrc),
729 "::",
730 stringify!(srcbusirq)
731 )
732 );
733 assert_eq!(
734 unsafe { &(*(0 as *const mpc_lintsrc)).destapic as *const _ as usize },
735 6usize,
736 concat!(
737 "Alignment of field: ",
738 stringify!(mpc_lintsrc),
739 "::",
740 stringify!(destapic)
741 )
742 );
743 assert_eq!(
744 unsafe { &(*(0 as *const mpc_lintsrc)).destapiclint as *const _ as usize },
745 7usize,
746 concat!(
747 "Alignment of field: ",
748 stringify!(mpc_lintsrc),
749 "::",
750 stringify!(destapiclint)
751 )
752 );
753 }
754 impl Clone for mpc_lintsrc {
clone(&self) -> Self755 fn clone(&self) -> Self {
756 *self
757 }
758 }
759 #[repr(C)]
760 #[derive(Debug, Default, Copy)]
761 pub struct mpc_oemtable {
762 pub signature: [::std::os::raw::c_char; 4usize],
763 pub length: ::std::os::raw::c_ushort,
764 pub rev: ::std::os::raw::c_char,
765 pub checksum: ::std::os::raw::c_char,
766 pub mpc: [::std::os::raw::c_char; 8usize],
767 }
768 #[test]
bindgen_test_layout_mpc_oemtable()769 fn bindgen_test_layout_mpc_oemtable() {
770 assert_eq!(
771 ::std::mem::size_of::<mpc_oemtable>(),
772 16usize,
773 concat!("Size of: ", stringify!(mpc_oemtable))
774 );
775 assert_eq!(
776 ::std::mem::align_of::<mpc_oemtable>(),
777 2usize,
778 concat!("Alignment of ", stringify!(mpc_oemtable))
779 );
780 assert_eq!(
781 unsafe { &(*(0 as *const mpc_oemtable)).signature as *const _ as usize },
782 0usize,
783 concat!(
784 "Alignment of field: ",
785 stringify!(mpc_oemtable),
786 "::",
787 stringify!(signature)
788 )
789 );
790 assert_eq!(
791 unsafe { &(*(0 as *const mpc_oemtable)).length as *const _ as usize },
792 4usize,
793 concat!(
794 "Alignment of field: ",
795 stringify!(mpc_oemtable),
796 "::",
797 stringify!(length)
798 )
799 );
800 assert_eq!(
801 unsafe { &(*(0 as *const mpc_oemtable)).rev as *const _ as usize },
802 6usize,
803 concat!(
804 "Alignment of field: ",
805 stringify!(mpc_oemtable),
806 "::",
807 stringify!(rev)
808 )
809 );
810 assert_eq!(
811 unsafe { &(*(0 as *const mpc_oemtable)).checksum as *const _ as usize },
812 7usize,
813 concat!(
814 "Alignment of field: ",
815 stringify!(mpc_oemtable),
816 "::",
817 stringify!(checksum)
818 )
819 );
820 assert_eq!(
821 unsafe { &(*(0 as *const mpc_oemtable)).mpc as *const _ as usize },
822 8usize,
823 concat!(
824 "Alignment of field: ",
825 stringify!(mpc_oemtable),
826 "::",
827 stringify!(mpc)
828 )
829 );
830 }
831 impl Clone for mpc_oemtable {
clone(&self) -> Self832 fn clone(&self) -> Self {
833 *self
834 }
835 }
836 pub const mp_bustype_MP_BUS_ISA: mp_bustype = 1;
837 pub const mp_bustype_MP_BUS_EISA: mp_bustype = 2;
838 pub const mp_bustype_MP_BUS_PCI: mp_bustype = 3;
839 pub type mp_bustype = ::std::os::raw::c_uint;
840