X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fapi%2Fsys_mman.c;h=62b17229284359c70454e881be9c5eb09835b72d;hb=87b251552f58323aa76828de607e8e335f3c8467;hp=bba0087e8231af39736cb50a9eb111857ef770af;hpb=0ef2646848cbc2e6c59f8757165b5790b0132281;p=libc-test diff --git a/src/api/sys_mman.c b/src/api/sys_mman.c index bba0087..62b1722 100644 --- a/src/api/sys_mman.c +++ b/src/api/sys_mman.c @@ -1,4 +1,5 @@ #include +#include "options.h" #define T(t) (t*)0; #define F(t,n) {t *y = &x.n;} #define C(n) switch(n){case n:;} @@ -7,6 +8,7 @@ static void f() T(mode_t) T(off_t) T(size_t) + C(PROT_EXEC) C(PROT_NONE) C(PROT_READ) @@ -27,13 +29,20 @@ C(POSIX_MADV_NORMAL) C(POSIX_MADV_RANDOM) C(POSIX_MADV_SEQUENTIAL) C(POSIX_MADV_WILLNEED) -//C(POSIX_TYPED_MEM_ALLOCATE) -//C(POSIX_TYPED_MEM_ALLOCATE_CONTIG) -//C(POSIX_TYPED_MEM_MAP_ALLOCATABLE) -//{ -//struct posix_typed_mem_info x; -//F(size_t,posix_tmi_length) -//} + +#ifdef POSIX_TYPED_MEMORY_OBJECTS +C(POSIX_TYPED_MEM_ALLOCATE) +C(POSIX_TYPED_MEM_ALLOCATE_CONTIG) +C(POSIX_TYPED_MEM_MAP_ALLOCATABLE) +{ +struct posix_typed_mem_info x; +F(size_t,posix_tmi_length) +} +int(*p)(const void*restrict,size_t,off_t*restrict,size_t*restrict,int*restrict) = posix_mem_offset; +int(*p)(int,struct posix_typed_mem_info*) = posix_typed_mem_get_info; +int(*p)(const char*,int,int) = posix_typed_mem_open; +#endif + {int(*p)(const void*,size_t) = mlock;} {int(*p)(int) = mlockall;} {void*(*p)(void*,size_t,int,int,int,off_t) = mmap;} @@ -45,9 +54,8 @@ C(POSIX_MADV_WILLNEED) {int(*p)(void) = munlockall;} {int(*p)(void*,size_t) = munmap;} {int(*p)(void*,size_t,int) = posix_madvise;} -//int(*p)(const void*restrict,size_t,off_t*restrict,size_t*restrict,int*restrict) = posix_mem_offset; -//int(*p)(int,struct posix_typed_mem_info*) = posix_typed_mem_get_info; -//int(*p)(const char*,int,int) = posix_typed_mem_open; +#ifdef POSIX_SHARED_MEMORY_OBJECTS {int(*p)(const char*,int,mode_t) = shm_open;} {int(*p)(const char*) = shm_unlink;} +#endif }