#[repr(C, align(8))]pub struct RsdpV1Tag { /* private fields */ }
Expand description
This tag contains a copy of RSDP as defined per ACPI 1.0 specification.
Implementations§
Source§impl RsdpV1Tag
impl RsdpV1Tag
Sourcepub fn new(
checksum: u8,
oem_id: [u8; 6],
revision: u8,
rsdt_address: u32,
) -> Self
pub fn new( checksum: u8, oem_id: [u8; 6], revision: u8, rsdt_address: u32, ) -> 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 RSDPv1 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 rsdt_address(&self) -> usize
pub const fn rsdt_address(&self) -> usize
The physical (I repeat: physical) address of the RSDT table.
Trait Implementations§
Source§impl MaybeDynSized for RsdpV1Tag
impl MaybeDynSized for RsdpV1Tag
Source§const BASE_SIZE: usize = 32usize
const BASE_SIZE: usize = 32usize
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 RsdpV1Tag
impl Ord for RsdpV1Tag
Source§impl PartialOrd for RsdpV1Tag
impl PartialOrd for RsdpV1Tag
impl Copy for RsdpV1Tag
impl Eq for RsdpV1Tag
impl StructuralPartialEq for RsdpV1Tag
Auto Trait Implementations§
impl Freeze for RsdpV1Tag
impl RefUnwindSafe for RsdpV1Tag
impl Send for RsdpV1Tag
impl Sync for RsdpV1Tag
impl Unpin for RsdpV1Tag
impl UnwindSafe for RsdpV1Tag
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
)