|
PatchworkOS
28a9544
A non-POSIX operating system.
|
#include <kernel/utils/map.h>#include <boot/boot_info.h>#include <sys/elf.h>#include <sys/list.h>Go to the source code of this file.
Data Structures | |
| struct | symbol_group_t |
| struct | symbol_name_t |
| Symbol name mapping structure. More... | |
| struct | symbol_addr_t |
| Symbol address mapping structure. More... | |
| struct | symbol_info_t |
| Symbol information structure. More... | |
Macros | |
| #define | SYMBOL_MAX_NAME MAP_KEY_MAX_LENGTH |
| Maximum length of a symbol name. | |
Typedefs | |
| typedef uint64_t | symbol_group_id_t |
| Symbol group identifier type. | |
Functions | |
| symbol_group_id_t | symbol_generate_group_id (void) |
| Generate a unique symbol group identifier. | |
| uint64_t | symbol_add (const char *name, void *addr, symbol_group_id_t groupId, Elf64_Symbol_Binding binding, Elf64_Symbol_Type type) |
| Add a symbol to the kernel symbol table. | |
| void | symbol_remove_group (symbol_group_id_t groupId) |
| Remove all symbols from the kernel symbol table in the given group. | |
| uint64_t | symbol_resolve_addr (symbol_info_t *outSymbol, void *addr) |
| Resolve a symbol by address. | |
| uint64_t | symbol_resolve_name (symbol_info_t *outSymbol, const char *name) |
| Resolve a symbol by name. | |