#ifndef ALLOCATOR_H
#define ALLOCATOR_H
#include <stddef.h>
#include <stdint.h>
#define PAGE_SIZE 4096
#define MAX_ORDER 10
typedef struct page {
uint32_t flags;
uint32_t order;
struct page *next;
struct page *prev;
} page_t;
void buddy_init(void *memory_pool, size_t pool_size);
page_t *buddy_alloc_pages(uint32_t order);
void buddy_free_pages(page_t *pages, uint32_t order);
void *kmem_cache_alloc(size_t size);
void kmem_cache_free(void *ptr);
#endif