2002-07-25 18:49:29 +04:00
|
|
|
/*
|
2006-03-13 20:18:15 +03:00
|
|
|
* Copyright 2002-2006, Axel Dörfler, axeld@pinc-software.de.
|
2005-05-26 13:11:30 +04:00
|
|
|
* Distributed under the terms of the MIT License.
|
|
|
|
*
|
|
|
|
* Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
|
|
|
|
* Distributed under the terms of the NewOS License.
|
|
|
|
*/
|
2002-07-09 16:24:59 +04:00
|
|
|
#ifndef _KERNEL_MEMHEAP_H
|
|
|
|
#define _KERNEL_MEMHEAP_H
|
|
|
|
|
2005-05-26 13:11:30 +04:00
|
|
|
|
2004-10-18 19:23:34 +04:00
|
|
|
#include <OS.h>
|
2003-05-03 20:03:26 +04:00
|
|
|
|
|
|
|
struct kernel_args;
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2005-05-26 13:11:30 +04:00
|
|
|
|
2006-03-13 20:18:15 +03:00
|
|
|
#define HEAP_SIZE 0x02000000
|
|
|
|
// 32 MB heap for the kernel (!)
|
2002-08-05 21:22:19 +04:00
|
|
|
|
2002-07-25 18:49:29 +04:00
|
|
|
|
2004-10-18 19:23:34 +04:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
void *memalign(size_t alignment, size_t size);
|
|
|
|
|
2006-03-19 18:02:21 +03:00
|
|
|
status_t heap_init(addr_t heapBase, size_t heapSize);
|
2004-10-23 17:50:27 +04:00
|
|
|
status_t heap_init_post_sem(struct kernel_args *args);
|
|
|
|
status_t heap_init_post_thread(struct kernel_args *args);
|
2004-10-18 19:23:34 +04:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2002-10-30 02:03:47 +03:00
|
|
|
#endif /* _KERNEL_MEMHEAP_H */
|