/* * Copyright 2006, Haiku Inc. * Copyright 2002, Thomas Kurschel. * * Distributed under the terms of the MIT license. */ #ifndef _MEMORY_MANAGER_H #define _MEMORY_MANAGER_H /** Memory manager used for graphics mem */ #include typedef struct mem_info mem_info; #ifdef __cplusplus extern "C" { #endif mem_info *mem_init(const char *name, uint32 start, uint32 length, uint32 blockSize, uint32 heapEntries); void mem_destroy(mem_info *mem); status_t mem_alloc(mem_info *mem, uint32 size, void *tag, uint32 *blockID, uint32 *offset); status_t mem_free(mem_info *mem, uint32 blockID, void *tag); status_t mem_freetag(mem_info *mem, void *tag); #ifdef __cplusplus } #endif #endif /* _MEMORY_MANAGER_H */