#[repr(C, align(8))]pub struct RsdpV2Tag { /* private fields */ }
Expand description
This tag contains a copy of RSDP as defined per ACPI 2.0 or later specification.
Implementations§
Source§impl RsdpV2Tag
impl RsdpV2Tag
Sourcepub fn new(
checksum: u8,
oem_id: [u8; 6],
revision: u8,
rsdt_address: u32,
length: u32,
xsdt_address: u64,
ext_checksum: u8,
) -> Self
pub fn new( checksum: u8, oem_id: [u8; 6], revision: u8, rsdt_address: u32, length: u32, xsdt_address: u64, ext_checksum: u8, ) -> Self
Constructs a new tag.
Sourcepub const fn signature(&self) -> Result<&str, Utf8Error>
pub const fn signature(&self) -> Result<&str, Utf8Error>
The “RSD PTR “ marker signature.
This is originally a 8-byte C string (not null terminated!) that must contain “RSD PTR “.
Sourcepub fn checksum_is_valid(&self) -> bool
pub fn checksum_is_valid(&self) -> bool
Validation of the RSDPv2 extended checksum
Sourcepub const fn oem_id(&self) -> Result<&str, Utf8Error>
pub const fn oem_id(&self) -> Result<&str, Utf8Error>
An OEM-supplied string that identifies the OEM.
Sourcepub const fn xsdt_address(&self) -> usize
pub const fn xsdt_address(&self) -> usize
Physical address of the XSDT table.
On x86, this is truncated from 64-bit to 32-bit.
Sourcepub const fn ext_checksum(&self) -> u8
pub const fn ext_checksum(&self) -> u8
This field is used to calculate the checksum of the entire table, including both checksum fields.
Trait Implementations§
Source§impl MaybeDynSized for RsdpV2Tag
impl MaybeDynSized for RsdpV2Tag
Source§const BASE_SIZE: usize = 48usize
const BASE_SIZE: usize = 48usize
The true base size of the struct without any implicit or additional
padding. Note that
size_of::<T>()
isn’t sufficient, as for example
the type could have three u32
fields, which would add an implicit
u32
padding. However, this constant must always fulfill
BASE_SIZE >= size_of::<Self::Header>()
. Read moreSource§fn dst_len(_: &TagHeader)
fn dst_len(_: &TagHeader)
Returns the amount of items in the dynamically sized portion of the
DST. Note that this is not the amount of bytes. So if the dynamically
sized portion is 16 bytes in size and each element is 4 bytes big, then
this function must return 4. Read more
Source§fn payload(&self) -> &[u8]
fn payload(&self) -> &[u8]
Returns the payload, i.e., all memory that is not occupied by the
Header
of the type.Source§impl Ord for RsdpV2Tag
impl Ord for RsdpV2Tag
Source§impl PartialOrd for RsdpV2Tag
impl PartialOrd for RsdpV2Tag
impl Copy for RsdpV2Tag
impl Eq for RsdpV2Tag
impl StructuralPartialEq for RsdpV2Tag
Auto Trait Implementations§
impl Freeze for RsdpV2Tag
impl RefUnwindSafe for RsdpV2Tag
impl Send for RsdpV2Tag
impl Sync for RsdpV2Tag
impl Unpin for RsdpV2Tag
impl UnwindSafe for RsdpV2Tag
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
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dst: *mut u8)
unsafe fn clone_to_uninit(&self, dst: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)