xref: /dflybsd-src/tools/regression/nfsmmap/test1/test1.c (revision 86d7f5d305c6adaa56ff4582ece9859d73106103)
186d7f5d3SJohn Marino /*
286d7f5d3SJohn Marino  * $DragonFly: src/tools/regression/nfsmmap/test1/test1.c,v 1.2 2003/11/07 14:38:38 eirikn Exp $
386d7f5d3SJohn Marino  */
486d7f5d3SJohn Marino 
586d7f5d3SJohn Marino #include <sys/types.h>
686d7f5d3SJohn Marino #include <sys/fcntl.h>
786d7f5d3SJohn Marino #include <sys/mman.h>
886d7f5d3SJohn Marino #include <unistd.h>
986d7f5d3SJohn Marino 
main(int argc,char ** argv)1086d7f5d3SJohn Marino int main(int argc, char** argv)
1186d7f5d3SJohn Marino {
1286d7f5d3SJohn Marino     int fd, fd2;
1386d7f5d3SJohn Marino     caddr_t addr;
1486d7f5d3SJohn Marino     char zeros[4096];
1586d7f5d3SJohn Marino     char ones[200];
1686d7f5d3SJohn Marino 
1786d7f5d3SJohn Marino     memset(zeros, 0, sizeof zeros);
1886d7f5d3SJohn Marino     memset(ones, 1, sizeof ones);
1986d7f5d3SJohn Marino #if 0
2086d7f5d3SJohn Marino     unlink("test1.data");
2186d7f5d3SJohn Marino     fd = open("test1.data", O_RDWR|O_CREAT, 0666);
2286d7f5d3SJohn Marino     if (fd < 0)
2386d7f5d3SJohn Marino 	err(1, "creating file");
2486d7f5d3SJohn Marino     if (write(fd, zeros, sizeof zeros) < 0)
2586d7f5d3SJohn Marino 	err(1, "writing zeros");
2686d7f5d3SJohn Marino     close(fd);
2786d7f5d3SJohn Marino #endif
2886d7f5d3SJohn Marino 
2986d7f5d3SJohn Marino     fd = open("test1.data", O_RDWR);
3086d7f5d3SJohn Marino     if (fd < 0)
3186d7f5d3SJohn Marino 	err(1, "opening file");
3286d7f5d3SJohn Marino     if (lseek(fd, 600, SEEK_SET) < 0)
3386d7f5d3SJohn Marino 	err(1, "seeking");
3486d7f5d3SJohn Marino 
3586d7f5d3SJohn Marino     if (write(fd, ones, sizeof ones) < 0)
3686d7f5d3SJohn Marino 	err(1, "writing ones");
3786d7f5d3SJohn Marino 
3886d7f5d3SJohn Marino     fsync(fd);
3986d7f5d3SJohn Marino 
4086d7f5d3SJohn Marino     addr = mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE, fd, 0);
4186d7f5d3SJohn Marino     if (addr == MAP_FAILED)
4286d7f5d3SJohn Marino 	err(1, "mapping");
4386d7f5d3SJohn Marino     unlink("test1.scratch");
4486d7f5d3SJohn Marino     fd2 = open("test1.scratch", O_RDWR|O_CREAT, 0666);
4586d7f5d3SJohn Marino     if (fd2 < 0)
4686d7f5d3SJohn Marino 	err(1, "creating scratch");
4786d7f5d3SJohn Marino 
4886d7f5d3SJohn Marino     if (write(fd2, addr, 4096) < 0)
4986d7f5d3SJohn Marino 	err(1, "writing scratch");
5086d7f5d3SJohn Marino }
51