#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include "tests/sys_mman.h"
#include <errno.h>
#include <stdio.h>
#include <string.h>
/* Test case supplied by Vasile Floroiu. */
#define DO(cmd) printf(#cmd "; status: %s\n", strerror(errno))
#define SZ 48216 + 1024
int main()
{
int fd;
fd = shm_open("/hw_mngr.c", (O_CREAT | O_EXCL | O_RDWR),
(S_IREAD | S_IWRITE));
DO(shm_open());
{
void *ptr;
ftruncate(fd, SZ);
DO(ftruncate(fd, SZ));
ptr = mmap(0, SZ, (PROT_READ | PROT_WRITE), MAP_SHARED, fd, 0);
DO(mmap());
munmap(ptr, SZ);
DO(munmap());
}
shm_unlink("/hw_mngr.c");
DO(shm_unlink());
return 0;
}