event_bindings/
event_bindings.rs1#![expect(non_camel_case_types)]
8#![expect(non_upper_case_globals)]
9#![no_std]
10pub use zx_types::{zx_instant_mono_t, zx_status_t};
11pub type Deadline = core::ffi::c_void;
12pub type Interruptible = bool;
13pub type OwnedWaitQueue = core::ffi::c_void;
14
15#[derive(PartialEq, Eq, Copy, Clone, Debug, Hash)]
16#[repr(C, align(8))]
17pub struct __BindgenOpaqueArray8<T>(pub T);
18impl<T: Copy + Default, const N: usize> Default for __BindgenOpaqueArray8<[T; N]> {
19 fn default() -> Self {
20 Self([<T as Default>::default(); N])
21 }
22}
23#[repr(C)]
24#[repr(align(8))]
25#[derive(Debug, Copy, Clone)]
26pub struct Event {
27 pub _bindgen_opaque_blob: __BindgenOpaqueArray8<[u8; 72usize]>,
28}
29pub const Event_Flags_NONE: Event_Flags = 0;
30pub const Event_Flags_AUTOUNSIGNAL: Event_Flags = 1;
31pub type Event_Flags = u32;
32#[repr(C)]
33#[repr(align(8))]
34#[derive(Debug, Copy, Clone)]
35pub struct AutounsignalEvent {
36 pub _bindgen_opaque_blob: __BindgenOpaqueArray8<[u8; 72usize]>,
37}
38unsafe extern "C" {
39 pub fn cpp_event_init(event: *mut Event, initial: bool);
40}
41unsafe extern "C" {
42 pub fn cpp_event_destroy(event: *mut Event);
43}
44unsafe extern "C" {
45 pub fn cpp_event_signal(event: *mut Event, wait_result: zx_status_t);
46}
47unsafe extern "C" {
48 pub fn cpp_event_signal_etc(
49 event: *mut Event,
50 wait_result: zx_status_t,
51 queue_to_own: *mut OwnedWaitQueue,
52 );
53}
54unsafe extern "C" {
55 pub fn cpp_event_unsignal(event: *mut Event) -> zx_status_t;
56}
57unsafe extern "C" {
58 pub fn cpp_event_wait(event: *mut Event, deadline: zx_instant_mono_t) -> zx_status_t;
59}
60unsafe extern "C" {
61 pub fn cpp_event_wait_deadline(event: *mut Event, deadline: *const Deadline) -> zx_status_t;
62}
63unsafe extern "C" {
64 pub fn cpp_event_wait_mask(
65 event: *mut Event,
66 deadline: *const Deadline,
67 signal_mask: u32,
68 ) -> zx_status_t;
69}
70unsafe extern "C" {
71 pub fn cpp_event_wait_infinite(event: *mut Event) -> zx_status_t;
72}
73unsafe extern "C" {
74 pub fn cpp_event_wait_interruptible(
75 event: *mut Event,
76 deadline: zx_instant_mono_t,
77 interruptible: Interruptible,
78 ) -> zx_status_t;
79}
80unsafe extern "C" {
81 pub fn cpp_event_is_signaled(event: *const Event) -> bool;
82}
83unsafe extern "C" {
84 pub fn cpp_autounsignal_event_init(event: *mut AutounsignalEvent, initial: bool);
85}
86unsafe extern "C" {
87 pub fn cpp_autounsignal_event_destroy(event: *mut AutounsignalEvent);
88}
89unsafe extern "C" {
90 pub fn cpp_autounsignal_event_as_event(event: *mut AutounsignalEvent) -> *mut Event;
91}
92unsafe extern "C" {
93 pub fn cpp_autounsignal_event_as_event_const(event: *const AutounsignalEvent) -> *const Event;
94}