From 55e5c6800be059c974e587088761aa3df6c8e763 Mon Sep 17 00:00:00 2001 From: Alex Kotov Date: Thu, 13 Jan 2022 19:01:51 +0500 Subject: [PATCH] Add func stubs --- src/multiboot2/header_is_valid.c | 14 ++++++++ src/multiboot2/header_print.c | 55 ++++++++++++++++++++++++++++++++ src/multiboot2/info_is_valid.c | 1 + 3 files changed, 70 insertions(+) diff --git a/src/multiboot2/header_is_valid.c b/src/multiboot2/header_is_valid.c index e69de29..5e60001 100644 --- a/src/multiboot2/header_is_valid.c +++ b/src/multiboot2/header_is_valid.c @@ -0,0 +1,14 @@ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include + +bool KernAux_Multiboot2_Header_is_valid( + const struct KernAux_Multiboot2_Header *const multiboot2_header +) { + // TODO: write this + return false; +} diff --git a/src/multiboot2/header_print.c b/src/multiboot2/header_print.c index e69de29..3c05634 100644 --- a/src/multiboot2/header_print.c +++ b/src/multiboot2/header_print.c @@ -0,0 +1,55 @@ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include + +static const char *KernAux_Multiboot2_HTag_to_str( + enum KernAux_Multiboot2_HTag tag_type +); + +const char *KernAux_Multiboot2_HTag_to_str( + enum KernAux_Multiboot2_HTag tag_type +) { + switch (tag_type) { + case KERNAUX_MULTIBOOT2_HTAG_NONE: + return "none"; + case KERNAUX_MULTIBOOT2_HTAG_INFO_REQ: + return "information request"; + case KERNAUX_MULTIBOOT2_HTAG_ADDR: + return "address"; + case KERNAUX_MULTIBOOT2_HTAG_ENTRY_ADDR: + return "entry address"; + case KERNAUX_MULTIBOOT2_HTAG_FLAGS: + return "flags"; + case KERNAUX_MULTIBOOT2_HTAG_FRAMEBUFFER: + return "framebuffer"; + case KERNAUX_MULTIBOOT2_HTAG_MODULE_ALIGN: + return "module alignment"; + case KERNAUX_MULTIBOOT2_HTAG_EFI_BOOT_SERVICES: + return "EFI boot services"; + case KERNAUX_MULTIBOOT2_HTAG_EFI_I386_ENTRY_ADDR: + return "EFI i386 entry address"; + case KERNAUX_MULTIBOOT2_HTAG_EFI_AMD64_ENTRY_ADDR: + return "EFI AMD64 entry address"; + case KERNAUX_MULTIBOOT2_HTAG_RELOCATABLE_HEADER: + return "relocatable header"; + default: + return NULL; + } +} + +void KernAux_Multiboot2_Header_print( + const struct KernAux_Multiboot2_Header *const multiboot2_header, + void (*const printf)(const char *format, ...) __attribute__((format(printf, 1, 2))) +) { + printf("Multiboot 2 header\n"); + printf(" magic: %u\n", multiboot2_header->magic); + printf(" arch: %u\n", multiboot2_header->arch); + printf(" size: %u\n", multiboot2_header->total_size); + printf(" checksum: %u\n", multiboot2_header->checksum); + + // TODO: write this +} diff --git a/src/multiboot2/info_is_valid.c b/src/multiboot2/info_is_valid.c index b73c39c..7e35057 100644 --- a/src/multiboot2/info_is_valid.c +++ b/src/multiboot2/info_is_valid.c @@ -4,6 +4,7 @@ #include +#include #include bool KernAux_Multiboot2_Info_is_valid(