libmemalloc
v4.0.00
Modern Memory Allocator
|
Represents the header for a memory block. More...
#include <libmemalloc.h>
Public Attributes | |
uintptr_t | magic |
size_t | size |
uint32_t | free |
uint32_t | marked |
const char * | var_name |
const char * | file |
uint64_t | line |
uintptr_t | canary |
struct BlockHeader * | next |
struct BlockHeader * | prev |
struct BlockHeader * | fl_next |
struct BlockHeader * | fl_prev |
Represents the header for a memory block.
This structure manages metadata for each block within the heap, including size, status, and debugging information.
uintptr_t block_header_t::canary |
Canary value for buffer-overflow detection
const char* block_header_t::file |
Source file of allocation (for debugging)
struct BlockHeader* block_header_t::fl_next |
Pointer to the next block on free list
struct BlockHeader* block_header_t::fl_prev |
Pointer to the previous block on free list
uint32_t block_header_t::free |
1 if block is free, 0 if allocated
uint64_t block_header_t::line |
Line number of allocation (for debugging)
uintptr_t block_header_t::magic |
Magic number for integrity check
uint32_t block_header_t::marked |
Garbage collector mark flag
struct BlockHeader* block_header_t::next |
Pointer to the next block
struct BlockHeader* block_header_t::prev |
Pointer to the previous block
size_t block_header_t::size |
Total block size (includes header, data, and canary)
const char* block_header_t::var_name |
Variable name (for debugging)