summaryrefslogtreecommitdiff
path: root/buddy.h
blob: c1da8ebb01316246ec7535aa1b04f6be30e9281a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#pragma once
#include <stdint.h>
#include <stddef.h>

#define MAGIC_COOKIE_BYTES 32
#define ADDRESS_BITS (8 * sizeof(void*))

void init_buddy(uint8_t *base, size_t size,
                uint8_t magic[MAGIC_COOKIE_BYTES]);

void *allocate(size_t size);
void  liberate(void *base, size_t size);

void debug_buddy(void);

// "advanced features"
void *reallocate(void *old, size_t old_size, size_t new_size);
int reserve(void *start, size_t size);
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback