mirror of https://github.com/tailix/libkernaux.git
Write code
This commit is contained in:
parent
e3e42582b8
commit
a6f8cbf6e7
|
@ -11,6 +11,14 @@
|
|||
bool KernAux_Multiboot2_Header_is_valid(
|
||||
const struct KernAux_Multiboot2_Header *const multiboot2_header
|
||||
) {
|
||||
if (multiboot2_header->magic != KERNAUX_MULTIBOOT2_MAGIC) return false;
|
||||
|
||||
if (multiboot2_header->arch != KERNAUX_MULTIBOOT2_ARCH_I386 &&
|
||||
multiboot2_header->arch != KERNAUX_MULTIBOOT2_ARCH_MIPS32)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (multiboot2_header->total_size <
|
||||
sizeof(struct KernAux_Multiboot2_Header) +
|
||||
sizeof(struct KernAux_Multiboot2_HTag_None))
|
||||
|
@ -18,6 +26,15 @@ bool KernAux_Multiboot2_Header_is_valid(
|
|||
return false;
|
||||
}
|
||||
|
||||
if (multiboot2_header->checksum !=
|
||||
KERNAUX_MULTIBOOT2_CHECKSUM(
|
||||
multiboot2_header->arch,
|
||||
multiboot2_header->total_size
|
||||
)
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const struct KernAux_Multiboot2_HTagBase *tag_base =
|
||||
(struct KernAux_Multiboot2_HTagBase*)
|
||||
KERNAUX_MULTIBOOT2_DATA(multiboot2_header);
|
||||
|
|
Loading…
Reference in New Issue