sel4_sys/build/target/aarch64-sel4-microkit-minimal/debug/build/sel4-sys-14fb63b07bb56a47/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_DataFault: u32 = 0;
6pub const seL4_InstructionFault: u32 = 1;
7pub const seL4_PageBits: u32 = 12;
8pub const seL4_LargePageBits: u32 = 21;
9pub const seL4_HugePageBits: u32 = 30;
10pub const seL4_SlotBits: u32 = 5;
11pub const seL4_TCBBits: u32 = 11;
12pub const seL4_EndpointBits: u32 = 4;
13pub const seL4_NotificationBits: u32 = 6;
14pub const seL4_ReplyBits: u32 = 5;
15pub const seL4_PageTableBits: u32 = 12;
16pub const seL4_PageTableEntryBits: u32 = 3;
17pub const seL4_PageTableIndexBits: u32 = 9;
18pub const seL4_NumASIDPoolsBits: u32 = 7;
19pub const seL4_ASIDPoolBits: u32 = 12;
20pub const seL4_ASIDPoolIndexBits: u32 = 9;
21pub const seL4_IOPageTableBits: u32 = 12;
22pub const seL4_WordSizeBits: u32 = 3;
23pub const seL4_VSpaceEntryBits: u32 = 3;
24pub const seL4_VSpaceBits: u32 = 13;
25pub const seL4_VSpaceIndexBits: u32 = 10;
26pub const seL4_ARM_VCPUBits: u32 = 12;
27pub const seL4_VCPUBits: u32 = 12;
28pub const seL4_MinUntypedBits: u32 = 4;
29pub const seL4_MaxUntypedBits: u32 = 47;
30pub const seL4_FastMessageRegisters: u32 = 4;
31pub const seL4_IPCBufferSizeBits: u32 = 10;
32pub const seL4_UserTop: u64 = 1099511627775;
33pub const seL4_ARM_IOPageTableObject: u32 = 65535;
34pub const seL4_CapRightsBits: u32 = 4;
35pub const seL4_MinSchedContextBits: u32 = 7;
36pub const seL4_RefillSizeBytes: u32 = 16;
37pub const seL4_GuardSizeBits: u32 = 6;
38pub const seL4_GuardBits: u32 = 58;
39pub const seL4_BadgeBits: u32 = 64;
40pub const seL4_UntypedRetypeMaxObjects: u32 = 256;
41pub const seL4_NilData: u32 = 0;
42pub const seL4_BootInfoFrameBits: u32 = 12;
43pub const seL4_PageDirBits: u32 = 12;
44pub const seL4_PageDirEntryBits: u32 = 3;
45pub const seL4_PageDirIndexBits: u32 = 9;
46pub const seL4_PUDEntryBits: u32 = 3;
47pub const seL4_PGDBits: u32 = 0;
48pub const seL4_PGDEntryBits: u32 = 0;
49pub const seL4_PGDIndexBits: u32 = 0;
50pub const seL4_PUDBits: u32 = 13;
51pub const seL4_PUDIndexBits: u32 = 10;
52pub const seL4_NumHWBreakpoints: u32 = 10;
53pub const seL4_NumExclusiveBreakpoints: u32 = 6;
54pub const seL4_NumExclusiveWatchpoints: u32 = 4;
55pub const SEL4_MAPPING_LOOKUP_LEVEL: u32 = 2;
56pub const SEL4_MAPPING_LOOKUP_NO_PT: u32 = 21;
57pub const SEL4_MAPPING_LOOKUP_NO_PD: u32 = 30;
58pub const SEL4_MAPPING_LOOKUP_NO_PUD: u32 = 39;
59pub type seL4_Int8 = ::core::ffi::c_schar;
60pub type seL4_Uint8 = ::core::ffi::c_uchar;
61pub type seL4_Int16 = ::core::ffi::c_short;
62pub type seL4_Uint16 = ::core::ffi::c_ushort;
63pub type seL4_Int32 = ::core::ffi::c_int;
64pub type seL4_Uint32 = ::core::ffi::c_uint;
65pub type seL4_Int64 = ::core::ffi::c_long;
66pub type seL4_Uint64 = ::core::ffi::c_ulong;
67pub type seL4_Bool = seL4_Int8;
68pub type seL4_Word = seL4_Uint64;
69pub type seL4_CPtr = seL4_Word;
70pub mod seL4_UnknownSyscall_Msg {
71    pub type Type = ::core::ffi::c_ulong;
72    pub const seL4_UnknownSyscall_X0: Type = 0;
73    pub const seL4_UnknownSyscall_X1: Type = 1;
74    pub const seL4_UnknownSyscall_X2: Type = 2;
75    pub const seL4_UnknownSyscall_X3: Type = 3;
76    pub const seL4_UnknownSyscall_X4: Type = 4;
77    pub const seL4_UnknownSyscall_X5: Type = 5;
78    pub const seL4_UnknownSyscall_X6: Type = 6;
79    pub const seL4_UnknownSyscall_X7: Type = 7;
80    pub const seL4_UnknownSyscall_FaultIP: Type = 8;
81    pub const seL4_UnknownSyscall_SP: Type = 9;
82    pub const seL4_UnknownSyscall_LR: Type = 10;
83    pub const seL4_UnknownSyscall_SPSR: Type = 11;
84    pub const seL4_UnknownSyscall_Syscall: Type = 12;
85    pub const seL4_UnknownSyscall_Length: Type = 13;
86    pub const _enum_pad_seL4_UnknownSyscall_Msg: Type = 9223372036854775807;
87}
88pub mod seL4_UserException_Msg {
89    pub type Type = ::core::ffi::c_ulong;
90    pub const seL4_UserException_FaultIP: Type = 0;
91    pub const seL4_UserException_SP: Type = 1;
92    pub const seL4_UserException_SPSR: Type = 2;
93    pub const seL4_UserException_Number: Type = 3;
94    pub const seL4_UserException_Code: Type = 4;
95    pub const seL4_UserException_Length: Type = 5;
96    pub const _enum_pad_seL4_UserException_Msg: Type = 9223372036854775807;
97}
98pub mod seL4_VMFault_Msg {
99    pub type Type = ::core::ffi::c_ulong;
100    pub const seL4_VMFault_IP: Type = 0;
101    pub const seL4_VMFault_Addr: Type = 1;
102    pub const seL4_VMFault_PrefetchFault: Type = 2;
103    pub const seL4_VMFault_FSR: Type = 3;
104    pub const seL4_VMFault_Length: Type = 4;
105    pub const _enum_pad_seL4_VMFault_Msg: Type = 9223372036854775807;
106}
107pub mod seL4_VGICMaintenance_Msg {
108    pub type Type = ::core::ffi::c_ulong;
109    pub const seL4_VGICMaintenance_IDX: Type = 0;
110    pub const seL4_VGICMaintenance_Length: Type = 1;
111    pub const _enum_pad_seL4_VGICMaintenance_Msg: Type = 9223372036854775807;
112}
113pub mod seL4_VPPIEvent_Msg {
114    pub type Type = ::core::ffi::c_ulong;
115    pub const seL4_VPPIEvent_IRQ: Type = 0;
116    pub const seL4_VPPIEvent_Length: Type = 1;
117    pub const _enum_pad_seL4_VPPIEvent_Msg: Type = 9223372036854775807;
118}
119pub mod seL4_VCPUFault_Msg {
120    pub type Type = ::core::ffi::c_ulong;
121    pub const seL4_VCPUFault_HSR: Type = 0;
122    pub const seL4_VCPUFault_Length: Type = 1;
123    pub const _enum_pad_seL4_VCPUFault_Msg: Type = 9223372036854775807;
124}
125pub mod seL4_VCPUReg {
126    pub type Type = ::core::ffi::c_ulong;
127    pub const seL4_VCPUReg_SCTLR: Type = 0;
128    pub const seL4_VCPUReg_CPACR: Type = 1;
129    pub const seL4_VCPURegSaveRange_start: Type = 2;
130    pub const seL4_VCPUReg_TTBR0: Type = 2;
131    pub const seL4_VCPUReg_TTBR1: Type = 3;
132    pub const seL4_VCPUReg_TCR: Type = 4;
133    pub const seL4_VCPUReg_MAIR: Type = 5;
134    pub const seL4_VCPUReg_AMAIR: Type = 6;
135    pub const seL4_VCPUReg_CIDR: Type = 7;
136    pub const seL4_VCPUReg_ACTLR: Type = 8;
137    pub const seL4_VCPUReg_AFSR0: Type = 9;
138    pub const seL4_VCPUReg_AFSR1: Type = 10;
139    pub const seL4_VCPUReg_ESR: Type = 11;
140    pub const seL4_VCPUReg_FAR: Type = 12;
141    pub const seL4_VCPUReg_ISR: Type = 13;
142    pub const seL4_VCPUReg_VBAR: Type = 14;
143    pub const seL4_VCPUReg_TPIDR_EL1: Type = 15;
144    pub const seL4_VCPUReg_VMPIDR_EL2: Type = 16;
145    pub const seL4_VCPUReg_SP_EL1: Type = 17;
146    pub const seL4_VCPUReg_ELR_EL1: Type = 18;
147    pub const seL4_VCPUReg_SPSR_EL1: Type = 19;
148    pub const seL4_VCPURegSaveRange_end: Type = 19;
149    pub const seL4_VCPUReg_CNTV_CTL: Type = 20;
150    pub const seL4_VCPUReg_CNTV_CVAL: Type = 21;
151    pub const seL4_VCPUReg_CNTVOFF: Type = 22;
152    pub const seL4_VCPUReg_CNTKCTL_EL1: Type = 23;
153    pub const seL4_VCPUReg_Num: Type = 24;
154    pub const _enum_pad_seL4_VCPUReg: Type = 9223372036854775807;
155}
156pub mod seL4_TimeoutReply_Msg {
157    pub type Type = ::core::ffi::c_ulong;
158    pub const seL4_TimeoutReply_FaultIP: Type = 0;
159    pub const seL4_TimeoutReply_SP: Type = 1;
160    pub const seL4_TimeoutReply_SPSR_EL1: Type = 2;
161    pub const seL4_TimeoutReply_X0: Type = 3;
162    pub const seL4_TimeoutReply_X1: Type = 4;
163    pub const seL4_TimeoutReply_X2: Type = 5;
164    pub const seL4_TimeoutReply_X3: Type = 6;
165    pub const seL4_TimeoutReply_X4: Type = 7;
166    pub const seL4_TimeoutReply_X5: Type = 8;
167    pub const seL4_TimeoutReply_X6: Type = 9;
168    pub const seL4_TimeoutReply_X7: Type = 10;
169    pub const seL4_TimeoutReply_X8: Type = 11;
170    pub const seL4_TimeoutReply_X16: Type = 12;
171    pub const seL4_TimeoutReply_X17: Type = 13;
172    pub const seL4_TimeoutReply_X18: Type = 14;
173    pub const seL4_TimeoutReply_X29: Type = 15;
174    pub const seL4_TimeoutReply_X30: Type = 16;
175    pub const seL4_TimeoutReply_X9: Type = 17;
176    pub const seL4_TimeoutReply_X10: Type = 18;
177    pub const seL4_TimeoutReply_X11: Type = 19;
178    pub const seL4_TimeoutReply_X12: Type = 20;
179    pub const seL4_TimeoutReply_X13: Type = 21;
180    pub const seL4_TimeoutReply_X14: Type = 22;
181    pub const seL4_TimeoutReply_X15: Type = 23;
182    pub const seL4_TimeoutReply_X19: Type = 24;
183    pub const seL4_TimeoutReply_X20: Type = 25;
184    pub const seL4_TimeoutReply_X21: Type = 26;
185    pub const seL4_TimeoutReply_X22: Type = 27;
186    pub const seL4_TimeoutReply_X23: Type = 28;
187    pub const seL4_TimeoutReply_X24: Type = 29;
188    pub const seL4_TimeoutReply_X25: Type = 30;
189    pub const seL4_TimeoutReply_X26: Type = 31;
190    pub const seL4_TimeoutReply_X27: Type = 32;
191    pub const seL4_TimeoutReply_X28: Type = 33;
192    pub const seL4_TimeoutReply_Length: Type = 34;
193    pub const _enum_pad_seL4_TimeoutReply_Msg: Type = 9223372036854775807;
194}
195pub mod seL4_Timeout_Msg {
196    pub type Type = ::core::ffi::c_ulong;
197    pub const seL4_Timeout_Data: Type = 0;
198    pub const seL4_Timeout_Consumed: Type = 1;
199    pub const seL4_Timeout_Length: Type = 2;
200    pub const _enum_pad_seL4_Timeout_Msg: Type = 9223372036854775807;
201}
202pub type seL4_ARM_VSpace = seL4_CPtr;
203#[repr(C)]
204#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
205pub struct seL4_UserContext_ {
206    pub pc: seL4_Word,
207    pub sp: seL4_Word,
208    pub spsr: seL4_Word,
209    pub x0: seL4_Word,
210    pub x1: seL4_Word,
211    pub x2: seL4_Word,
212    pub x3: seL4_Word,
213    pub x4: seL4_Word,
214    pub x5: seL4_Word,
215    pub x6: seL4_Word,
216    pub x7: seL4_Word,
217    pub x8: seL4_Word,
218    pub x16: seL4_Word,
219    pub x17: seL4_Word,
220    pub x18: seL4_Word,
221    pub x29: seL4_Word,
222    pub x30: seL4_Word,
223    pub x9: seL4_Word,
224    pub x10: seL4_Word,
225    pub x11: seL4_Word,
226    pub x12: seL4_Word,
227    pub x13: seL4_Word,
228    pub x14: seL4_Word,
229    pub x15: seL4_Word,
230    pub x19: seL4_Word,
231    pub x20: seL4_Word,
232    pub x21: seL4_Word,
233    pub x22: seL4_Word,
234    pub x23: seL4_Word,
235    pub x24: seL4_Word,
236    pub x25: seL4_Word,
237    pub x26: seL4_Word,
238    pub x27: seL4_Word,
239    pub x28: seL4_Word,
240    pub tpidr_el0: seL4_Word,
241    pub tpidrro_el0: seL4_Word,
242}
243#[allow(clippy::unnecessary_operation, clippy::identity_op)]
244const _: () = {
245    ["Size of seL4_UserContext_"][::core::mem::size_of::<seL4_UserContext_>() - 288usize];
246    ["Alignment of seL4_UserContext_"][::core::mem::align_of::<seL4_UserContext_>() - 8usize];
247    ["Offset of field: seL4_UserContext_::pc"]
248        [::core::mem::offset_of!(seL4_UserContext_, pc) - 0usize];
249    ["Offset of field: seL4_UserContext_::sp"]
250        [::core::mem::offset_of!(seL4_UserContext_, sp) - 8usize];
251    ["Offset of field: seL4_UserContext_::spsr"]
252        [::core::mem::offset_of!(seL4_UserContext_, spsr) - 16usize];
253    ["Offset of field: seL4_UserContext_::x0"]
254        [::core::mem::offset_of!(seL4_UserContext_, x0) - 24usize];
255    ["Offset of field: seL4_UserContext_::x1"]
256        [::core::mem::offset_of!(seL4_UserContext_, x1) - 32usize];
257    ["Offset of field: seL4_UserContext_::x2"]
258        [::core::mem::offset_of!(seL4_UserContext_, x2) - 40usize];
259    ["Offset of field: seL4_UserContext_::x3"]
260        [::core::mem::offset_of!(seL4_UserContext_, x3) - 48usize];
261    ["Offset of field: seL4_UserContext_::x4"]
262        [::core::mem::offset_of!(seL4_UserContext_, x4) - 56usize];
263    ["Offset of field: seL4_UserContext_::x5"]
264        [::core::mem::offset_of!(seL4_UserContext_, x5) - 64usize];
265    ["Offset of field: seL4_UserContext_::x6"]
266        [::core::mem::offset_of!(seL4_UserContext_, x6) - 72usize];
267    ["Offset of field: seL4_UserContext_::x7"]
268        [::core::mem::offset_of!(seL4_UserContext_, x7) - 80usize];
269    ["Offset of field: seL4_UserContext_::x8"]
270        [::core::mem::offset_of!(seL4_UserContext_, x8) - 88usize];
271    ["Offset of field: seL4_UserContext_::x16"]
272        [::core::mem::offset_of!(seL4_UserContext_, x16) - 96usize];
273    ["Offset of field: seL4_UserContext_::x17"]
274        [::core::mem::offset_of!(seL4_UserContext_, x17) - 104usize];
275    ["Offset of field: seL4_UserContext_::x18"]
276        [::core::mem::offset_of!(seL4_UserContext_, x18) - 112usize];
277    ["Offset of field: seL4_UserContext_::x29"]
278        [::core::mem::offset_of!(seL4_UserContext_, x29) - 120usize];
279    ["Offset of field: seL4_UserContext_::x30"]
280        [::core::mem::offset_of!(seL4_UserContext_, x30) - 128usize];
281    ["Offset of field: seL4_UserContext_::x9"]
282        [::core::mem::offset_of!(seL4_UserContext_, x9) - 136usize];
283    ["Offset of field: seL4_UserContext_::x10"]
284        [::core::mem::offset_of!(seL4_UserContext_, x10) - 144usize];
285    ["Offset of field: seL4_UserContext_::x11"]
286        [::core::mem::offset_of!(seL4_UserContext_, x11) - 152usize];
287    ["Offset of field: seL4_UserContext_::x12"]
288        [::core::mem::offset_of!(seL4_UserContext_, x12) - 160usize];
289    ["Offset of field: seL4_UserContext_::x13"]
290        [::core::mem::offset_of!(seL4_UserContext_, x13) - 168usize];
291    ["Offset of field: seL4_UserContext_::x14"]
292        [::core::mem::offset_of!(seL4_UserContext_, x14) - 176usize];
293    ["Offset of field: seL4_UserContext_::x15"]
294        [::core::mem::offset_of!(seL4_UserContext_, x15) - 184usize];
295    ["Offset of field: seL4_UserContext_::x19"]
296        [::core::mem::offset_of!(seL4_UserContext_, x19) - 192usize];
297    ["Offset of field: seL4_UserContext_::x20"]
298        [::core::mem::offset_of!(seL4_UserContext_, x20) - 200usize];
299    ["Offset of field: seL4_UserContext_::x21"]
300        [::core::mem::offset_of!(seL4_UserContext_, x21) - 208usize];
301    ["Offset of field: seL4_UserContext_::x22"]
302        [::core::mem::offset_of!(seL4_UserContext_, x22) - 216usize];
303    ["Offset of field: seL4_UserContext_::x23"]
304        [::core::mem::offset_of!(seL4_UserContext_, x23) - 224usize];
305    ["Offset of field: seL4_UserContext_::x24"]
306        [::core::mem::offset_of!(seL4_UserContext_, x24) - 232usize];
307    ["Offset of field: seL4_UserContext_::x25"]
308        [::core::mem::offset_of!(seL4_UserContext_, x25) - 240usize];
309    ["Offset of field: seL4_UserContext_::x26"]
310        [::core::mem::offset_of!(seL4_UserContext_, x26) - 248usize];
311    ["Offset of field: seL4_UserContext_::x27"]
312        [::core::mem::offset_of!(seL4_UserContext_, x27) - 256usize];
313    ["Offset of field: seL4_UserContext_::x28"]
314        [::core::mem::offset_of!(seL4_UserContext_, x28) - 264usize];
315    ["Offset of field: seL4_UserContext_::tpidr_el0"]
316        [::core::mem::offset_of!(seL4_UserContext_, tpidr_el0) - 272usize];
317    ["Offset of field: seL4_UserContext_::tpidrro_el0"]
318        [::core::mem::offset_of!(seL4_UserContext_, tpidrro_el0) - 280usize];
319};
320pub type seL4_UserContext = seL4_UserContext_;
321#[repr(C)]
322#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
323pub struct seL4_ARM_SMCContext_ {
324    pub x0: seL4_Word,
325    pub x1: seL4_Word,
326    pub x2: seL4_Word,
327    pub x3: seL4_Word,
328    pub x4: seL4_Word,
329    pub x5: seL4_Word,
330    pub x6: seL4_Word,
331    pub x7: seL4_Word,
332}
333#[allow(clippy::unnecessary_operation, clippy::identity_op)]
334const _: () = {
335    ["Size of seL4_ARM_SMCContext_"][::core::mem::size_of::<seL4_ARM_SMCContext_>() - 64usize];
336    ["Alignment of seL4_ARM_SMCContext_"][::core::mem::align_of::<seL4_ARM_SMCContext_>() - 8usize];
337    ["Offset of field: seL4_ARM_SMCContext_::x0"]
338        [::core::mem::offset_of!(seL4_ARM_SMCContext_, x0) - 0usize];
339    ["Offset of field: seL4_ARM_SMCContext_::x1"]
340        [::core::mem::offset_of!(seL4_ARM_SMCContext_, x1) - 8usize];
341    ["Offset of field: seL4_ARM_SMCContext_::x2"]
342        [::core::mem::offset_of!(seL4_ARM_SMCContext_, x2) - 16usize];
343    ["Offset of field: seL4_ARM_SMCContext_::x3"]
344        [::core::mem::offset_of!(seL4_ARM_SMCContext_, x3) - 24usize];
345    ["Offset of field: seL4_ARM_SMCContext_::x4"]
346        [::core::mem::offset_of!(seL4_ARM_SMCContext_, x4) - 32usize];
347    ["Offset of field: seL4_ARM_SMCContext_::x5"]
348        [::core::mem::offset_of!(seL4_ARM_SMCContext_, x5) - 40usize];
349    ["Offset of field: seL4_ARM_SMCContext_::x6"]
350        [::core::mem::offset_of!(seL4_ARM_SMCContext_, x6) - 48usize];
351    ["Offset of field: seL4_ARM_SMCContext_::x7"]
352        [::core::mem::offset_of!(seL4_ARM_SMCContext_, x7) - 56usize];
353};
354pub type seL4_ARM_SMCContext = seL4_ARM_SMCContext_;
355pub type seL4_ARM_Page = seL4_CPtr;
356pub type seL4_ARM_PageTable = seL4_CPtr;
357pub type seL4_ARM_PageDirectory = seL4_CPtr;
358pub type seL4_ARM_ASIDControl = seL4_CPtr;
359pub type seL4_ARM_ASIDPool = seL4_CPtr;
360pub type seL4_ARM_VCPU = seL4_CPtr;
361pub type seL4_ARM_IOSpace = seL4_CPtr;
362pub type seL4_ARM_IOPageTable = seL4_CPtr;
363pub type seL4_ARM_SIDControl = seL4_CPtr;
364pub type seL4_ARM_SID = seL4_CPtr;
365pub type seL4_ARM_CBControl = seL4_CPtr;
366pub type seL4_ARM_CB = seL4_CPtr;
367pub type seL4_ARM_SMC = seL4_CPtr;
368pub type seL4_ARM_SGI_Signal = seL4_CPtr;
369pub mod seL4_ARM_VMAttributes {
370    pub type Type = ::core::ffi::c_ulong;
371    pub const seL4_ARM_PageCacheable: Type = 1;
372    pub const seL4_ARM_ParityEnabled: Type = 2;
373    pub const seL4_ARM_Default_VMAttributes: Type = 3;
374    pub const seL4_ARM_ExecuteNever: Type = 4;
375    pub const _enum_pad_seL4_ARM_VMAttributes: Type = 9223372036854775807;
376}
377pub mod seL4_ARM_CacheType {
378    pub type Type = ::core::ffi::c_ulong;
379    pub const seL4_ARM_CacheI: Type = 1;
380    pub const seL4_ARM_CacheD: Type = 2;
381    pub const seL4_ARM_CacheID: Type = 3;
382    pub const _enum_pad_seL4_ARM_CacheType: Type = 9223372036854775807;
383}
384pub mod api_object {
385    pub type Type = ::core::ffi::c_uint;
386    pub const seL4_UntypedObject: Type = 0;
387    pub const seL4_TCBObject: Type = 1;
388    pub const seL4_EndpointObject: Type = 2;
389    pub const seL4_NotificationObject: Type = 3;
390    pub const seL4_CapTableObject: Type = 4;
391    pub const seL4_SchedContextObject: Type = 5;
392    pub const seL4_ReplyObject: Type = 6;
393    pub const seL4_NonArchObjectTypeCount: Type = 7;
394}
395pub use self::api_object::Type as seL4_ObjectType;
396pub mod _mode_object {
397    pub type Type = ::core::ffi::c_uint;
398    pub const seL4_ARM_HugePageObject: Type = 7;
399    pub const seL4_ARM_VSpaceObject: Type = 8;
400    pub const seL4_ModeObjectTypeCount: Type = 9;
401}
402pub use self::_mode_object::Type as seL4_ModeObjectType;
403pub mod _object {
404    pub type Type = ::core::ffi::c_uint;
405    pub const seL4_ARM_SmallPageObject: Type = 9;
406    pub const seL4_ARM_LargePageObject: Type = 10;
407    pub const seL4_ARM_PageTableObject: Type = 11;
408    pub const seL4_ARM_VCPUObject: Type = 12;
409    pub const seL4_ObjectTypeCount: Type = 13;
410}
411pub use self::_object::Type as seL4_ArchObjectType;
412pub mod seL4_Error {
413    pub type Type = ::core::ffi::c_uint;
414    pub const seL4_NoError: Type = 0;
415    pub const seL4_InvalidArgument: Type = 1;
416    pub const seL4_InvalidCapability: Type = 2;
417    pub const seL4_IllegalOperation: Type = 3;
418    pub const seL4_RangeError: Type = 4;
419    pub const seL4_AlignmentError: Type = 5;
420    pub const seL4_FailedLookup: Type = 6;
421    pub const seL4_TruncatedMessage: Type = 7;
422    pub const seL4_DeleteFirst: Type = 8;
423    pub const seL4_RevokeFirst: Type = 9;
424    pub const seL4_NotEnoughMemory: Type = 10;
425    pub const seL4_NumErrors: Type = 11;
426}
427pub mod priorityConstants {
428    pub type Type = ::core::ffi::c_int;
429    pub const seL4_InvalidPrio: Type = -1;
430    pub const seL4_MinPrio: Type = 0;
431    pub const seL4_MaxPrio: Type = 255;
432}
433pub mod seL4_MsgLimits {
434    pub type Type = ::core::ffi::c_uint;
435    pub const seL4_MsgLengthBits: Type = 7;
436    pub const seL4_MsgExtraCapBits: Type = 2;
437    pub const seL4_MsgMaxLength: Type = 120;
438}
439pub mod seL4_LookupFailureType {
440    pub type Type = ::core::ffi::c_ulong;
441    pub const seL4_NoFailure: Type = 0;
442    pub const seL4_InvalidRoot: Type = 1;
443    pub const seL4_MissingCapability: Type = 2;
444    pub const seL4_DepthMismatch: Type = 3;
445    pub const seL4_GuardMismatch: Type = 4;
446    pub const _enum_pad_seL4_LookupFailureType: Type = 9223372036854775807;
447}
448pub mod seL4_TCBFlag {
449    pub type Type = ::core::ffi::c_ulong;
450    pub const seL4_TCBFlag_NoFlag: Type = 0;
451    pub const seL4_TCBFlag_fpuDisabled: Type = 1;
452    pub const _enum_pad_seL4_TCBFlag: Type = 9223372036854775807;
453    pub const seL4_TCBFlag_MASK: Type = 1;
454}
455pub mod seL4_SchedContextFlag {
456    pub type Type = ::core::ffi::c_ulong;
457    pub const seL4_SchedContext_NoFlag: Type = 0;
458    pub const seL4_SchedContext_Sporadic: Type = 1;
459    pub const _enum_pad_seL4_SchedContextFlag: Type = 9223372036854775807;
460}
461#[repr(C)]
462pub struct seL4_IPCBuffer_ {
463    pub tag: seL4_MessageInfo_t,
464    pub msg: [seL4_Word; 120usize],
465    pub userData: seL4_Word,
466    pub caps_or_badges: [seL4_Word; 3usize],
467    pub receiveCNode: seL4_CPtr,
468    pub receiveIndex: seL4_CPtr,
469    pub receiveDepth: seL4_Word,
470}
471#[allow(clippy::unnecessary_operation, clippy::identity_op)]
472const _: () = {
473    ["Size of seL4_IPCBuffer_"][::core::mem::size_of::<seL4_IPCBuffer_>() - 1024usize];
474    ["Alignment of seL4_IPCBuffer_"][::core::mem::align_of::<seL4_IPCBuffer_>() - 8usize];
475    ["Offset of field: seL4_IPCBuffer_::tag"]
476        [::core::mem::offset_of!(seL4_IPCBuffer_, tag) - 0usize];
477    ["Offset of field: seL4_IPCBuffer_::msg"]
478        [::core::mem::offset_of!(seL4_IPCBuffer_, msg) - 8usize];
479    ["Offset of field: seL4_IPCBuffer_::userData"]
480        [::core::mem::offset_of!(seL4_IPCBuffer_, userData) - 968usize];
481    ["Offset of field: seL4_IPCBuffer_::caps_or_badges"]
482        [::core::mem::offset_of!(seL4_IPCBuffer_, caps_or_badges) - 976usize];
483    ["Offset of field: seL4_IPCBuffer_::receiveCNode"]
484        [::core::mem::offset_of!(seL4_IPCBuffer_, receiveCNode) - 1000usize];
485    ["Offset of field: seL4_IPCBuffer_::receiveIndex"]
486        [::core::mem::offset_of!(seL4_IPCBuffer_, receiveIndex) - 1008usize];
487    ["Offset of field: seL4_IPCBuffer_::receiveDepth"]
488        [::core::mem::offset_of!(seL4_IPCBuffer_, receiveDepth) - 1016usize];
489};
490impl Default for seL4_IPCBuffer_ {
491    fn default() -> Self {
492        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
493        unsafe {
494            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
495            s.assume_init()
496        }
497    }
498}
499pub type seL4_IPCBuffer = seL4_IPCBuffer_;
500pub mod seL4_CapFault_Msg {
501    pub type Type = ::core::ffi::c_ulong;
502    pub const seL4_CapFault_IP: Type = 0;
503    pub const seL4_CapFault_Addr: Type = 1;
504    pub const seL4_CapFault_InRecvPhase: Type = 2;
505    pub const seL4_CapFault_LookupFailureType: Type = 3;
506    pub const seL4_CapFault_BitsLeft: Type = 4;
507    pub const seL4_CapFault_DepthMismatch_BitsFound: Type = 5;
508    pub const seL4_CapFault_GuardMismatch_GuardFound: Type = 5;
509    pub const seL4_CapFault_GuardMismatch_BitsFound: Type = 6;
510    pub const _enum_pad_seL4_CapFault_Msg: Type = 9223372036854775807;
511}
512pub type seL4_NodeId = seL4_Word;
513pub type seL4_PAddr = seL4_Word;
514pub type seL4_Domain = seL4_Word;
515pub type seL4_CNode = seL4_CPtr;
516pub type seL4_IRQHandler = seL4_CPtr;
517pub type seL4_IRQControl = seL4_CPtr;
518pub type seL4_TCB = seL4_CPtr;
519pub type seL4_Untyped = seL4_CPtr;
520pub type seL4_DomainSet = seL4_CPtr;
521pub type seL4_SchedContext = seL4_CPtr;
522pub type seL4_SchedControl = seL4_CPtr;
523pub type seL4_Time = seL4_Uint64;
524#[repr(C)]
525#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
526pub struct seL4_ARM_SIDControl_GetFault {
527    pub error: ::core::ffi::c_int,
528    pub status: seL4_Word,
529    pub syndrome_0: seL4_Word,
530    pub syndrome_1: seL4_Word,
531}
532#[allow(clippy::unnecessary_operation, clippy::identity_op)]
533const _: () = {
534    ["Size of seL4_ARM_SIDControl_GetFault"]
535        [::core::mem::size_of::<seL4_ARM_SIDControl_GetFault>() - 32usize];
536    ["Alignment of seL4_ARM_SIDControl_GetFault"]
537        [::core::mem::align_of::<seL4_ARM_SIDControl_GetFault>() - 8usize];
538    ["Offset of field: seL4_ARM_SIDControl_GetFault::error"]
539        [::core::mem::offset_of!(seL4_ARM_SIDControl_GetFault, error) - 0usize];
540    ["Offset of field: seL4_ARM_SIDControl_GetFault::status"]
541        [::core::mem::offset_of!(seL4_ARM_SIDControl_GetFault, status) - 8usize];
542    ["Offset of field: seL4_ARM_SIDControl_GetFault::syndrome_0"]
543        [::core::mem::offset_of!(seL4_ARM_SIDControl_GetFault, syndrome_0) - 16usize];
544    ["Offset of field: seL4_ARM_SIDControl_GetFault::syndrome_1"]
545        [::core::mem::offset_of!(seL4_ARM_SIDControl_GetFault, syndrome_1) - 24usize];
546};
547#[repr(C)]
548#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
549pub struct seL4_ARM_CB_CBGetFault {
550    pub error: ::core::ffi::c_int,
551    pub status: seL4_Word,
552    pub address: seL4_Word,
553}
554#[allow(clippy::unnecessary_operation, clippy::identity_op)]
555const _: () = {
556    ["Size of seL4_ARM_CB_CBGetFault"][::core::mem::size_of::<seL4_ARM_CB_CBGetFault>() - 24usize];
557    ["Alignment of seL4_ARM_CB_CBGetFault"]
558        [::core::mem::align_of::<seL4_ARM_CB_CBGetFault>() - 8usize];
559    ["Offset of field: seL4_ARM_CB_CBGetFault::error"]
560        [::core::mem::offset_of!(seL4_ARM_CB_CBGetFault, error) - 0usize];
561    ["Offset of field: seL4_ARM_CB_CBGetFault::status"]
562        [::core::mem::offset_of!(seL4_ARM_CB_CBGetFault, status) - 8usize];
563    ["Offset of field: seL4_ARM_CB_CBGetFault::address"]
564        [::core::mem::offset_of!(seL4_ARM_CB_CBGetFault, address) - 16usize];
565};
566#[repr(C)]
567#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
568pub struct seL4_TCB_GetBreakpoint {
569    pub error: ::core::ffi::c_int,
570    pub vaddr: seL4_Word,
571    pub type_: seL4_Word,
572    pub size: seL4_Word,
573    pub rw: seL4_Word,
574    pub is_enabled: seL4_Bool,
575}
576#[allow(clippy::unnecessary_operation, clippy::identity_op)]
577const _: () = {
578    ["Size of seL4_TCB_GetBreakpoint"][::core::mem::size_of::<seL4_TCB_GetBreakpoint>() - 48usize];
579    ["Alignment of seL4_TCB_GetBreakpoint"]
580        [::core::mem::align_of::<seL4_TCB_GetBreakpoint>() - 8usize];
581    ["Offset of field: seL4_TCB_GetBreakpoint::error"]
582        [::core::mem::offset_of!(seL4_TCB_GetBreakpoint, error) - 0usize];
583    ["Offset of field: seL4_TCB_GetBreakpoint::vaddr"]
584        [::core::mem::offset_of!(seL4_TCB_GetBreakpoint, vaddr) - 8usize];
585    ["Offset of field: seL4_TCB_GetBreakpoint::type_"]
586        [::core::mem::offset_of!(seL4_TCB_GetBreakpoint, type_) - 16usize];
587    ["Offset of field: seL4_TCB_GetBreakpoint::size"]
588        [::core::mem::offset_of!(seL4_TCB_GetBreakpoint, size) - 24usize];
589    ["Offset of field: seL4_TCB_GetBreakpoint::rw"]
590        [::core::mem::offset_of!(seL4_TCB_GetBreakpoint, rw) - 32usize];
591    ["Offset of field: seL4_TCB_GetBreakpoint::is_enabled"]
592        [::core::mem::offset_of!(seL4_TCB_GetBreakpoint, is_enabled) - 40usize];
593};
594#[repr(C)]
595#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
596pub struct seL4_TCB_ConfigureSingleStepping {
597    pub error: ::core::ffi::c_int,
598    pub bp_was_consumed: seL4_Bool,
599}
600#[allow(clippy::unnecessary_operation, clippy::identity_op)]
601const _: () = {
602    ["Size of seL4_TCB_ConfigureSingleStepping"]
603        [::core::mem::size_of::<seL4_TCB_ConfigureSingleStepping>() - 8usize];
604    ["Alignment of seL4_TCB_ConfigureSingleStepping"]
605        [::core::mem::align_of::<seL4_TCB_ConfigureSingleStepping>() - 4usize];
606    ["Offset of field: seL4_TCB_ConfigureSingleStepping::error"]
607        [::core::mem::offset_of!(seL4_TCB_ConfigureSingleStepping, error) - 0usize];
608    ["Offset of field: seL4_TCB_ConfigureSingleStepping::bp_was_consumed"]
609        [::core::mem::offset_of!(seL4_TCB_ConfigureSingleStepping, bp_was_consumed) - 4usize];
610};
611pub mod seL4_RootCNodeCapSlots {
612    pub type Type = ::core::ffi::c_uint;
613    pub const seL4_CapNull: Type = 0;
614    pub const seL4_CapInitThreadTCB: Type = 1;
615    pub const seL4_CapInitThreadCNode: Type = 2;
616    pub const seL4_CapInitThreadVSpace: Type = 3;
617    pub const seL4_CapIRQControl: Type = 4;
618    pub const seL4_CapASIDControl: Type = 5;
619    pub const seL4_CapInitThreadASIDPool: Type = 6;
620    pub const seL4_CapIOPortControl: Type = 7;
621    pub const seL4_CapIOSpace: Type = 8;
622    pub const seL4_CapBootInfoFrame: Type = 9;
623    pub const seL4_CapInitThreadIPCBuffer: Type = 10;
624    pub const seL4_CapDomain: Type = 11;
625    pub const seL4_CapSMMUSIDControl: Type = 12;
626    pub const seL4_CapSMMUCBControl: Type = 13;
627    pub const seL4_CapInitThreadSC: Type = 14;
628    pub const seL4_CapSMC: Type = 15;
629    pub const seL4_NumInitialCaps: Type = 16;
630}
631pub type seL4_SlotPos = seL4_Word;
632#[repr(C)]
633#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
634pub struct seL4_SlotRegion {
635    pub start: seL4_SlotPos,
636    pub end: seL4_SlotPos,
637}
638#[allow(clippy::unnecessary_operation, clippy::identity_op)]
639const _: () = {
640    ["Size of seL4_SlotRegion"][::core::mem::size_of::<seL4_SlotRegion>() - 16usize];
641    ["Alignment of seL4_SlotRegion"][::core::mem::align_of::<seL4_SlotRegion>() - 8usize];
642    ["Offset of field: seL4_SlotRegion::start"]
643        [::core::mem::offset_of!(seL4_SlotRegion, start) - 0usize];
644    ["Offset of field: seL4_SlotRegion::end"]
645        [::core::mem::offset_of!(seL4_SlotRegion, end) - 8usize];
646};
647#[repr(C)]
648#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
649pub struct seL4_UntypedDesc {
650    pub paddr: seL4_Word,
651    pub sizeBits: seL4_Uint8,
652    pub isDevice: seL4_Uint8,
653    pub padding: [seL4_Uint8; 6usize],
654}
655#[allow(clippy::unnecessary_operation, clippy::identity_op)]
656const _: () = {
657    ["Size of seL4_UntypedDesc"][::core::mem::size_of::<seL4_UntypedDesc>() - 16usize];
658    ["Alignment of seL4_UntypedDesc"][::core::mem::align_of::<seL4_UntypedDesc>() - 8usize];
659    ["Offset of field: seL4_UntypedDesc::paddr"]
660        [::core::mem::offset_of!(seL4_UntypedDesc, paddr) - 0usize];
661    ["Offset of field: seL4_UntypedDesc::sizeBits"]
662        [::core::mem::offset_of!(seL4_UntypedDesc, sizeBits) - 8usize];
663    ["Offset of field: seL4_UntypedDesc::isDevice"]
664        [::core::mem::offset_of!(seL4_UntypedDesc, isDevice) - 9usize];
665    ["Offset of field: seL4_UntypedDesc::padding"]
666        [::core::mem::offset_of!(seL4_UntypedDesc, padding) - 10usize];
667};
668#[repr(C)]
669#[derive(Debug, Copy, Clone, PartialEq, Eq)]
670pub struct seL4_BootInfo {
671    pub extraLen: seL4_Word,
672    pub nodeID: seL4_NodeId,
673    pub numNodes: seL4_Word,
674    pub numIOPTLevels: seL4_Word,
675    pub ipcBuffer: *mut seL4_IPCBuffer,
676    pub empty: seL4_SlotRegion,
677    pub sharedFrames: seL4_SlotRegion,
678    pub userImageFrames: seL4_SlotRegion,
679    pub userImagePaging: seL4_SlotRegion,
680    pub ioSpaceCaps: seL4_SlotRegion,
681    pub extraBIPages: seL4_SlotRegion,
682    pub initThreadCNodeSizeBits: seL4_Word,
683    pub initThreadDomain: seL4_Domain,
684    pub schedcontrol: seL4_SlotRegion,
685    pub untyped: seL4_SlotRegion,
686    pub untypedList: [seL4_UntypedDesc; 230usize],
687}
688#[allow(clippy::unnecessary_operation, clippy::identity_op)]
689const _: () = {
690    ["Size of seL4_BootInfo"][::core::mem::size_of::<seL4_BootInfo>() - 3864usize];
691    ["Alignment of seL4_BootInfo"][::core::mem::align_of::<seL4_BootInfo>() - 8usize];
692    ["Offset of field: seL4_BootInfo::extraLen"]
693        [::core::mem::offset_of!(seL4_BootInfo, extraLen) - 0usize];
694    ["Offset of field: seL4_BootInfo::nodeID"]
695        [::core::mem::offset_of!(seL4_BootInfo, nodeID) - 8usize];
696    ["Offset of field: seL4_BootInfo::numNodes"]
697        [::core::mem::offset_of!(seL4_BootInfo, numNodes) - 16usize];
698    ["Offset of field: seL4_BootInfo::numIOPTLevels"]
699        [::core::mem::offset_of!(seL4_BootInfo, numIOPTLevels) - 24usize];
700    ["Offset of field: seL4_BootInfo::ipcBuffer"]
701        [::core::mem::offset_of!(seL4_BootInfo, ipcBuffer) - 32usize];
702    ["Offset of field: seL4_BootInfo::empty"]
703        [::core::mem::offset_of!(seL4_BootInfo, empty) - 40usize];
704    ["Offset of field: seL4_BootInfo::sharedFrames"]
705        [::core::mem::offset_of!(seL4_BootInfo, sharedFrames) - 56usize];
706    ["Offset of field: seL4_BootInfo::userImageFrames"]
707        [::core::mem::offset_of!(seL4_BootInfo, userImageFrames) - 72usize];
708    ["Offset of field: seL4_BootInfo::userImagePaging"]
709        [::core::mem::offset_of!(seL4_BootInfo, userImagePaging) - 88usize];
710    ["Offset of field: seL4_BootInfo::ioSpaceCaps"]
711        [::core::mem::offset_of!(seL4_BootInfo, ioSpaceCaps) - 104usize];
712    ["Offset of field: seL4_BootInfo::extraBIPages"]
713        [::core::mem::offset_of!(seL4_BootInfo, extraBIPages) - 120usize];
714    ["Offset of field: seL4_BootInfo::initThreadCNodeSizeBits"]
715        [::core::mem::offset_of!(seL4_BootInfo, initThreadCNodeSizeBits) - 136usize];
716    ["Offset of field: seL4_BootInfo::initThreadDomain"]
717        [::core::mem::offset_of!(seL4_BootInfo, initThreadDomain) - 144usize];
718    ["Offset of field: seL4_BootInfo::schedcontrol"]
719        [::core::mem::offset_of!(seL4_BootInfo, schedcontrol) - 152usize];
720    ["Offset of field: seL4_BootInfo::untyped"]
721        [::core::mem::offset_of!(seL4_BootInfo, untyped) - 168usize];
722    ["Offset of field: seL4_BootInfo::untypedList"]
723        [::core::mem::offset_of!(seL4_BootInfo, untypedList) - 184usize];
724};
725impl Default for seL4_BootInfo {
726    fn default() -> Self {
727        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
728        unsafe {
729            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
730            s.assume_init()
731        }
732    }
733}
734pub mod seL4_BootInfoID {
735    pub type Type = ::core::ffi::c_ulong;
736    pub const SEL4_BOOTINFO_HEADER_PADDING: Type = 0;
737    pub const SEL4_BOOTINFO_HEADER_X86_VBE: Type = 1;
738    pub const SEL4_BOOTINFO_HEADER_X86_MBMMAP: Type = 2;
739    pub const SEL4_BOOTINFO_HEADER_X86_ACPI_RSDP: Type = 3;
740    pub const SEL4_BOOTINFO_HEADER_X86_FRAMEBUFFER: Type = 4;
741    pub const SEL4_BOOTINFO_HEADER_X86_TSC_FREQ: Type = 5;
742    pub const SEL4_BOOTINFO_HEADER_FDT: Type = 6;
743    pub const SEL4_BOOTINFO_HEADER_NUM: Type = 7;
744    pub const _enum_pad_seL4_BootInfoID: Type = 9223372036854775807;
745}
746#[repr(C)]
747#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
748pub struct seL4_BootInfoHeader {
749    pub id: seL4_Word,
750    pub len: seL4_Word,
751}
752#[allow(clippy::unnecessary_operation, clippy::identity_op)]
753const _: () = {
754    ["Size of seL4_BootInfoHeader"][::core::mem::size_of::<seL4_BootInfoHeader>() - 16usize];
755    ["Alignment of seL4_BootInfoHeader"][::core::mem::align_of::<seL4_BootInfoHeader>() - 8usize];
756    ["Offset of field: seL4_BootInfoHeader::id"]
757        [::core::mem::offset_of!(seL4_BootInfoHeader, id) - 0usize];
758    ["Offset of field: seL4_BootInfoHeader::len"]
759        [::core::mem::offset_of!(seL4_BootInfoHeader, len) - 8usize];
760};