1 #include <sys/types.h>
2 #include <sys/stat.h>
3 #include <fcntl.h>
4 #include <unistd.h>
5 #include "tests/sys_mman.h"
6 #include <errno.h>
7 #include <stdio.h>
8 #include <string.h>
9
10 /* Test case supplied by Vasile Floroiu. */
11
12 #define DO(cmd) printf(#cmd "; status: %s\n", strerror(errno))
13 #define SZ 48216 + 1024
14
main()15 int main()
16 {
17 int fd;
18
19 fd = shm_open("/hw_mngr.c", (O_CREAT | O_EXCL | O_RDWR),
20 (S_IREAD | S_IWRITE));
21 DO(shm_open());
22 {
23 void *ptr;
24 ftruncate(fd, SZ);
25 DO(ftruncate(fd, SZ));
26
27 ptr = mmap(0, SZ, (PROT_READ | PROT_WRITE), MAP_SHARED, fd, 0);
28 DO(mmap());
29
30 munmap(ptr, SZ);
31 DO(munmap());
32 }
33 shm_unlink("/hw_mngr.c");
34 DO(shm_unlink());
35 return 0;
36 }
37