#[repr(C, align(8))]pub struct ModuleTag { /* private fields */ }
Expand description
The module tag can occur multiple times and specifies passed boot modules (blobs in memory). The tag itself doesn’t include the blog, but references its location.
Implementations§
Source§impl ModuleTag
impl ModuleTag
Sourcepub fn cmdline(&self) -> Result<&str, StringError>
pub fn cmdline(&self) -> Result<&str, StringError>
Reads the command line of the boot module as Rust string slice without
the null-byte.
This is an null-terminated UTF-8 string. If this returns Err
then perhaps the memory
is invalid or the bootloader doesn’t follow the spec.
For example, this returns "--test cmdline-option"
.if the GRUB config
contains "module2 /some_boot_module --test cmdline-option"
.
If the function returns Err
then perhaps the memory is invalid.
Sourcepub const fn start_address(&self) -> u32
pub const fn start_address(&self) -> u32
Start address of the module.
Sourcepub const fn end_address(&self) -> u32
pub const fn end_address(&self) -> u32
End address of the module
Sourcepub const fn module_size(&self) -> u32
pub const fn module_size(&self) -> u32
The size of the module/the BLOB in memory.
Trait Implementations§
Source§impl MaybeDynSized for ModuleTag
impl MaybeDynSized for ModuleTag
Source§const BASE_SIZE: usize = 16usize
const BASE_SIZE: usize = 16usize
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(header: &TagHeader) -> usize
fn dst_len(header: &TagHeader) -> usize
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.