wait_queue_bindings/
wait_queue_bindings.rs1#![expect(non_camel_case_types)]
8#![expect(non_upper_case_globals)]
9#![no_std]
10pub use zx_types::{
11 zx_duration_mono_t as SchedDuration, zx_instant_mono_t,
12 zx_instant_mono_t as WaitQueueCollection_PrimaryKey, zx_status_t,
13};
14pub type Deadline = core::ffi::c_void;
15pub type Thread = core::ffi::c_void;
16pub type Timer = core::ffi::c_void;
17
18#[derive(PartialEq, Eq, Copy, Clone, Debug, Hash)]
19#[repr(C, align(8))]
20pub struct __BindgenOpaqueArray8<T>(pub T);
21impl<T: Copy + Default, const N: usize> Default for __BindgenOpaqueArray8<[T; N]> {
22 fn default() -> Self {
23 Self([<T as Default>::default(); N])
24 }
25}
26#[repr(C)]
27#[repr(align(8))]
28#[derive(Debug, Copy, Clone)]
29pub struct SchedulerState_EffectiveProfile {
30 pub _bindgen_opaque_blob: __BindgenOpaqueArray8<[u8; 32usize]>,
31}
32#[repr(C)]
33#[repr(align(8))]
34#[derive(Debug, Copy, Clone)]
35pub struct SchedulerState_WaitQueueInheritedSchedulerState {
36 pub _bindgen_opaque_blob: __BindgenOpaqueArray8<[u8; 64usize]>,
37}
38#[repr(i32)]
39#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
40pub enum ResourceOwnership {
41 Normal = 0,
42 Reader = 1,
43}
44#[repr(u8)]
45#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
46pub enum Interruptible {
47 No = 0,
48 Yes = 1,
49}
50#[repr(u8)]
51#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
52pub enum ForceInheritance {
53 No = 0,
54 Yes = 1,
55}
56#[repr(C)]
57#[derive(Debug)]
58pub struct WaitQueueCollection {
59 pub threads_: WaitQueueCollection_BlockedThreadTree,
60}
61#[repr(C)]
62pub struct WaitQueueCollection_ThreadState {
63 pub blocking_wait_queue_: *mut WaitQueueBase,
64 pub blocked_threads_tree_node_: __BindgenOpaqueArray8<[u8; 32usize]>,
65 pub blocked_threads_tree_sort_key_: WaitQueueCollection_PrimaryKey,
66 pub subtree_min_deadline_: SchedDuration,
67 pub blocked_status_: zx_status_t,
68 pub interruptible_: Interruptible,
69 pub __bindgen_padding_0: [u8; 3usize],
70 pub inherited_scheduler_state_storage_: SchedulerState_WaitQueueInheritedSchedulerState,
71}
72pub type WaitQueueCollection_BlockedThreadTree = __BindgenOpaqueArray8<[u8; 32usize]>;
73#[repr(C)]
74pub struct WaitQueueBase {
75 pub __bindgen_padding_0: [u8; 16usize],
76 pub magic_: u32,
77 pub __bindgen_padding_1: [u8; 4usize],
78 pub collection_: WaitQueueCollection,
79}
80#[repr(C)]
81pub struct WaitQueue {
82 pub _base: WaitQueueBase,
83}
84pub const WaitQueue_kMagic: u32 = 2002872692;