use multiboot2_header::{
Builder, Header, HeaderTagFlag, HeaderTagISA, InformationRequestHeaderTag, MaybeDynSized,
MbiTagType, RelocatableHeaderTag, RelocatableHeaderTagPreference,
};
fn main() {
let header_bytes = Builder::new(HeaderTagISA::I386)
.relocatable_tag(RelocatableHeaderTag::new(
HeaderTagFlag::Required,
0x1337,
0xdeadbeef,
4096,
RelocatableHeaderTagPreference::None,
))
.information_request_tag(InformationRequestHeaderTag::new(
HeaderTagFlag::Required,
&[
MbiTagType::Cmdline.into(),
MbiTagType::BootLoaderName.into(),
],
))
.build();
let header = unsafe { Header::load(header_bytes.as_ptr()) }.unwrap();
println!("{header:#?}");
}