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 fn new() -> KernelObjectRecordHeader
pub const fn new() -> KernelObjectRecordHeader
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 KernelObjectRecordHeader
pub const fn set_arg_count( &mut self, value: u8, ) -> &mut KernelObjectRecordHeader
Sets the value of KernelObjectRecordHeader[43:40].
Sourcepub const fn set_name_ref(
&mut self,
value: u16,
) -> &mut KernelObjectRecordHeader
pub const fn set_name_ref( &mut self, value: u16, ) -> &mut KernelObjectRecordHeader
Sets the value of KernelObjectRecordHeader[39:24].
Sourcepub const fn set_obj_type(&mut self, value: u8) -> &mut KernelObjectRecordHeader
pub const fn set_obj_type(&mut self, value: u8) -> &mut KernelObjectRecordHeader
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 KernelObjectRecordHeader
pub const fn set_record_size( &mut self, value: u16, ) -> &mut KernelObjectRecordHeader
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 KernelObjectRecordHeaderwhere
RecordType: IntoBytes + Immutable,
pub fn set_record_type(
&mut self,
value: RecordType,
) -> &mut KernelObjectRecordHeaderwhere
RecordType: IntoBytes + Immutable,
Sets the value of KernelObjectRecordHeader[3:0].
Trait Implementations§
Source§impl Binary for KernelObjectRecordHeader
impl Binary for KernelObjectRecordHeader
Source§impl Clone for KernelObjectRecordHeader
impl Clone for KernelObjectRecordHeader
Source§fn clone(&self) -> KernelObjectRecordHeader
fn clone(&self) -> KernelObjectRecordHeader
1.0.0 (const: unstable) · Source§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() -> KernelObjectRecordHeader
fn default() -> KernelObjectRecordHeader
Returns an instance with the default bits set (i.e,. with a
value of Self::DEFAULT.