XenevaOS
Loading...
Searching...
No Matches
kmalloc.h
Go to the documentation of this file.
1
30#ifndef _KMALLOC_H
31#define _KMALLOC_H
32
33#include <stdint.h>
34#include <aurora.h>
35
36
37#ifdef __cplusplus
38extern "C" {
39#endif
40/* Meta data magic */
41#define MAGIC_USED 0x16062002
42#define MAGIC_FREE 0x05212023 /* the year to remember */
43
44#pragma pack(push,1)
45typedef struct _meta_data_ {
46 int magic;
47 int size;
51#pragma pack(pop)
52 /*
53 * x86_64_kmalloc_initialize -- initialize
54 * kernel malloc library with two pages
55 */
56 void AuHeapInitialize();
57
58 AU_EXTERN AU_EXPORT void *kmalloc(unsigned int); //< The standard function.
59 AU_EXTERN AU_EXPORT void *krealloc(void *, unsigned int); //< The standard function.
60 AU_EXTERN AU_EXPORT void *kcalloc(unsigned long long, unsigned long long); //< The standard function.
61 AU_EXTERN AU_EXPORT void kfree(void *); //< The standard function.
62 extern void kheap_debug();
63 extern void kmalloc_debug_on(bool bit);
64
65#ifdef __cplusplus
66}
67#endif
68
69#endif
70
71
#define AU_EXTERN
Definition aurora.h:50
#define AU_EXPORT
Definition aurora.h:38
AU_EXTERN AU_EXPORT void * kcalloc(unsigned long long, unsigned long long)
void kmalloc_debug_on(bool bit)
Definition kmalloc.cpp:450
void kheap_debug()
Definition kmalloc.cpp:263
AU_EXTERN AU_EXPORT void kfree(void *)
Definition kmalloc.cpp:355
AU_EXTERN AU_EXPORT void * kmalloc(unsigned int)
Definition kmalloc.cpp:211
AU_EXTERN AU_EXPORT void * krealloc(void *, unsigned int)
Definition kmalloc.cpp:384
void AuHeapInitialize()
Definition kmalloc.cpp:57
struct _meta_data_ meta_data_t
Definition kmalloc.h:45
struct _meta_data_ * next
Definition kmalloc.h:48
struct _meta_data_ * prev
Definition kmalloc.h:49
int size
Definition kmalloc.h:47
int magic
Definition kmalloc.h:46