use {AsHandleRef, Cookied, HandleBased, Handle, HandleRef, Status};
use {sys, into_result};
#[derive(Debug, Eq, PartialEq)]
pub struct Event(Handle);
impl_handle_based!(Event);
impl Cookied for Event {}
impl Event {
pub fn create(options: EventOpts) -> Result<Event, Status> {
let mut out = 0;
let status = unsafe { sys::mx_event_create(options as u32, &mut out) };
into_result(status, || Self::from(Handle(out)))
}
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, Eq, PartialEq)]
pub enum EventOpts {
Default = 0,
}
impl Default for EventOpts {
fn default() -> Self {
EventOpts::Default
}
}