#[non_exhaustive]#[repr(u64)]pub enum AccessNet {
BindTcp = 1,
ConnectTcp = 2,
}
Expand description
Network access right.
Each variant of AccessNet
is an access right
for the network.
A set of access rights can be created with BitFlags<AccessNet>
.
§Example
use landlock::{ABI, Access, AccessNet, BitFlags, make_bitflags};
let bind = AccessNet::BindTcp;
let bind_set: BitFlags<AccessNet> = bind.into();
let bind_connect = make_bitflags!(AccessNet::{BindTcp | ConnectTcp});
let net_v4 = AccessNet::from_all(ABI::V4);
assert_eq!(bind_connect, net_v4);
§Warning
To avoid unknown restrictions don’t use BitFlags::<AccessNet>::all()
nor BitFlags::ALL
,
but use a version you tested and vetted instead,
for instance AccessNet::from_all(ABI::V4)
.
Direct use of the BitFlags
API is deprecated.
See ABI
for the rationale and help to test it.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Trait Implementations§
source§impl Access for AccessNet
impl Access for AccessNet
§Warning
If ABI <= ABI::V3
, AccessNet::from_all()
returns an empty BitFlags<AccessNet>
, which
makes Ruleset::handle_access(AccessNet::from_all(ABI::V3))
return an error.
source§impl BitFlag for AccessNet
impl BitFlag for AccessNet
§fn empty() -> BitFlags<Self>
fn empty() -> BitFlags<Self>
Create a
BitFlags
with no flags set (in other words, with a value of 0). Read more§fn from_bits(bits: Self::Numeric) -> Result<BitFlags<Self>, FromBitsError<Self>>
fn from_bits(bits: Self::Numeric) -> Result<BitFlags<Self>, FromBitsError<Self>>
Create a
BitFlags
if the raw value provided does not contain
any illegal flags. Read more§fn from_bits_truncate(bits: Self::Numeric) -> BitFlags<Self>
fn from_bits_truncate(bits: Self::Numeric) -> BitFlags<Self>
Create a
BitFlags
from an underlying bitwise value. If any
invalid bits are set, ignore them. Read more§unsafe fn from_bits_unchecked(bits: Self::Numeric) -> BitFlags<Self>
unsafe fn from_bits_unchecked(bits: Self::Numeric) -> BitFlags<Self>
Create a
BitFlags
unsafely, without checking if the bits form
a valid bit pattern for the type. Read moresource§impl RawBitFlags for AccessNet
impl RawBitFlags for AccessNet
source§const EMPTY: Self::Numeric = {transmute(0x0000000000000000): <net::AccessNet as enumflags2::_internal::RawBitFlags>::Numeric}
const EMPTY: Self::Numeric = {transmute(0x0000000000000000): <net::AccessNet as enumflags2::_internal::RawBitFlags>::Numeric}
A value with no bits set.
source§const DEFAULT: Self::Numeric = {transmute(0x0000000000000000): <net::AccessNet as enumflags2::_internal::RawBitFlags>::Numeric}
const DEFAULT: Self::Numeric = {transmute(0x0000000000000000): <net::AccessNet as enumflags2::_internal::RawBitFlags>::Numeric}
The value used by the Default implementation. Equivalent to EMPTY, unless
customized.
source§const ALL_BITS: Self::Numeric = {transmute(0x0000000000000003): <net::AccessNet as enumflags2::_internal::RawBitFlags>::Numeric}
const ALL_BITS: Self::Numeric = {transmute(0x0000000000000003): <net::AccessNet as enumflags2::_internal::RawBitFlags>::Numeric}
A value with all flag bits set.
source§const BITFLAGS_TYPE_NAME: &'static str = "BitFlags<AccessNet>"
const BITFLAGS_TYPE_NAME: &'static str = "BitFlags<AccessNet>"
The name of the type for debug formatting purposes. Read more
impl Copy for AccessNet
impl Eq for AccessNet
impl Rule<AccessNet> for NetPort
impl StructuralPartialEq for AccessNet
Auto Trait Implementations§
impl Freeze for AccessNet
impl RefUnwindSafe for AccessNet
impl Send for AccessNet
impl Sync for AccessNet
impl Unpin for AccessNet
impl UnwindSafe for AccessNet
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)