--- title: "symbol.h" summary: "stuff needed to extract symbols from an ELFs `.symtab` section" --- # `ELF_SYMBOL_TYPE(info)` - macro Extracts the [elf_symbol_type_E](https://nerdcult.net/projects/noxos/docs/codebase/drivers/elf/symbol.h/#elf_symbol_type_e---enum) from the symbols info value. # `elf_symbol_type_E` - enum - **None** - Unspecified type - **Object** - Data objects like variables, arrays, etc. - **Func** - Function - **Section** - Associated section - **File** - The path to the source file associated with the object - **Common** - Uninitialized common blocks - **TLS** - Thread Local Storage # `elf_symbol_T` - struct | Name | Type | Description | |-----------------------|-------------------------------------------------------------------|-------------| | name_offset | The offset of the symbols name in `.strtab` | | | info | Information about the symbol (type, bind) | | | other | Information about the symbol (visibility) | | | related_section_index | The index of the symbols related section | | | value | Value, in most cases this is an address | | | length | The size of the symbol (e.g. num bytes if the symbol is an array) | |