00001
00002
00003
00004
00005
00006
00007 #include <stdio.h>
00008 #include <syscall.h>
00009
00010 int
00011 main (int argc, char *argv[])
00012 {
00013 int i;
00014
00015 for (i = 1; i < argc; i++)
00016 {
00017 int fd;
00018 mapid_t map;
00019 void *data = (void *) 0x10000000;
00020 int size;
00021
00022
00023 fd = open (argv[i]);
00024 if (fd < 0)
00025 {
00026 printf ("%s: open failed\n", argv[i]);
00027 return EXIT_FAILURE;
00028 }
00029 size = filesize (fd);
00030
00031
00032 map = mmap (fd, data);
00033 if (map == MAP_FAILED)
00034 {
00035 printf ("%s: mmap failed\n", argv[i]);
00036 return EXIT_FAILURE;
00037 }
00038
00039
00040 write (STDOUT_FILENO, data, size);
00041
00042
00043 munmap (map);
00044 }
00045 return EXIT_SUCCESS;
00046 }