Struct multiboot2::ModuleTag
source · #[repr(C)]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
pub fn new(start: u32, end: u32, cmdline: &str) -> BoxedDst<Self>
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 fn start_address(&self) -> u32
pub fn start_address(&self) -> u32
Start address of the module.
sourcepub fn end_address(&self) -> u32
pub fn end_address(&self) -> u32
End address of the module
sourcepub fn module_size(&self) -> u32
pub fn module_size(&self) -> u32
The size of the module/the BLOB in memory.
Trait Implementations§
source§impl PartialOrd for ModuleTag
impl PartialOrd for ModuleTag
source§impl TagTrait for ModuleTag
impl TagTrait for ModuleTag
source§fn dst_size(base_tag: &Tag) -> usize
fn dst_size(base_tag: &Tag) -> 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 as_base_tag(&self) -> &Tag
fn as_base_tag(&self) -> &Tag
Returns the tag as the common base tag structure.
source§fn size(&self) -> usize
fn size(&self) -> usize
Returns the total size of the tag. The depends on the
size
field of
the tag.source§fn as_bytes(&self) -> &[u8]
fn as_bytes(&self) -> &[u8]
Returns a slice to the underlying bytes of the tag. This includes all
bytes, also for tags that are DSTs. The slice length depends on the
size
field of the tag.source§unsafe fn from_base_tag(tag: &Tag) -> &Self
unsafe fn from_base_tag(tag: &Tag) -> &Self
Creates a reference to a (dynamically sized) tag type in a safe way.
DST tags need to implement a proper
Self::dst_size
implementation. Read more