X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/b0c2a4be2d1f4f93ab01d0858979a12ef0735ec1..642855f81fd03b9fd6540ac99c665b57b4b38cc8:/lunaix-os/includes/lunaix/mm/dmm.h diff --git a/lunaix-os/includes/lunaix/mm/dmm.h b/lunaix-os/includes/lunaix/mm/dmm.h index 22b0539..346c479 100644 --- a/lunaix-os/includes/lunaix/mm/dmm.h +++ b/lunaix-os/includes/lunaix/mm/dmm.h @@ -2,6 +2,8 @@ #define __LUNAIX_DMM_H // Dynamic Memory (i.e., heap) Manager +#include +#include #include #define M_ALLOCATED 0x1 @@ -16,12 +18,12 @@ #define PACK(size, flags) (((size) & ~0x3) | (flags)) -#define SW(p, w) (*((uint32_t*)(p)) = w) -#define LW(p) (*((uint32_t*)(p))) +#define SW(p, w) (*((u32_t*)(p)) = w) +#define LW(p) (*((u32_t*)(p))) -#define HPTR(bp) ((uint32_t*)(bp)-1) +#define HPTR(bp) ((u32_t*)(bp)-1) #define BPTR(bp) ((uint8_t*)(bp) + WSIZE) -#define FPTR(hp, size) ((uint32_t*)(hp + size - WSIZE)) +#define FPTR(hp, size) ((u32_t*)(hp + size - WSIZE)) #define NEXT_CHK(hp) ((uint8_t*)(hp) + CHUNK_S(LW(hp))) #define BOUNDARY 4 @@ -29,21 +31,14 @@ #define HEAP_INIT_SIZE 4096 -typedef struct -{ - void* start; - void* brk; - void* max_addr; -} heap_context_t; - - int dmm_init(heap_context_t* heap); int -lxsbrk(heap_context_t* heap, void* addr); +lxbrk(heap_context_t* heap, void* addr, int user); + void* -lxbrk(heap_context_t* heap, size_t size); +lxsbrk(heap_context_t* heap, size_t size, int user); void* lx_malloc_internal(heap_context_t* heap, size_t size);