diff options
Diffstat (limited to 'src/include/source/heap.h')
| -rw-r--r-- | src/include/source/heap.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/include/source/heap.h b/src/include/source/heap.h new file mode 100644 index 0000000..15cba98 --- /dev/null +++ b/src/include/source/heap.h @@ -0,0 +1,30 @@ +#ifndef SOURCE_HEAP_H +#define SOURCE_HEAP_H + +#include<types.h> + +typedef struct _KHEAPBLOCKBM { + struct _KHEAPBLOCKBM *next; + uint32_t size; + uint32_t used; + uint32_t bsize; + uint32_t lfb; +} KHEAPBLOCKBM; + +typedef struct _KHEAPBM { + KHEAPBLOCKBM *fblock; +} KHEAPBM; + +extern KHEAPBM kheap; + +void k_heapBMInit(KHEAPBM *heap); +int k_heapBMAddBlock(KHEAPBM *heap, uintptr_t addr, uint32_t size, uint32_t bsize); +void *k_heapBMAlloc(KHEAPBM *heap, uint32_t size); +void k_heapBMFree(KHEAPBM *heap, void *ptr); + +void kheapinit(void); +int kheapaddblock(uintptr_t addr,uint32_t size,uint32_t bsize); +void *kmalloc(uint32_t size); +void kfree(void *ptr); + +#endif |
