use crate::LINUX_TERMIOS_CC as CC;
#[doc = crate::_tags!(linux term)]
#[doc = crate::_doc_meta!{
location("sys/os/linux/io/term"),
test_size_of(LinuxTermiosCc = 1|8),
}]
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[repr(transparent)]
pub struct LinuxTermiosCc(u8);
impl LinuxTermiosCc {
pub const COUNT: usize = 19;
pub const VINTR: Self = Self(CC::VINTR);
pub const VQUIT: Self = Self(CC::VQUIT);
pub const VERASE: Self = Self(CC::VERASE);
pub const VKILL: Self = Self(CC::VKILL);
pub const VEOF: Self = Self(CC::VEOF);
pub const VTIME: Self = Self(CC::VTIME);
pub const VMIN: Self = Self(CC::VMIN);
pub const VSWTC: Self = Self(CC::VSWTC);
pub const VSTART: Self = Self(CC::VSTART);
pub const VSTOP: Self = Self(CC::VSTOP);
pub const VSUSP: Self = Self(CC::VSUSP);
pub const VEOL: Self = Self(CC::VEOL);
pub const VREPRINT: Self = Self(CC::VREPRINT);
pub const VDISCARD: Self = Self(CC::VDISCARD);
pub const VWERASE: Self = Self(CC::VWERASE);
pub const VLNEXT: Self = Self(CC::VLNEXT);
pub const VEOL2: Self = Self(CC::VEOL2);
#[must_use]
pub const fn new(index: u8) -> Option<Self> {
if (index as usize) < Self::COUNT { Some(Self(index)) } else { None }
}
#[must_use]
pub const fn as_u8(self) -> u8 {
self.0
}
#[must_use]
pub const fn index(self) -> usize {
self.0 as usize
}
const _ASSERT_RAW_VALUES: () = {
assert!(Self::VINTR.index() == CC::VINTR as usize);
assert!(Self::VQUIT.index() == CC::VQUIT as usize);
assert!(Self::VERASE.index() == CC::VERASE as usize);
assert!(Self::VKILL.index() == CC::VKILL as usize);
assert!(Self::VEOF.index() == CC::VEOF as usize);
assert!(Self::VTIME.index() == CC::VTIME as usize);
assert!(Self::VMIN.index() == CC::VMIN as usize);
assert!(Self::VSWTC.index() == CC::VSWTC as usize);
assert!(Self::VSTART.index() == CC::VSTART as usize);
assert!(Self::VSTOP.index() == CC::VSTOP as usize);
assert!(Self::VSUSP.index() == CC::VSUSP as usize);
assert!(Self::VEOL.index() == CC::VEOL as usize);
assert!(Self::VREPRINT.index() == CC::VREPRINT as usize);
assert!(Self::VDISCARD.index() == CC::VDISCARD as usize);
assert!(Self::VWERASE.index() == CC::VWERASE as usize);
assert!(Self::VLNEXT.index() == CC::VLNEXT as usize);
assert!(Self::VEOL2.index() == CC::VEOL2 as usize);
};
}