#include #include #include #include #include #include #include int entry_kat(int argc, char **argv) { if (argc == 2 && strcmp(argv[1], "-h") == 0) { fprintf(stderr, "Gebruik: kat [BESTAND]...\n" "\n" "Schakel BESTAND(en) aaneen naar standaard uitvoer..\n"); return 0; } for (int i = 1; i < argc; i++) { const char *fname = argv[i]; int fd = open(fname, O_RDONLY); struct stat sb; if (fstat(fd, &sb) == -1) { fprintf(stderr, "Kon bestand niet lezen\n"); return 0; } char *addr = mmap(NULL, sb.st_size, PROT_READ, MAP_SHARED, fd, 0); if (addr == MAP_FAILED) { fprintf(stderr, "Kon bestand niet kaarten\n"); return 0; } for (size_t i = 0; i < sb.st_size; i++) { putchar(addr[i]); } munmap(addr, sb.st_size); close(fd); } return 0; }