sel4_sys/build/target/riscv32imac-sel4/debug/build/sel4-sys-23c459e03670c4e9/out/
bindings.rs

1/* automatically generated by rust-bindgen 0.72.1 */
2
3pub const seL4_True: u32 = 1;
4pub const seL4_False: u32 = 0;
5pub const seL4_WordBits: u32 = 32;
6pub const seL4_WordSizeBits: u32 = 2;
7pub const seL4_SlotBits: u32 = 4;
8pub const seL4_NotificationBits: u32 = 4;
9pub const seL4_EndpointBits: u32 = 4;
10pub const seL4_IPCBufferSizeBits: u32 = 9;
11pub const seL4_TCBBits: u32 = 10;
12pub const seL4_MinUntypedBits: u32 = 4;
13pub const seL4_MaxUntypedBits: u32 = 29;
14pub const seL4_PageTableEntryBits: u32 = 2;
15pub const seL4_PageTableIndexBits: u32 = 10;
16pub const seL4_PageBits: u32 = 12;
17pub const seL4_LargePageBits: u32 = 22;
18pub const seL4_PageTableBits: u32 = 12;
19pub const seL4_VSpaceBits: u32 = 12;
20pub const seL4_NumASIDPoolsBits: u32 = 5;
21pub const seL4_ASIDPoolIndexBits: u32 = 4;
22pub const seL4_ASIDPoolBits: u32 = 12;
23pub const seL4_UserTop: u32 = 2147483648;
24pub const seL4_CapRightsBits: u32 = 4;
25pub const seL4_GuardSizeBits: u32 = 5;
26pub const seL4_GuardBits: u32 = 18;
27pub const seL4_BadgeBits: u32 = 28;
28pub const seL4_UntypedRetypeMaxObjects: u32 = 256;
29pub const seL4_NilData: u32 = 0;
30pub const seL4_BootInfoFrameBits: u32 = 12;
31pub const SEL4_MAPPING_LOOKUP_LEVEL: u32 = 2;
32pub const SEL4_MAPPING_LOOKUP_NO_PT: u32 = 22;
33pub type seL4_Int8 = ::core::ffi::c_schar;
34pub type seL4_Uint8 = ::core::ffi::c_uchar;
35pub type seL4_Int16 = ::core::ffi::c_short;
36pub type seL4_Uint16 = ::core::ffi::c_ushort;
37pub type seL4_Int32 = ::core::ffi::c_int;
38pub type seL4_Uint32 = ::core::ffi::c_uint;
39pub type seL4_Int64 = ::core::ffi::c_longlong;
40pub type seL4_Uint64 = ::core::ffi::c_ulonglong;
41pub type seL4_Bool = seL4_Int8;
42pub type seL4_Word = seL4_Uint32;
43pub type seL4_CPtr = seL4_Word;
44pub mod seL4_VMFault_Msg {
45    pub type Type = ::core::ffi::c_uint;
46    pub const seL4_VMFault_IP: Type = 0;
47    pub const seL4_VMFault_Addr: Type = 1;
48    pub const seL4_VMFault_PrefetchFault: Type = 2;
49    pub const seL4_VMFault_FSR: Type = 3;
50    pub const seL4_VMFault_Length: Type = 4;
51}
52pub mod seL4_UnknownSyscall_Msg {
53    pub type Type = ::core::ffi::c_uint;
54    pub const seL4_UnknownSyscall_FaultIP: Type = 0;
55    pub const seL4_UnknownSyscall_SP: Type = 1;
56    pub const seL4_UnknownSyscall_RA: Type = 2;
57    pub const seL4_UnknownSyscall_A0: Type = 3;
58    pub const seL4_UnknownSyscall_A1: Type = 4;
59    pub const seL4_UnknownSyscall_A2: Type = 5;
60    pub const seL4_UnknownSyscall_A3: Type = 6;
61    pub const seL4_UnknownSyscall_A4: Type = 7;
62    pub const seL4_UnknownSyscall_A5: Type = 8;
63    pub const seL4_UnknownSyscall_A6: Type = 9;
64    pub const seL4_UnknownSyscall_Syscall: Type = 10;
65    pub const seL4_UnknownSyscall_Length: Type = 11;
66}
67pub mod seL4_UserException_Msg {
68    pub type Type = ::core::ffi::c_uint;
69    pub const seL4_UserException_FaultIP: Type = 0;
70    pub const seL4_UserException_SP: Type = 1;
71    pub const seL4_UserException_Number: Type = 2;
72    pub const seL4_UserException_Code: Type = 3;
73    pub const seL4_UserException_Length: Type = 4;
74}
75pub type seL4_RISCV_Page = seL4_CPtr;
76pub type seL4_RISCV_PageTable = seL4_CPtr;
77pub type seL4_RISCV_ASIDControl = seL4_CPtr;
78pub type seL4_RISCV_ASIDPool = seL4_CPtr;
79#[repr(C)]
80#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
81pub struct seL4_UserContext_ {
82    pub pc: seL4_Word,
83    pub ra: seL4_Word,
84    pub sp: seL4_Word,
85    pub gp: seL4_Word,
86    pub s0: seL4_Word,
87    pub s1: seL4_Word,
88    pub s2: seL4_Word,
89    pub s3: seL4_Word,
90    pub s4: seL4_Word,
91    pub s5: seL4_Word,
92    pub s6: seL4_Word,
93    pub s7: seL4_Word,
94    pub s8: seL4_Word,
95    pub s9: seL4_Word,
96    pub s10: seL4_Word,
97    pub s11: seL4_Word,
98    pub a0: seL4_Word,
99    pub a1: seL4_Word,
100    pub a2: seL4_Word,
101    pub a3: seL4_Word,
102    pub a4: seL4_Word,
103    pub a5: seL4_Word,
104    pub a6: seL4_Word,
105    pub a7: seL4_Word,
106    pub t0: seL4_Word,
107    pub t1: seL4_Word,
108    pub t2: seL4_Word,
109    pub t3: seL4_Word,
110    pub t4: seL4_Word,
111    pub t5: seL4_Word,
112    pub t6: seL4_Word,
113    pub tp: seL4_Word,
114}
115#[allow(clippy::unnecessary_operation, clippy::identity_op)]
116const _: () = {
117    ["Size of seL4_UserContext_"][::core::mem::size_of::<seL4_UserContext_>() - 128usize];
118    ["Alignment of seL4_UserContext_"][::core::mem::align_of::<seL4_UserContext_>() - 4usize];
119    ["Offset of field: seL4_UserContext_::pc"]
120        [::core::mem::offset_of!(seL4_UserContext_, pc) - 0usize];
121    ["Offset of field: seL4_UserContext_::ra"]
122        [::core::mem::offset_of!(seL4_UserContext_, ra) - 4usize];
123    ["Offset of field: seL4_UserContext_::sp"]
124        [::core::mem::offset_of!(seL4_UserContext_, sp) - 8usize];
125    ["Offset of field: seL4_UserContext_::gp"]
126        [::core::mem::offset_of!(seL4_UserContext_, gp) - 12usize];
127    ["Offset of field: seL4_UserContext_::s0"]
128        [::core::mem::offset_of!(seL4_UserContext_, s0) - 16usize];
129    ["Offset of field: seL4_UserContext_::s1"]
130        [::core::mem::offset_of!(seL4_UserContext_, s1) - 20usize];
131    ["Offset of field: seL4_UserContext_::s2"]
132        [::core::mem::offset_of!(seL4_UserContext_, s2) - 24usize];
133    ["Offset of field: seL4_UserContext_::s3"]
134        [::core::mem::offset_of!(seL4_UserContext_, s3) - 28usize];
135    ["Offset of field: seL4_UserContext_::s4"]
136        [::core::mem::offset_of!(seL4_UserContext_, s4) - 32usize];
137    ["Offset of field: seL4_UserContext_::s5"]
138        [::core::mem::offset_of!(seL4_UserContext_, s5) - 36usize];
139    ["Offset of field: seL4_UserContext_::s6"]
140        [::core::mem::offset_of!(seL4_UserContext_, s6) - 40usize];
141    ["Offset of field: seL4_UserContext_::s7"]
142        [::core::mem::offset_of!(seL4_UserContext_, s7) - 44usize];
143    ["Offset of field: seL4_UserContext_::s8"]
144        [::core::mem::offset_of!(seL4_UserContext_, s8) - 48usize];
145    ["Offset of field: seL4_UserContext_::s9"]
146        [::core::mem::offset_of!(seL4_UserContext_, s9) - 52usize];
147    ["Offset of field: seL4_UserContext_::s10"]
148        [::core::mem::offset_of!(seL4_UserContext_, s10) - 56usize];
149    ["Offset of field: seL4_UserContext_::s11"]
150        [::core::mem::offset_of!(seL4_UserContext_, s11) - 60usize];
151    ["Offset of field: seL4_UserContext_::a0"]
152        [::core::mem::offset_of!(seL4_UserContext_, a0) - 64usize];
153    ["Offset of field: seL4_UserContext_::a1"]
154        [::core::mem::offset_of!(seL4_UserContext_, a1) - 68usize];
155    ["Offset of field: seL4_UserContext_::a2"]
156        [::core::mem::offset_of!(seL4_UserContext_, a2) - 72usize];
157    ["Offset of field: seL4_UserContext_::a3"]
158        [::core::mem::offset_of!(seL4_UserContext_, a3) - 76usize];
159    ["Offset of field: seL4_UserContext_::a4"]
160        [::core::mem::offset_of!(seL4_UserContext_, a4) - 80usize];
161    ["Offset of field: seL4_UserContext_::a5"]
162        [::core::mem::offset_of!(seL4_UserContext_, a5) - 84usize];
163    ["Offset of field: seL4_UserContext_::a6"]
164        [::core::mem::offset_of!(seL4_UserContext_, a6) - 88usize];
165    ["Offset of field: seL4_UserContext_::a7"]
166        [::core::mem::offset_of!(seL4_UserContext_, a7) - 92usize];
167    ["Offset of field: seL4_UserContext_::t0"]
168        [::core::mem::offset_of!(seL4_UserContext_, t0) - 96usize];
169    ["Offset of field: seL4_UserContext_::t1"]
170        [::core::mem::offset_of!(seL4_UserContext_, t1) - 100usize];
171    ["Offset of field: seL4_UserContext_::t2"]
172        [::core::mem::offset_of!(seL4_UserContext_, t2) - 104usize];
173    ["Offset of field: seL4_UserContext_::t3"]
174        [::core::mem::offset_of!(seL4_UserContext_, t3) - 108usize];
175    ["Offset of field: seL4_UserContext_::t4"]
176        [::core::mem::offset_of!(seL4_UserContext_, t4) - 112usize];
177    ["Offset of field: seL4_UserContext_::t5"]
178        [::core::mem::offset_of!(seL4_UserContext_, t5) - 116usize];
179    ["Offset of field: seL4_UserContext_::t6"]
180        [::core::mem::offset_of!(seL4_UserContext_, t6) - 120usize];
181    ["Offset of field: seL4_UserContext_::tp"]
182        [::core::mem::offset_of!(seL4_UserContext_, tp) - 124usize];
183};
184pub type seL4_UserContext = seL4_UserContext_;
185pub mod seL4_RISCV_VMAttributes {
186    pub type Type = ::core::ffi::c_uint;
187    pub const seL4_RISCV_ExecuteNever: Type = 1;
188    pub const seL4_RISCV_Default_VMAttributes: Type = 0;
189    pub const _enum_pad_seL4_RISCV_VMAttributes: Type = 2147483647;
190}
191pub mod api_object {
192    pub type Type = ::core::ffi::c_uint;
193    pub const seL4_UntypedObject: Type = 0;
194    pub const seL4_TCBObject: Type = 1;
195    pub const seL4_EndpointObject: Type = 2;
196    pub const seL4_NotificationObject: Type = 3;
197    pub const seL4_CapTableObject: Type = 4;
198    pub const seL4_NonArchObjectTypeCount: Type = 5;
199}
200pub use self::api_object::Type as seL4_ObjectType;
201pub mod _mode_object {
202    pub type Type = ::core::ffi::c_uint;
203    pub const seL4_ModeObjectTypeCount: Type = 5;
204}
205pub use self::_mode_object::Type as seL4_ModeObjectType;
206pub mod _object {
207    pub type Type = ::core::ffi::c_uint;
208    pub const seL4_RISCV_4K_Page: Type = 5;
209    pub const seL4_RISCV_Mega_Page: Type = 6;
210    pub const seL4_RISCV_PageTableObject: Type = 7;
211    pub const seL4_ObjectTypeCount: Type = 8;
212}
213pub use self::_object::Type as seL4_ArchObjectType;
214pub mod seL4_Error {
215    pub type Type = ::core::ffi::c_uint;
216    pub const seL4_NoError: Type = 0;
217    pub const seL4_InvalidArgument: Type = 1;
218    pub const seL4_InvalidCapability: Type = 2;
219    pub const seL4_IllegalOperation: Type = 3;
220    pub const seL4_RangeError: Type = 4;
221    pub const seL4_AlignmentError: Type = 5;
222    pub const seL4_FailedLookup: Type = 6;
223    pub const seL4_TruncatedMessage: Type = 7;
224    pub const seL4_DeleteFirst: Type = 8;
225    pub const seL4_RevokeFirst: Type = 9;
226    pub const seL4_NotEnoughMemory: Type = 10;
227    pub const seL4_NumErrors: Type = 11;
228}
229pub mod priorityConstants {
230    pub type Type = ::core::ffi::c_int;
231    pub const seL4_InvalidPrio: Type = -1;
232    pub const seL4_MinPrio: Type = 0;
233    pub const seL4_MaxPrio: Type = 255;
234}
235pub mod seL4_MsgLimits {
236    pub type Type = ::core::ffi::c_uint;
237    pub const seL4_MsgLengthBits: Type = 7;
238    pub const seL4_MsgExtraCapBits: Type = 2;
239    pub const seL4_MsgMaxLength: Type = 120;
240}
241pub mod seL4_LookupFailureType {
242    pub type Type = ::core::ffi::c_uint;
243    pub const seL4_NoFailure: Type = 0;
244    pub const seL4_InvalidRoot: Type = 1;
245    pub const seL4_MissingCapability: Type = 2;
246    pub const seL4_DepthMismatch: Type = 3;
247    pub const seL4_GuardMismatch: Type = 4;
248    pub const _enum_pad_seL4_LookupFailureType: Type = 2147483647;
249}
250pub mod seL4_TCBFlag {
251    pub type Type = ::core::ffi::c_uint;
252    pub const seL4_TCBFlag_NoFlag: Type = 0;
253    pub const seL4_TCBFlag_fpuDisabled: Type = 1;
254    pub const _enum_pad_seL4_TCBFlag: Type = 2147483647;
255    pub const seL4_TCBFlag_MASK: Type = 1;
256}
257#[repr(C)]
258pub struct seL4_IPCBuffer_ {
259    pub tag: seL4_MessageInfo_t,
260    pub msg: [seL4_Word; 120usize],
261    pub userData: seL4_Word,
262    pub caps_or_badges: [seL4_Word; 3usize],
263    pub receiveCNode: seL4_CPtr,
264    pub receiveIndex: seL4_CPtr,
265    pub receiveDepth: seL4_Word,
266}
267#[allow(clippy::unnecessary_operation, clippy::identity_op)]
268const _: () = {
269    ["Size of seL4_IPCBuffer_"][::core::mem::size_of::<seL4_IPCBuffer_>() - 512usize];
270    ["Alignment of seL4_IPCBuffer_"][::core::mem::align_of::<seL4_IPCBuffer_>() - 4usize];
271    ["Offset of field: seL4_IPCBuffer_::tag"]
272        [::core::mem::offset_of!(seL4_IPCBuffer_, tag) - 0usize];
273    ["Offset of field: seL4_IPCBuffer_::msg"]
274        [::core::mem::offset_of!(seL4_IPCBuffer_, msg) - 4usize];
275    ["Offset of field: seL4_IPCBuffer_::userData"]
276        [::core::mem::offset_of!(seL4_IPCBuffer_, userData) - 484usize];
277    ["Offset of field: seL4_IPCBuffer_::caps_or_badges"]
278        [::core::mem::offset_of!(seL4_IPCBuffer_, caps_or_badges) - 488usize];
279    ["Offset of field: seL4_IPCBuffer_::receiveCNode"]
280        [::core::mem::offset_of!(seL4_IPCBuffer_, receiveCNode) - 500usize];
281    ["Offset of field: seL4_IPCBuffer_::receiveIndex"]
282        [::core::mem::offset_of!(seL4_IPCBuffer_, receiveIndex) - 504usize];
283    ["Offset of field: seL4_IPCBuffer_::receiveDepth"]
284        [::core::mem::offset_of!(seL4_IPCBuffer_, receiveDepth) - 508usize];
285};
286impl Default for seL4_IPCBuffer_ {
287    fn default() -> Self {
288        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
289        unsafe {
290            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
291            s.assume_init()
292        }
293    }
294}
295pub type seL4_IPCBuffer = seL4_IPCBuffer_;
296pub mod seL4_CapFault_Msg {
297    pub type Type = ::core::ffi::c_uint;
298    pub const seL4_CapFault_IP: Type = 0;
299    pub const seL4_CapFault_Addr: Type = 1;
300    pub const seL4_CapFault_InRecvPhase: Type = 2;
301    pub const seL4_CapFault_LookupFailureType: Type = 3;
302    pub const seL4_CapFault_BitsLeft: Type = 4;
303    pub const seL4_CapFault_DepthMismatch_BitsFound: Type = 5;
304    pub const seL4_CapFault_GuardMismatch_GuardFound: Type = 5;
305    pub const seL4_CapFault_GuardMismatch_BitsFound: Type = 6;
306    pub const _enum_pad_seL4_CapFault_Msg: Type = 2147483647;
307}
308pub type seL4_NodeId = seL4_Word;
309pub type seL4_PAddr = seL4_Word;
310pub type seL4_Domain = seL4_Word;
311pub type seL4_CNode = seL4_CPtr;
312pub type seL4_IRQHandler = seL4_CPtr;
313pub type seL4_IRQControl = seL4_CPtr;
314pub type seL4_TCB = seL4_CPtr;
315pub type seL4_Untyped = seL4_CPtr;
316pub type seL4_DomainSet = seL4_CPtr;
317pub type seL4_SchedContext = seL4_CPtr;
318pub type seL4_SchedControl = seL4_CPtr;
319pub type seL4_Time = seL4_Uint64;
320#[repr(C)]
321#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
322pub struct seL4_TCB_GetBreakpoint {
323    pub error: ::core::ffi::c_int,
324    pub vaddr: seL4_Word,
325    pub type_: seL4_Word,
326    pub size: seL4_Word,
327    pub rw: seL4_Word,
328    pub is_enabled: seL4_Bool,
329}
330#[allow(clippy::unnecessary_operation, clippy::identity_op)]
331const _: () = {
332    ["Size of seL4_TCB_GetBreakpoint"][::core::mem::size_of::<seL4_TCB_GetBreakpoint>() - 24usize];
333    ["Alignment of seL4_TCB_GetBreakpoint"]
334        [::core::mem::align_of::<seL4_TCB_GetBreakpoint>() - 4usize];
335    ["Offset of field: seL4_TCB_GetBreakpoint::error"]
336        [::core::mem::offset_of!(seL4_TCB_GetBreakpoint, error) - 0usize];
337    ["Offset of field: seL4_TCB_GetBreakpoint::vaddr"]
338        [::core::mem::offset_of!(seL4_TCB_GetBreakpoint, vaddr) - 4usize];
339    ["Offset of field: seL4_TCB_GetBreakpoint::type_"]
340        [::core::mem::offset_of!(seL4_TCB_GetBreakpoint, type_) - 8usize];
341    ["Offset of field: seL4_TCB_GetBreakpoint::size"]
342        [::core::mem::offset_of!(seL4_TCB_GetBreakpoint, size) - 12usize];
343    ["Offset of field: seL4_TCB_GetBreakpoint::rw"]
344        [::core::mem::offset_of!(seL4_TCB_GetBreakpoint, rw) - 16usize];
345    ["Offset of field: seL4_TCB_GetBreakpoint::is_enabled"]
346        [::core::mem::offset_of!(seL4_TCB_GetBreakpoint, is_enabled) - 20usize];
347};
348#[repr(C)]
349#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
350pub struct seL4_TCB_ConfigureSingleStepping {
351    pub error: ::core::ffi::c_int,
352    pub bp_was_consumed: seL4_Bool,
353}
354#[allow(clippy::unnecessary_operation, clippy::identity_op)]
355const _: () = {
356    ["Size of seL4_TCB_ConfigureSingleStepping"]
357        [::core::mem::size_of::<seL4_TCB_ConfigureSingleStepping>() - 8usize];
358    ["Alignment of seL4_TCB_ConfigureSingleStepping"]
359        [::core::mem::align_of::<seL4_TCB_ConfigureSingleStepping>() - 4usize];
360    ["Offset of field: seL4_TCB_ConfigureSingleStepping::error"]
361        [::core::mem::offset_of!(seL4_TCB_ConfigureSingleStepping, error) - 0usize];
362    ["Offset of field: seL4_TCB_ConfigureSingleStepping::bp_was_consumed"]
363        [::core::mem::offset_of!(seL4_TCB_ConfigureSingleStepping, bp_was_consumed) - 4usize];
364};
365#[repr(C)]
366#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
367pub struct seL4_SchedContext_Consumed {
368    pub error: ::core::ffi::c_int,
369    pub consumed: seL4_Time,
370}
371#[allow(clippy::unnecessary_operation, clippy::identity_op)]
372const _: () = {
373    ["Size of seL4_SchedContext_Consumed"]
374        [::core::mem::size_of::<seL4_SchedContext_Consumed>() - 16usize];
375    ["Alignment of seL4_SchedContext_Consumed"]
376        [::core::mem::align_of::<seL4_SchedContext_Consumed>() - 8usize];
377    ["Offset of field: seL4_SchedContext_Consumed::error"]
378        [::core::mem::offset_of!(seL4_SchedContext_Consumed, error) - 0usize];
379    ["Offset of field: seL4_SchedContext_Consumed::consumed"]
380        [::core::mem::offset_of!(seL4_SchedContext_Consumed, consumed) - 8usize];
381};
382#[repr(C)]
383#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
384pub struct seL4_SchedContext_YieldTo {
385    pub error: ::core::ffi::c_int,
386    pub consumed: seL4_Time,
387}
388#[allow(clippy::unnecessary_operation, clippy::identity_op)]
389const _: () = {
390    ["Size of seL4_SchedContext_YieldTo"]
391        [::core::mem::size_of::<seL4_SchedContext_YieldTo>() - 16usize];
392    ["Alignment of seL4_SchedContext_YieldTo"]
393        [::core::mem::align_of::<seL4_SchedContext_YieldTo>() - 8usize];
394    ["Offset of field: seL4_SchedContext_YieldTo::error"]
395        [::core::mem::offset_of!(seL4_SchedContext_YieldTo, error) - 0usize];
396    ["Offset of field: seL4_SchedContext_YieldTo::consumed"]
397        [::core::mem::offset_of!(seL4_SchedContext_YieldTo, consumed) - 8usize];
398};
399pub mod seL4_RootCNodeCapSlots {
400    pub type Type = ::core::ffi::c_uint;
401    pub const seL4_CapNull: Type = 0;
402    pub const seL4_CapInitThreadTCB: Type = 1;
403    pub const seL4_CapInitThreadCNode: Type = 2;
404    pub const seL4_CapInitThreadVSpace: Type = 3;
405    pub const seL4_CapIRQControl: Type = 4;
406    pub const seL4_CapASIDControl: Type = 5;
407    pub const seL4_CapInitThreadASIDPool: Type = 6;
408    pub const seL4_CapIOPortControl: Type = 7;
409    pub const seL4_CapIOSpace: Type = 8;
410    pub const seL4_CapBootInfoFrame: Type = 9;
411    pub const seL4_CapInitThreadIPCBuffer: Type = 10;
412    pub const seL4_CapDomain: Type = 11;
413    pub const seL4_CapSMMUSIDControl: Type = 12;
414    pub const seL4_CapSMMUCBControl: Type = 13;
415    pub const seL4_CapInitThreadSC: Type = 14;
416    pub const seL4_CapSMC: Type = 15;
417    pub const seL4_NumInitialCaps: Type = 16;
418}
419pub type seL4_SlotPos = seL4_Word;
420#[repr(C)]
421#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
422pub struct seL4_SlotRegion {
423    pub start: seL4_SlotPos,
424    pub end: seL4_SlotPos,
425}
426#[allow(clippy::unnecessary_operation, clippy::identity_op)]
427const _: () = {
428    ["Size of seL4_SlotRegion"][::core::mem::size_of::<seL4_SlotRegion>() - 8usize];
429    ["Alignment of seL4_SlotRegion"][::core::mem::align_of::<seL4_SlotRegion>() - 4usize];
430    ["Offset of field: seL4_SlotRegion::start"]
431        [::core::mem::offset_of!(seL4_SlotRegion, start) - 0usize];
432    ["Offset of field: seL4_SlotRegion::end"]
433        [::core::mem::offset_of!(seL4_SlotRegion, end) - 4usize];
434};
435#[repr(C)]
436#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
437pub struct seL4_UntypedDesc {
438    pub paddr: seL4_Word,
439    pub sizeBits: seL4_Uint8,
440    pub isDevice: seL4_Uint8,
441    pub padding: [seL4_Uint8; 2usize],
442}
443#[allow(clippy::unnecessary_operation, clippy::identity_op)]
444const _: () = {
445    ["Size of seL4_UntypedDesc"][::core::mem::size_of::<seL4_UntypedDesc>() - 8usize];
446    ["Alignment of seL4_UntypedDesc"][::core::mem::align_of::<seL4_UntypedDesc>() - 4usize];
447    ["Offset of field: seL4_UntypedDesc::paddr"]
448        [::core::mem::offset_of!(seL4_UntypedDesc, paddr) - 0usize];
449    ["Offset of field: seL4_UntypedDesc::sizeBits"]
450        [::core::mem::offset_of!(seL4_UntypedDesc, sizeBits) - 4usize];
451    ["Offset of field: seL4_UntypedDesc::isDevice"]
452        [::core::mem::offset_of!(seL4_UntypedDesc, isDevice) - 5usize];
453    ["Offset of field: seL4_UntypedDesc::padding"]
454        [::core::mem::offset_of!(seL4_UntypedDesc, padding) - 6usize];
455};
456#[repr(C)]
457#[derive(Debug, Copy, Clone, PartialEq, Eq)]
458pub struct seL4_BootInfo {
459    pub extraLen: seL4_Word,
460    pub nodeID: seL4_NodeId,
461    pub numNodes: seL4_Word,
462    pub numIOPTLevels: seL4_Word,
463    pub ipcBuffer: *mut seL4_IPCBuffer,
464    pub empty: seL4_SlotRegion,
465    pub sharedFrames: seL4_SlotRegion,
466    pub userImageFrames: seL4_SlotRegion,
467    pub userImagePaging: seL4_SlotRegion,
468    pub ioSpaceCaps: seL4_SlotRegion,
469    pub extraBIPages: seL4_SlotRegion,
470    pub initThreadCNodeSizeBits: seL4_Word,
471    pub initThreadDomain: seL4_Domain,
472    pub untyped: seL4_SlotRegion,
473    pub untypedList: [seL4_UntypedDesc; 230usize],
474}
475#[allow(clippy::unnecessary_operation, clippy::identity_op)]
476const _: () = {
477    ["Size of seL4_BootInfo"][::core::mem::size_of::<seL4_BootInfo>() - 1924usize];
478    ["Alignment of seL4_BootInfo"][::core::mem::align_of::<seL4_BootInfo>() - 4usize];
479    ["Offset of field: seL4_BootInfo::extraLen"]
480        [::core::mem::offset_of!(seL4_BootInfo, extraLen) - 0usize];
481    ["Offset of field: seL4_BootInfo::nodeID"]
482        [::core::mem::offset_of!(seL4_BootInfo, nodeID) - 4usize];
483    ["Offset of field: seL4_BootInfo::numNodes"]
484        [::core::mem::offset_of!(seL4_BootInfo, numNodes) - 8usize];
485    ["Offset of field: seL4_BootInfo::numIOPTLevels"]
486        [::core::mem::offset_of!(seL4_BootInfo, numIOPTLevels) - 12usize];
487    ["Offset of field: seL4_BootInfo::ipcBuffer"]
488        [::core::mem::offset_of!(seL4_BootInfo, ipcBuffer) - 16usize];
489    ["Offset of field: seL4_BootInfo::empty"]
490        [::core::mem::offset_of!(seL4_BootInfo, empty) - 20usize];
491    ["Offset of field: seL4_BootInfo::sharedFrames"]
492        [::core::mem::offset_of!(seL4_BootInfo, sharedFrames) - 28usize];
493    ["Offset of field: seL4_BootInfo::userImageFrames"]
494        [::core::mem::offset_of!(seL4_BootInfo, userImageFrames) - 36usize];
495    ["Offset of field: seL4_BootInfo::userImagePaging"]
496        [::core::mem::offset_of!(seL4_BootInfo, userImagePaging) - 44usize];
497    ["Offset of field: seL4_BootInfo::ioSpaceCaps"]
498        [::core::mem::offset_of!(seL4_BootInfo, ioSpaceCaps) - 52usize];
499    ["Offset of field: seL4_BootInfo::extraBIPages"]
500        [::core::mem::offset_of!(seL4_BootInfo, extraBIPages) - 60usize];
501    ["Offset of field: seL4_BootInfo::initThreadCNodeSizeBits"]
502        [::core::mem::offset_of!(seL4_BootInfo, initThreadCNodeSizeBits) - 68usize];
503    ["Offset of field: seL4_BootInfo::initThreadDomain"]
504        [::core::mem::offset_of!(seL4_BootInfo, initThreadDomain) - 72usize];
505    ["Offset of field: seL4_BootInfo::untyped"]
506        [::core::mem::offset_of!(seL4_BootInfo, untyped) - 76usize];
507    ["Offset of field: seL4_BootInfo::untypedList"]
508        [::core::mem::offset_of!(seL4_BootInfo, untypedList) - 84usize];
509};
510impl Default for seL4_BootInfo {
511    fn default() -> Self {
512        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
513        unsafe {
514            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
515            s.assume_init()
516        }
517    }
518}
519pub mod seL4_BootInfoID {
520    pub type Type = ::core::ffi::c_uint;
521    pub const SEL4_BOOTINFO_HEADER_PADDING: Type = 0;
522    pub const SEL4_BOOTINFO_HEADER_X86_VBE: Type = 1;
523    pub const SEL4_BOOTINFO_HEADER_X86_MBMMAP: Type = 2;
524    pub const SEL4_BOOTINFO_HEADER_X86_ACPI_RSDP: Type = 3;
525    pub const SEL4_BOOTINFO_HEADER_X86_FRAMEBUFFER: Type = 4;
526    pub const SEL4_BOOTINFO_HEADER_X86_TSC_FREQ: Type = 5;
527    pub const SEL4_BOOTINFO_HEADER_FDT: Type = 6;
528    pub const SEL4_BOOTINFO_HEADER_NUM: Type = 7;
529    pub const _enum_pad_seL4_BootInfoID: Type = 2147483647;
530}
531#[repr(C)]
532#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
533pub struct seL4_BootInfoHeader {
534    pub id: seL4_Word,
535    pub len: seL4_Word,
536}
537#[allow(clippy::unnecessary_operation, clippy::identity_op)]
538const _: () = {
539    ["Size of seL4_BootInfoHeader"][::core::mem::size_of::<seL4_BootInfoHeader>() - 8usize];
540    ["Alignment of seL4_BootInfoHeader"][::core::mem::align_of::<seL4_BootInfoHeader>() - 4usize];
541    ["Offset of field: seL4_BootInfoHeader::id"]
542        [::core::mem::offset_of!(seL4_BootInfoHeader, id) - 0usize];
543    ["Offset of field: seL4_BootInfoHeader::len"]
544        [::core::mem::offset_of!(seL4_BootInfoHeader, len) - 4usize];
545};