diff options
Diffstat (limited to 'sys/linux/src/mremap.c')
-rw-r--r-- | sys/linux/src/mremap.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/sys/linux/src/mremap.c b/sys/linux/src/mremap.c new file mode 100644 index 0000000..dda05ce --- /dev/null +++ b/sys/linux/src/mremap.c @@ -0,0 +1,20 @@ +#include "internal.h" + +int +sys·mremap(void *addr, uintptr from, uintptr to, int flags, void **ret) +{ + long r; + void *new; + + if(to >= PTRDIFF_MAX) + return sys·ErrorNoMemory; + + new = (flags & sys·RemapFixed) ? *ret : nil; + r = syscall(·MRemap, addr, from, to, flags, new); + if(r > 0){ + *ret = (void*)r; + return 0; + } + + return error(r); +} |