Files
net/exec/mem.h
2025-12-20 18:49:21 -08:00

24 lines
513 B
C

#pragma once
#include <stddef.h>
#include <stdint.h>
#include <exec/list.h>
#define MF_FREE 0
#define MF_RESERVED 1
#define MF_USED 2
#pragma pack(push,4)
struct MemBlock {
struct MinNode node;
size_t size;
uint8_t flags;
};
#pragma pack(pop)
void MemInit(void);
struct MemBlock *MarkMem(uintptr_t base, size_t limit, uint8_t flags);
void *AllocMem(size_t size);
void *AllocMemEx(size_t size, uint8_t flags);
void FreeMem(void *block);
void FreeMemEx(void *block, size_t size);
void PrintMem(void);