#[derive(Clone, Copy, Debug, Default)]
#[repr(C)]
pub struct RawEventV1 {
pub fd: usize,
pub user_data: usize,
pub flags: u32,
}
bitflags::bitflags! {
#[derive(Clone, Copy, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub struct EventQueueCreateFlagsV1: usize {
const NONE = 0;
}
#[derive(Clone, Copy, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub struct EventQueueGetEventsFlagsV1: usize {
const NONE = 0;
}
}
type RawResult = usize;
extern "C" {
pub fn redox_event_queue_create_v1(flags: u32) -> RawResult;
pub fn redox_event_queue_get_events_v1(
queue: usize,
buf: *mut RawEventV1,
buf_count: usize,
flags: u32,
timeout: *const libredox::data::TimeSpec,
sigset: *const libredox::data::SigSet,
) -> RawResult;
pub fn redox_event_queue_ctl_v1(
queue: usize,
fd: usize,
flags: u32,
user_data: usize,
) -> RawResult;
pub fn redox_event_queue_destroy_v1(queue: usize) -> RawResult;
}
bitflags::bitflags! {
#[derive(Clone, Copy, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub struct EventFlags: u32 {
const READ = 1;
const WRITE = 2;
}
}