mirror of https://github.com/tailix/libkernaux.git
Write code
This commit is contained in:
parent
2c3714b99c
commit
e3e42582b8
|
@ -60,8 +60,54 @@ bool KernAux_Multiboot2_Header_is_valid(
|
|||
bool KernAux_Multiboot2_HTagBase_is_valid(
|
||||
const struct KernAux_Multiboot2_HTagBase *tag_base
|
||||
) {
|
||||
// TODO: write this
|
||||
return false;
|
||||
switch (tag_base->type) {
|
||||
case KERNAUX_MULTIBOOT2_HTAG_NONE:
|
||||
return KernAux_Multiboot2_HTag_None_is_valid(
|
||||
(struct KernAux_Multiboot2_HTag_None*)tag_base
|
||||
);
|
||||
case KERNAUX_MULTIBOOT2_HTAG_INFO_REQ:
|
||||
return KernAux_Multiboot2_HTag_InfoReq_is_valid(
|
||||
(struct KernAux_Multiboot2_HTag_InfoReq*)tag_base
|
||||
);
|
||||
case KERNAUX_MULTIBOOT2_HTAG_ADDR:
|
||||
return KernAux_Multiboot2_HTag_Addr_is_valid(
|
||||
(struct KernAux_Multiboot2_HTag_Addr*)tag_base
|
||||
);
|
||||
case KERNAUX_MULTIBOOT2_HTAG_ENTRY_ADDR:
|
||||
return KernAux_Multiboot2_HTag_EntryAddr_is_valid(
|
||||
(struct KernAux_Multiboot2_HTag_EntryAddr*)tag_base
|
||||
);
|
||||
case KERNAUX_MULTIBOOT2_HTAG_FLAGS:
|
||||
return KernAux_Multiboot2_HTag_Flags_is_valid(
|
||||
(struct KernAux_Multiboot2_HTag_Flags*)tag_base
|
||||
);
|
||||
case KERNAUX_MULTIBOOT2_HTAG_FRAMEBUFFER:
|
||||
return KernAux_Multiboot2_HTag_Framebuffer_is_valid(
|
||||
(struct KernAux_Multiboot2_HTag_Framebuffer*)tag_base
|
||||
);
|
||||
case KERNAUX_MULTIBOOT2_HTAG_MODULE_ALIGN:
|
||||
return KernAux_Multiboot2_HTag_ModuleAlign_is_valid(
|
||||
(struct KernAux_Multiboot2_HTag_ModuleAlign*)tag_base
|
||||
);
|
||||
case KERNAUX_MULTIBOOT2_HTAG_EFI_BOOT_SERVICES:
|
||||
return KernAux_Multiboot2_HTag_EFIBootServices_is_valid(
|
||||
(struct KernAux_Multiboot2_HTag_EFIBootServices*)tag_base
|
||||
);
|
||||
case KERNAUX_MULTIBOOT2_HTAG_EFI_I386_ENTRY_ADDR:
|
||||
return KernAux_Multiboot2_HTag_EFII386EntryAddr_is_valid(
|
||||
(struct KernAux_Multiboot2_HTag_EFII386EntryAddr*)tag_base
|
||||
);
|
||||
case KERNAUX_MULTIBOOT2_HTAG_EFI_AMD64_ENTRY_ADDR:
|
||||
return KernAux_Multiboot2_HTag_EFIAmd64EntryAddr_is_valid(
|
||||
(struct KernAux_Multiboot2_HTag_EFIAmd64EntryAddr*)tag_base
|
||||
);
|
||||
case KERNAUX_MULTIBOOT2_HTAG_RELOCATABLE_HEADER:
|
||||
return KernAux_Multiboot2_HTag_RelocatableHeader_is_valid(
|
||||
(struct KernAux_Multiboot2_HTag_RelocatableHeader*)tag_base
|
||||
);
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool KernAux_Multiboot2_HTag_None_is_valid(
|
||||
|
|
Loading…
Reference in New Issue