xref: /third_party/musl/libc-test/src/api/sys_mman.c (revision 570af302)
1#include <sys/mman.h>
2#include "options.h"
3#define T(t) (t*)0;
4#define F(t,n) {t *y = &x.n;}
5#define C(n) switch(n){case n:;}
6static void f()
7{
8T(mode_t)
9T(off_t)
10T(size_t)
11
12C(PROT_EXEC)
13C(PROT_NONE)
14C(PROT_READ)
15C(PROT_WRITE)
16C(MAP_FIXED)
17C(MAP_PRIVATE)
18C(MAP_SHARED)
19#ifdef _XOPEN_SOURCE
20C(MS_ASYNC)
21C(MS_INVALIDATE)
22C(MS_SYNC)
23#endif
24C(MCL_CURRENT)
25C(MCL_FUTURE)
26{void *x = MAP_FAILED;}
27C(POSIX_MADV_DONTNEED)
28C(POSIX_MADV_NORMAL)
29C(POSIX_MADV_RANDOM)
30C(POSIX_MADV_SEQUENTIAL)
31C(POSIX_MADV_WILLNEED)
32
33#ifdef POSIX_TYPED_MEMORY_OBJECTS
34C(POSIX_TYPED_MEM_ALLOCATE)
35C(POSIX_TYPED_MEM_ALLOCATE_CONTIG)
36C(POSIX_TYPED_MEM_MAP_ALLOCATABLE)
37{
38struct posix_typed_mem_info x;
39F(size_t,posix_tmi_length)
40}
41int(*p)(const void*restrict,size_t,off_t*restrict,size_t*restrict,int*restrict) = posix_mem_offset;
42int(*p)(int,struct posix_typed_mem_info*) = posix_typed_mem_get_info;
43int(*p)(const char*,int,int) = posix_typed_mem_open;
44#endif
45
46{int(*p)(const void*,size_t) = mlock;}
47{int(*p)(int) = mlockall;}
48{void*(*p)(void*,size_t,int,int,int,off_t) = mmap;}
49{int(*p)(void*,size_t,int) = mprotect;}
50#ifdef _XOPEN_SOURCE
51{int(*p)(void*,size_t,int) = msync;}
52#endif
53{int(*p)(const void*,size_t) = munlock;}
54{int(*p)(void) = munlockall;}
55{int(*p)(void*,size_t) = munmap;}
56{int(*p)(void*,size_t,int) = posix_madvise;}
57#ifdef POSIX_SHARED_MEMORY_OBJECTS
58{int(*p)(const char*,int,mode_t) = shm_open;}
59{int(*p)(const char*) = shm_unlink;}
60#endif
61}
62