source: asp3_tinet_ecnl_rx/trunk/musl-1.1.18/src/mman/mremap.c@ 337

Last change on this file since 337 was 337, checked in by coas-nagasima, 6 years ago

ASP3版ECNLを追加

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-csrc;charset=UTF-8
File size: 700 bytes
Line 
1#define _GNU_SOURCE
2#include <unistd.h>
3#include <sys/mman.h>
4#include <errno.h>
5#include <stdint.h>
6#include <stdarg.h>
7#include "syscall.h"
8#include "libc.h"
9
10#ifndef __c2__
11static void dummy(void) { }
12weak_alias(dummy, __vm_wait);
13#else
14extern void __vm_wait(void);
15#endif
16
17void *__mremap(void *old_addr, size_t old_len, size_t new_len, int flags, ...)
18{
19 va_list ap;
20 void *new_addr = 0;
21
22 if (new_len >= PTRDIFF_MAX) {
23 errno = ENOMEM;
24 return MAP_FAILED;
25 }
26
27 if (flags & MREMAP_FIXED) {
28 __vm_wait();
29 va_start(ap, flags);
30 new_addr = va_arg(ap, void *);
31 va_end(ap);
32 }
33
34 return (void *)syscall(SYS_mremap, old_addr, old_len, new_len, flags, new_addr);
35}
36
37weak_alias(__mremap, mremap);
Note: See TracBrowser for help on using the repository browser.