From a99eba08bc0af7f054d42122a286674b5d731851 Mon Sep 17 00:00:00 2001 From: Alex Kotov Date: Sun, 29 Nov 2020 19:18:07 +0500 Subject: [PATCH] Add function "KernAux_Multiboot2_Tag_ELFSymbols_print" --- src/multiboot2/print.c | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/src/multiboot2/print.c b/src/multiboot2/print.c index bdc68e1..355c84f 100644 --- a/src/multiboot2/print.c +++ b/src/multiboot2/print.c @@ -10,6 +10,12 @@ static void KernAux_Multiboot2_Tag_MemoryMap_print( ) __attribute__((nonnull)); +static void KernAux_Multiboot2_Tag_ELFSymbols_print( + const struct KernAux_Multiboot2_Tag_ELFSymbols *tag, + void (*print)(const char *format, ...) +) +__attribute__((nonnull)); + const char *KernAux_Multiboot2_TagType_to_str( enum KernAux_Multiboot2_TagType tag_type ) { @@ -185,9 +191,10 @@ void KernAux_Multiboot2_TagBase_print( } break; case KERNAUX_MULTIBOOT2_TAGTYPE_ELF_SYMBOLS: - { - // TODO: print - } + KernAux_Multiboot2_Tag_ELFSymbols_print( + (struct KernAux_Multiboot2_Tag_ELFSymbols*)tag_base, + print + ); break; case KERNAUX_MULTIBOOT2_TAGTYPE_APM_TABLE: { @@ -291,3 +298,15 @@ void KernAux_Multiboot2_Tag_MemoryMap_print( print(" reserved1: %u\n", entries[index].reserved1); } } + +void KernAux_Multiboot2_Tag_ELFSymbols_print( + const struct KernAux_Multiboot2_Tag_ELFSymbols *const tag, + void (*print)(const char *format, ...) +) { + if (!KernAux_Multiboot2_Tag_ELFSymbols_is_valid(tag)) { + print(" invalid!\n"); + return; + } + + // TODO: implement this +}