Struct PadByte
pub struct PadByte(/* private fields */);Expand description
A byte used only to control memory alignment. All padding bytes are considered equal regardless of their content.
Note that the kernel C/C++ struct definitions use explicit padding fields to ensure no implicit padding is added. This is important for security since implicit padding bytes are not always safely initialized. These explicit padding fields are mirrored in the Rust struct definitions to minimize the opportunities for mistakes and inconsistencies.
Trait Implementations§
§impl FromBytes for PadByte
 
impl FromBytes for PadByte
Source§fn ref_from_bytes(
    source: &[u8],
) -> Result<&Self, ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
    Self: KnownLayout + Immutable,
 
fn ref_from_bytes(
    source: &[u8],
) -> Result<&Self, ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
    Self: KnownLayout + Immutable,
Source§fn ref_from_prefix(
    source: &[u8],
) -> Result<(&Self, &[u8]), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
    Self: KnownLayout + Immutable,
 
fn ref_from_prefix(
    source: &[u8],
) -> Result<(&Self, &[u8]), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
    Self: KnownLayout + Immutable,
Source§fn ref_from_suffix(
    source: &[u8],
) -> Result<(&[u8], &Self), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
    Self: Immutable + KnownLayout,
 
fn ref_from_suffix(
    source: &[u8],
) -> Result<(&[u8], &Self), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
    Self: Immutable + KnownLayout,
Interprets the suffix of the given bytes as a 
&Self. Read moreSource§fn mut_from_bytes(
    source: &mut [u8],
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
    Self: IntoBytes + KnownLayout,
 
fn mut_from_bytes(
    source: &mut [u8],
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
    Self: IntoBytes + KnownLayout,
Source§fn mut_from_prefix(
    source: &mut [u8],
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
    Self: IntoBytes + KnownLayout,
 
fn mut_from_prefix(
    source: &mut [u8],
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
    Self: IntoBytes + KnownLayout,
Source§fn mut_from_suffix(
    source: &mut [u8],
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
    Self: IntoBytes + KnownLayout,
 
fn mut_from_suffix(
    source: &mut [u8],
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
    Self: IntoBytes + KnownLayout,
Source§fn ref_from_bytes_with_elems(
    source: &[u8],
    count: usize,
) -> Result<&Self, ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>
 
fn ref_from_bytes_with_elems( source: &[u8], count: usize, ) -> Result<&Self, ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>
Source§fn ref_from_prefix_with_elems(
    source: &[u8],
    count: usize,
) -> Result<(&Self, &[u8]), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>
 
fn ref_from_prefix_with_elems( source: &[u8], count: usize, ) -> Result<(&Self, &[u8]), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>
Source§fn ref_from_suffix_with_elems(
    source: &[u8],
    count: usize,
) -> Result<(&[u8], &Self), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>
 
fn ref_from_suffix_with_elems( source: &[u8], count: usize, ) -> Result<(&[u8], &Self), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>
Source§fn mut_from_bytes_with_elems(
    source: &mut [u8],
    count: usize,
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>
 
fn mut_from_bytes_with_elems( source: &mut [u8], count: usize, ) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>
Source§fn mut_from_prefix_with_elems(
    source: &mut [u8],
    count: usize,
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>
 
fn mut_from_prefix_with_elems( source: &mut [u8], count: usize, ) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>
Source§fn mut_from_suffix_with_elems(
    source: &mut [u8],
    count: usize,
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>
 
fn mut_from_suffix_with_elems( source: &mut [u8], count: usize, ) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>
§impl IntoBytes for PadByte
 
impl IntoBytes for PadByte
Source§fn as_mut_bytes(&mut self) -> &mut [u8] ⓘwhere
    Self: FromBytes,
 
fn as_mut_bytes(&mut self) -> &mut [u8] ⓘwhere
    Self: FromBytes,
Gets the bytes of this value mutably. Read more
Source§fn write_to(&self, dst: &mut [u8]) -> Result<(), SizeError<&Self, &mut [u8]>>where
    Self: Immutable,
 
fn write_to(&self, dst: &mut [u8]) -> Result<(), SizeError<&Self, &mut [u8]>>where
    Self: Immutable,
§impl TryFromBytes for PadBytewhere
    u8: TryFromBytes,
 
impl TryFromBytes for PadBytewhere
    u8: TryFromBytes,
Source§fn try_ref_from_bytes(
    source: &[u8],
) -> Result<&Self, ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
    Self: KnownLayout + Immutable,
 
fn try_ref_from_bytes(
    source: &[u8],
) -> Result<&Self, ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
    Self: KnownLayout + Immutable,
Source§fn try_ref_from_prefix(
    source: &[u8],
) -> Result<(&Self, &[u8]), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
    Self: KnownLayout + Immutable,
 
fn try_ref_from_prefix(
    source: &[u8],
) -> Result<(&Self, &[u8]), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
    Self: KnownLayout + Immutable,
Source§fn try_ref_from_suffix(
    source: &[u8],
) -> Result<(&[u8], &Self), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
    Self: KnownLayout + Immutable,
 
fn try_ref_from_suffix(
    source: &[u8],
) -> Result<(&[u8], &Self), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
    Self: KnownLayout + Immutable,
Source§fn try_mut_from_bytes(
    bytes: &mut [u8],
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
    Self: KnownLayout + IntoBytes,
 
fn try_mut_from_bytes(
    bytes: &mut [u8],
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
    Self: KnownLayout + IntoBytes,
Source§fn try_mut_from_prefix(
    source: &mut [u8],
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
    Self: KnownLayout + IntoBytes,
 
fn try_mut_from_prefix(
    source: &mut [u8],
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
    Self: KnownLayout + IntoBytes,
Source§fn try_mut_from_suffix(
    source: &mut [u8],
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
    Self: KnownLayout + IntoBytes,
 
fn try_mut_from_suffix(
    source: &mut [u8],
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
    Self: KnownLayout + IntoBytes,
Source§fn try_ref_from_bytes_with_elems(
    source: &[u8],
    count: usize,
) -> Result<&Self, ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>
 
fn try_ref_from_bytes_with_elems( source: &[u8], count: usize, ) -> Result<&Self, ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>
Source§fn try_ref_from_prefix_with_elems(
    source: &[u8],
    count: usize,
) -> Result<(&Self, &[u8]), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>
 
fn try_ref_from_prefix_with_elems( source: &[u8], count: usize, ) -> Result<(&Self, &[u8]), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>
Attempts to interpret the prefix of the given 
source as a &Self with
a DST length equal to count. Read moreSource§fn try_ref_from_suffix_with_elems(
    source: &[u8],
    count: usize,
) -> Result<(&[u8], &Self), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>
 
fn try_ref_from_suffix_with_elems( source: &[u8], count: usize, ) -> Result<(&[u8], &Self), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>
Attempts to interpret the suffix of the given 
source as a &Self with
a DST length equal to count. Read moreSource§fn try_mut_from_bytes_with_elems(
    source: &mut [u8],
    count: usize,
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>
 
fn try_mut_from_bytes_with_elems( source: &mut [u8], count: usize, ) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>
Source§fn try_mut_from_prefix_with_elems(
    source: &mut [u8],
    count: usize,
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>
 
fn try_mut_from_prefix_with_elems( source: &mut [u8], count: usize, ) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>
Attempts to interpret the prefix of the given 
source as a &mut Self
with a DST length equal to count. Read moreSource§fn try_mut_from_suffix_with_elems(
    source: &mut [u8],
    count: usize,
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>
 
fn try_mut_from_suffix_with_elems( source: &mut [u8], count: usize, ) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>
Attempts to interpret the suffix of the given 
source as a &mut Self
with a DST length equal to count. Read moreSource§fn try_read_from_bytes(
    source: &[u8],
) -> Result<Self, ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
    Self: Sized,
 
fn try_read_from_bytes(
    source: &[u8],
) -> Result<Self, ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
    Self: Sized,
Source§fn try_read_from_prefix(
    source: &[u8],
) -> Result<(Self, &[u8]), ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
    Self: Sized,
 
fn try_read_from_prefix(
    source: &[u8],
) -> Result<(Self, &[u8]), ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
    Self: Sized,
Source§fn try_read_from_suffix(
    source: &[u8],
) -> Result<(&[u8], Self), ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
    Self: Sized,
 
fn try_read_from_suffix(
    source: &[u8],
) -> Result<(&[u8], Self), ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
    Self: Sized,
impl Copy for PadByte
impl Eq for PadByte
impl Immutable for PadByte
Auto Trait Implementations§
impl Freeze for PadByte
impl RefUnwindSafe for PadByte
impl Send for PadByte
impl Sync for PadByte
impl Unpin for PadByte
impl UnwindSafe for PadByte
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