diff --git a/alloc.h b/alloc.h index 3245f55c3496bc75c70c04625ca3dcb7dd5d0afd..cc6dcac79a595b69b87caa568337d4cfece2a31f 100644 --- a/alloc.h +++ b/alloc.h @@ -1,8 +1,30 @@ #ifndef _ALLOC_H_ #define _ALLOC_H_ +#include <sys/types.h> + +#define META_SIZE (sizeof(struct metadata) - 4) + +#define F 0 // first +#define B 1 // best +#define W 2 // worst + typedef struct meta_struct { + size_t size; + int free; + char data[1]; + + meta prev; + meta next; +} meta; // meta + +extern void *b; // base + +extern int fitff; // fit case -} meta; +void* m_malloc(size_t size); +void m_free(void* ptr); +void* m_realloc(void* ptr, size_t size); +meta find_meta(p_meta *last, size_t size); #endif