#define _XOPEN_SOURCE 500 #define NT_FILE_BACKED_PAGE_SIZE 4096 #include #include #include #include #include static int test_file_backed_mmap(int size) { int fd; int exsize; void * addr; char * test; char * cap; char name[12]; /* create test file of desired size */ sprintf(name,"%d.tmp",size); if ((fd = creat(name,0755)) < 0) return -1; if (ftruncate(fd,size)) return -1; close(fd); /* write 'W' to all bytes of test file */ if ((fd = open(name,O_RDWR,0)) < 0) return -1; if ((addr = mmap(0,size,PROT_WRITE,MAP_SHARED,fd,0)) == MAP_FAILED) return -1; close(fd); test = (char *)addr; cap = (char *)addr + size; for (; test