Go to the documentation of this file.
47 #define MM_FREE 0x0000
48 #define MM_RESERVED 0xffff
53 #define MM_HEADER_SIZE 2
54 #define MM_SPLIT_THRESH (MM_HEADER_SIZE+8)
68 #define MM_BLOCK_FREE(addr) \
69 next=(size_t*)(addr); \
70 *current=((((size_t)next)-(size_t)current)-2)>>1; \
79 #define MM_BLOCK_RESERVED(addr) \
80 next=(size_t*)(((size_t)addr)-4); \
81 *current=((((size_t)next)-(size_t)current)-2)>>1; \
82 *(next++)=MM_RESERVED; \
107 #endif // __sys_mm_h__
size_t * mm_first_free
ptr to first free block.
void mm_reaper()
free all blocks allocated by the current process
kernel configuration file
int mm_free_mem(void)
how many bytes of memory are free?
Interface: memory data types.
Interface: reduced standard C library.
size_t mm_start
end of kernel code + data
void mm_init()
initialize memory management
Generated for brickOS Kernel Developer by
1.8.16