#[repr(C)]
#[cfg_attr(
feature = "zerocopy",
derive(
zerocopy::FromBytes,
zerocopy::Immutable,
zerocopy::IntoBytes,
zerocopy::KnownLayout
)
)]
#[derive(Debug, Clone, PartialEq, Default)]
pub struct PollEvent(u16);
bitflags! {
impl PollEvent: u16 {
const NONE = 0;
const IN = 0x001;
const PRI = 0x002;
const OUT = 0x004;
const RDNORM = 0x040;
const RDBAND = 0x080;
const WRNORM = 0x100;
const WRBAND = 0x200;
const MSG = 0x400;
const REMOVE = 0x1000;
const RDHUP = 0x2000;
const ERR = 0x008;
const HUP = 0x010;
const NVAL = 0x020;
}
}
#[repr(C)]
#[cfg_attr(
feature = "zerocopy",
derive(
zerocopy::FromBytes,
zerocopy::Immutable,
zerocopy::IntoBytes,
zerocopy::KnownLayout
)
)]
#[derive(Debug, Clone, Default)]
pub struct PollFd {
pub fd: u32,
pub events: PollEvent,
pub revents: PollEvent,
}