event/
lib.rs

1#![no_std]
2
3#[cfg(feature = "wrappers")]
4pub extern crate libredox;
5
6#[cfg(feature = "redox_syscall")]
7mod sc {
8    use crate::raw::EventFlags;
9
10    const _: () = {
11        if EventFlags::READ.bits() as usize != syscall::EventFlags::EVENT_READ.bits() {
12            panic!();
13        }
14        if EventFlags::WRITE.bits() as usize != syscall::EventFlags::EVENT_WRITE.bits() {
15            panic!();
16        }
17    };
18    impl From<syscall::flag::EventFlags> for EventFlags {
19        fn from(value: syscall::flag::EventFlags) -> Self {
20            let mut this = Self::empty();
21            this.set(Self::READ, value.contains(syscall::EventFlags::EVENT_READ));
22            this.set(
23                Self::WRITE,
24                value.contains(syscall::EventFlags::EVENT_WRITE),
25            );
26            this
27        }
28    }
29    impl From<EventFlags> for syscall::flag::EventFlags {
30        fn from(value: EventFlags) -> Self {
31            let mut this = Self::empty();
32            this.set(Self::EVENT_READ, value.contains(EventFlags::READ));
33            this.set(Self::EVENT_WRITE, value.contains(EventFlags::WRITE));
34            this
35        }
36    }
37}
38pub mod raw;
39
40#[cfg(feature = "wrappers")]
41mod wrappers;
42#[cfg(feature = "wrappers")]
43pub use wrappers::*;