2022-10-02 18:45:04 +00:00
|
|
|
#include <stddef.h>
|
|
|
|
#include <sys/syscall.h>
|
|
|
|
#include <unistd.h>
|
|
|
|
|
|
|
|
int liballoc_lock()
|
|
|
|
{
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
int liballoc_unlock()
|
|
|
|
{
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
void* liballoc_alloc(size_t size)
|
|
|
|
{
|
|
|
|
unsigned long int result = (unsigned long int)syscall(SYS_mmap, NULL, size * 4096, 1);
|
|
|
|
return (void*)result;
|
|
|
|
}
|
|
|
|
|
|
|
|
int liballoc_free(void* address, size_t size)
|
|
|
|
{
|
2022-10-07 16:19:06 +00:00
|
|
|
int result = (int)syscall(SYS_munmap, address, size * 4096);
|
2022-10-02 18:45:04 +00:00
|
|
|
if (result < 0) return 1;
|
|
|
|
else
|
|
|
|
return 0;
|
|
|
|
}
|