diff options
| author | Aleksa Vučković <aleksav013@gmail.com> | 2022-01-31 11:16:38 +0100 |
|---|---|---|
| committer | Aleksa Vučković <aleksav013@gmail.com> | 2022-01-31 14:03:24 +0100 |
| commit | 03035c98b4ba3297b837e96080e78e0aac1e86db (patch) | |
| tree | 55b5f69f83bc8b77ec229062f702c0a4f960e87f /include/10.libc/source/heap.h | |
| parent | 11e780fd0f7bed3594de9a7170fadc88c4d48be8 (diff) | |
Promene
Diffstat (limited to 'include/10.libc/source/heap.h')
| -rw-r--r-- | include/10.libc/source/heap.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/include/10.libc/source/heap.h b/include/10.libc/source/heap.h new file mode 100644 index 0000000..4bf12a7 --- /dev/null +++ b/include/10.libc/source/heap.h @@ -0,0 +1,31 @@ +#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 |
