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