pub struct KernelObjectRecordHeader(/* private fields */);Expand description
Header word for an FXT Kernel Object record (RecordType = 7).
Implementations§
Source§impl KernelObjectRecordHeader
impl KernelObjectRecordHeader
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 ARG_COUNT_MASK: u64
pub const ARG_COUNT_MASK: u64
Unshifted bitmask of arg_count.
Sourcepub const ARG_COUNT_SHIFT: usize = 40
pub const ARG_COUNT_SHIFT: usize = 40
Bit shift (i.e., the low bit) of arg_count.
Sourcepub const NAME_REF_MASK: u64
pub const NAME_REF_MASK: u64
Unshifted bitmask of name_ref.
Sourcepub const NAME_REF_SHIFT: usize = 24
pub const NAME_REF_SHIFT: usize = 24
Bit shift (i.e., the low bit) of name_ref.
Sourcepub const OBJ_TYPE_MASK: u64
pub const OBJ_TYPE_MASK: u64
Unshifted bitmask of obj_type.
Sourcepub const OBJ_TYPE_SHIFT: usize = 16
pub const OBJ_TYPE_SHIFT: usize = 16
Bit shift (i.e., the low bit) of obj_type.
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 const fn set_arg_count(&mut self, value: u8) -> &mut Self
pub const fn set_arg_count(&mut self, value: u8) -> &mut Self
Sets the value of KernelObjectRecordHeader[43:40].
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 KernelObjectRecordHeader[39:24].
Sourcepub const fn set_obj_type(&mut self, value: u8) -> &mut Self
pub const fn set_obj_type(&mut self, value: u8) -> &mut Self
Sets the value of KernelObjectRecordHeader[23:16].
Sourcepub const fn record_size(&self) -> u16
pub const fn record_size(&self) -> u16
The value of KernelObjectRecordHeader[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 KernelObjectRecordHeader[15:4].
Sourcepub fn record_type(&self) -> RecordTypewhere
RecordType: TryFromBytes,
pub fn record_type(&self) -> RecordTypewhere
RecordType: TryFromBytes,
The value of KernelObjectRecordHeader[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 KernelObjectRecordHeader[3:0].
Trait Implementations§
Source§impl Binary for KernelObjectRecordHeader
impl Binary for KernelObjectRecordHeader
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
RecordType: Debug,
fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
RecordType: Debug,
Source§impl Clone for KernelObjectRecordHeader
impl Clone for KernelObjectRecordHeader
Source§fn clone(&self) -> KernelObjectRecordHeader
fn clone(&self) -> KernelObjectRecordHeader
1.0.0 (const: unstable)§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for KernelObjectRecordHeader
Source§impl Debug for KernelObjectRecordHeader
impl Debug for KernelObjectRecordHeader
Source§impl Default for KernelObjectRecordHeader
impl Default for KernelObjectRecordHeader
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 KernelObjectRecordHeader
Source§impl From<KernelObjectRecordHeader> for u64
impl From<KernelObjectRecordHeader> for u64
Source§fn from(value: KernelObjectRecordHeader) -> Self
fn from(value: KernelObjectRecordHeader) -> Self
Source§impl From<u64> for KernelObjectRecordHeader
impl From<u64> for KernelObjectRecordHeader
Source§impl IntoIterator for KernelObjectRecordHeader
impl IntoIterator for KernelObjectRecordHeader
Source§impl<'a> IntoIterator for &'a KernelObjectRecordHeader
impl<'a> IntoIterator for &'a KernelObjectRecordHeader
Source§impl LowerHex for KernelObjectRecordHeader
impl LowerHex for KernelObjectRecordHeader
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
RecordType: Debug,
fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
RecordType: Debug,
Source§impl Octal for KernelObjectRecordHeader
impl Octal for KernelObjectRecordHeader
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
RecordType: Debug,
fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
RecordType: Debug,
Source§impl PartialEq for KernelObjectRecordHeader
impl PartialEq for KernelObjectRecordHeader
impl StructuralPartialEq for KernelObjectRecordHeader
Source§impl UpperHex for KernelObjectRecordHeader
impl UpperHex for KernelObjectRecordHeader
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
RecordType: Debug,
fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
RecordType: Debug,
Auto Trait Implementations§
impl Freeze for KernelObjectRecordHeader
impl RefUnwindSafe for KernelObjectRecordHeader
impl Send for KernelObjectRecordHeader
impl Sync for KernelObjectRecordHeader
impl Unpin for KernelObjectRecordHeader
impl UnsafeUnpin for KernelObjectRecordHeader
impl UnwindSafe for KernelObjectRecordHeader
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)