#include #include #include extern "C" { // FIXME: Implement a POSIX-compliant mmap. void* mmap(void* addr, size_t len, int prot, int flags, int fd, off_t offset) { long result = __luna_syscall5(SYS_mmap, (sysarg_t)addr, (sysarg_t)len, (sysarg_t)prot, flags & MAP_ANONYMOUS ? (sysarg_t)-1 : (sysarg_t)fd, (sysarg_t)offset); _RETURN_WITH_MEMORY_ERRNO(result, void*); } int munmap(void* addr, size_t len) { return (int)__lc_fast_syscall2(SYS_munmap, addr, len); } int mprotect(void* addr, size_t size, int prot) { return (int)__lc_fast_syscall3(SYS_mprotect, addr, size, prot); } }