#include #include #include #include #include #include #include #include #include #include int main(int argc, char *argv[]) { size_t len; int fd; void *ptr; if (argc != 3) { fprintf(stderr, "usage: %s \n", argv[0]); return -1; } len = atoi(argv[2]); fd = open(argv[1], O_RDONLY); if (fd == -1) { fprintf(stderr, "open failed: %s\n", strerror(errno)); return errno; } ptr = mmap(NULL, len, PROT_READ, MAP_SHARED, fd, 0); if (ptr == MAP_FAILED) { fprintf(stderr, "mmap failed: %s\n", strerror(errno)); return errno; } printf("mmap of %s with size %zd succeeded\n", argv[1], len); munmap(ptr, len); /* ignore any errors, we don't care */ close(fd); return 0; }