#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[derive(Deserialize, Serialize)]
#[serde(deny_unknown_fields)]
#[repr(u32)]
pub enum AccessPermissions
{
#[allow(missing_docs)]
KernelReadUserspaceWrite = BPF_MAP_CREATE_flags::BPF_F_RDONLY.bits() | BPF_MAP_CREATE_flags::BPF_F_WRONLY_PROG.bits(),
#[allow(missing_docs)]
KernelReadUserspaceReadWrite = BPF_MAP_CREATE_flags::BPF_F_RDONLY.bits(),
#[allow(missing_docs)]
KernelWriteUserspaceRead = BPF_MAP_CREATE_flags::BPF_F_WRONLY.bits() | BPF_MAP_CREATE_flags::BPF_F_RDONLY_PROG.bits(),
KernelWriteUserspaceReadWrite = BPF_MAP_CREATE_flags::BPF_F_WRONLY.bits(),
#[allow(missing_docs)]
KernelReadAndWriteUserspaceRead = BPF_MAP_CREATE_flags::BPF_F_RDONLY_PROG.bits(),
#[allow(missing_docs)]
KernelReadAndWriteUserspaceWrite = BPF_MAP_CREATE_flags::BPF_F_WRONLY_PROG.bits(),
#[allow(missing_docs)]
KernelReadAndWriteUserspaceReadWrite = BPF_MAP_CREATE_flags::empty().bits(),
}
impl Default for AccessPermissions
{
#[inline(always)]
fn default() -> Self
{
AccessPermissions::KernelReadAndWriteUserspaceReadWrite
}
}
impl AccessPermissions
{
#[inline(always)]
pub(crate) const fn to_map_flags(self) -> BPF_MAP_CREATE_flags
{
unsafe { BPF_MAP_CREATE_flags::from_bits_unchecked(self as u32) }
}
}