pub struct BlobRecordHeader(/* private fields */);Expand description
Header word for an FXT Blob record (RecordType = 5).
Implementations§
Source§impl BlobRecordHeader
impl BlobRecordHeader
Sourcepub const RSVD1_MASK: u64
pub const RSVD1_MASK: u64
Mask of all reserved-as-1 bits.
Sourcepub const RSVD0_MASK: u64
pub const RSVD0_MASK: u64
Mask of all reserved-as-0 bits.
Sourcepub const DEFAULT: u64
pub const DEFAULT: u64
The default value of the layout, combining all field defaults and reserved-as values.
Sourcepub const BLOB_TYPE_MASK: u64
pub const BLOB_TYPE_MASK: u64
Unshifted bitmask of blob_type.
Sourcepub const BLOB_TYPE_SHIFT: usize = 48
pub const BLOB_TYPE_SHIFT: usize = 48
Bit shift (i.e., the low bit) of blob_type.
Sourcepub const BLOB_SIZE_MASK: u64
pub const BLOB_SIZE_MASK: u64
Unshifted bitmask of blob_size.
Sourcepub const BLOB_SIZE_SHIFT: usize = 32
pub const BLOB_SIZE_SHIFT: usize = 32
Bit shift (i.e., the low bit) of blob_size.
Sourcepub const NAME_REF_MASK: u64
pub const NAME_REF_MASK: u64
Unshifted bitmask of name_ref.
Sourcepub const NAME_REF_SHIFT: usize = 16
pub const NAME_REF_SHIFT: usize = 16
Bit shift (i.e., the low bit) of name_ref.
Sourcepub const RECORD_SIZE_MASK: u64
pub const RECORD_SIZE_MASK: u64
Unshifted bitmask of record_size.
Sourcepub const RECORD_SIZE_SHIFT: usize = 4
pub const RECORD_SIZE_SHIFT: usize = 4
Bit shift (i.e., the low bit) of record_size.
Sourcepub const RECORD_TYPE_MASK: u64
pub const RECORD_TYPE_MASK: u64
Unshifted bitmask of record_type.
Sourcepub const RECORD_TYPE_SHIFT: usize = 0
pub const RECORD_TYPE_SHIFT: usize = 0
Bit shift (i.e., the low bit) of record_type.
Sourcepub const RECORD_TYPE_DEFAULT: u64
pub const RECORD_TYPE_DEFAULT: u64
Pre-shifted default value of the record_type field.
Sourcepub const FIELDS: [FieldMetadata<u64>; 5]
pub const FIELDS: [FieldMetadata<u64>; 5]
Metadata of all named fields in the layout.
Sourcepub const fn new() -> Self
pub const fn new() -> Self
Creates a new instance with reserved-as-1 bits set and
all other bits zeroed (i.e., with a value of
Self::RSVD1_MASK).
pub const fn bits(self) -> u64
Sourcepub fn blob_type(&self) -> BlobTypewhere
BlobType: TryFromBytes,
pub fn blob_type(&self) -> BlobTypewhere
BlobType: TryFromBytes,
The value of BlobRecordHeader[55:48].
§Panics
Panics if the field’s bit pattern is not a valid value of the custom representation. Use Self::try_blob_type to recover from invalid bit patterns.
Sourcepub fn try_blob_type(&self) -> Result<BlobType, InvalidBits<u8>>where
BlobType: TryFromBytes,
pub fn try_blob_type(&self) -> Result<BlobType, InvalidBits<u8>>where
BlobType: TryFromBytes,
Fallible variant of Self::blob_type.
Sourcepub fn set_blob_type(&mut self, value: BlobType) -> &mut Self
pub fn set_blob_type(&mut self, value: BlobType) -> &mut Self
Sets the value of BlobRecordHeader[55:48].
Sourcepub const fn set_blob_size(&mut self, value: u16) -> &mut Self
pub const fn set_blob_size(&mut self, value: u16) -> &mut Self
Sets the value of BlobRecordHeader[46:32].
Sourcepub const fn set_name_ref(&mut self, value: u16) -> &mut Self
pub const fn set_name_ref(&mut self, value: u16) -> &mut Self
Sets the value of BlobRecordHeader[31:16].
Sourcepub const fn record_size(&self) -> u16
pub const fn record_size(&self) -> u16
The value of BlobRecordHeader[15:4].
Sourcepub const fn set_record_size(&mut self, value: u16) -> &mut Self
pub const fn set_record_size(&mut self, value: u16) -> &mut Self
Sets the value of BlobRecordHeader[15:4].
Sourcepub fn record_type(&self) -> RecordTypewhere
RecordType: TryFromBytes,
pub fn record_type(&self) -> RecordTypewhere
RecordType: TryFromBytes,
The value of BlobRecordHeader[3:0].
§Panics
Panics if the field’s bit pattern is not a valid value of the custom representation. Use Self::try_record_type to recover from invalid bit patterns.
Sourcepub fn try_record_type(&self) -> Result<RecordType, InvalidBits<u8>>where
RecordType: TryFromBytes,
pub fn try_record_type(&self) -> Result<RecordType, InvalidBits<u8>>where
RecordType: TryFromBytes,
Fallible variant of Self::record_type.
Sourcepub fn set_record_type(&mut self, value: RecordType) -> &mut Self
pub fn set_record_type(&mut self, value: RecordType) -> &mut Self
Sets the value of BlobRecordHeader[3:0].
Trait Implementations§
Source§impl Binary for BlobRecordHeader
impl Binary for BlobRecordHeader
Source§impl Clone for BlobRecordHeader
impl Clone for BlobRecordHeader
Source§fn clone(&self) -> BlobRecordHeader
fn clone(&self) -> BlobRecordHeader
1.0.0 (const: unstable)§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for BlobRecordHeader
Source§impl Debug for BlobRecordHeader
impl Debug for BlobRecordHeader
Source§impl Default for BlobRecordHeader
impl Default for BlobRecordHeader
Source§fn default() -> Self
fn default() -> Self
Returns an instance with the default bits set (i.e,. with a
value of Self::DEFAULT.
impl Eq for BlobRecordHeader
Source§impl From<BlobRecordHeader> for u64
impl From<BlobRecordHeader> for u64
Source§fn from(value: BlobRecordHeader) -> Self
fn from(value: BlobRecordHeader) -> Self
Source§impl From<u64> for BlobRecordHeader
impl From<u64> for BlobRecordHeader
Source§impl IntoIterator for BlobRecordHeader
impl IntoIterator for BlobRecordHeader
Source§impl<'a> IntoIterator for &'a BlobRecordHeader
impl<'a> IntoIterator for &'a BlobRecordHeader
Source§impl LowerHex for BlobRecordHeader
impl LowerHex for BlobRecordHeader
Source§impl Octal for BlobRecordHeader
impl Octal for BlobRecordHeader
Source§impl PartialEq for BlobRecordHeader
impl PartialEq for BlobRecordHeader
impl StructuralPartialEq for BlobRecordHeader
Source§impl UpperHex for BlobRecordHeader
impl UpperHex for BlobRecordHeader
Auto Trait Implementations§
impl Freeze for BlobRecordHeader
impl RefUnwindSafe for BlobRecordHeader
impl Send for BlobRecordHeader
impl Sync for BlobRecordHeader
impl Unpin for BlobRecordHeader
impl UnsafeUnpin for BlobRecordHeader
impl UnwindSafe for BlobRecordHeader
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)