serenity/AK/kmalloc.h

69 lines
1 KiB
C
Raw Normal View History

#pragma once
#include "Compiler.h"
2018-10-22 12:06:22 +00:00
#ifdef SERENITY
#ifdef KERNEL
2018-10-17 08:55:43 +00:00
#include <Kernel/kmalloc.h>
#else
#include <LibC/stdlib.h>
extern "C" {
void* kcalloc(size_t nmemb, size_t size);
void* kmalloc(size_t size) MALLOC_ATTR;
void kfree(void* ptr);
void* krealloc(void* ptr, size_t size);
}
inline void* operator new(size_t size)
{
return kmalloc(size);
}
inline void* operator new[](size_t size)
{
return kmalloc(size);
}
inline void operator delete(void* ptr)
{
return kfree(ptr);
}
inline void operator delete[](void* ptr)
{
return kfree(ptr);
}
inline void operator delete(void* ptr, size_t)
{
return kfree(ptr);
}
inline void operator delete[](void* ptr, size_t)
{
return kfree(ptr);
}
inline void* operator new(size_t, void* p) { return p; }
inline void* operator new[](size_t, void* p) { return p; }
#endif
2018-10-17 08:55:43 +00:00
#else
#include <new>
#include "Types.h"
extern "C" {
void* kcalloc(size_t nmemb, size_t size);
void* kmalloc(size_t size) MALLOC_ATTR;
void kfree(void* ptr);
void* krealloc(void* ptr, size_t size);
}
2018-10-17 08:55:43 +00:00
#endif