33 lines
855 B
C
33 lines
855 B
C
/// MentOS, The Mentoring Operating system project
|
|
/// @file help.c
|
|
/// @brief Shows the available commands.
|
|
/// @copyright (c) 2014-2021 This file is distributed under the MIT License.
|
|
/// See LICENSE.md for details.
|
|
|
|
#include <strerror.h>
|
|
#include <sys/dirent.h>
|
|
#include <sys/unistd.h>
|
|
#include <fcntl.h>
|
|
#include <stdio.h>
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
int fd = open("/bin", O_RDONLY | O_DIRECTORY, 0);
|
|
if (fd == -1) {
|
|
printf("%s: cannot access '/bin': %s\n\n", argv[0], strerror(errno));
|
|
return 1;
|
|
}
|
|
dirent_t dent;
|
|
int per_line = 0;
|
|
while (getdents(fd, &dent, sizeof(dirent_t)) == sizeof(dirent_t)) {
|
|
printf("%10s ", dent.d_name);
|
|
if (++per_line == 6) {
|
|
per_line = 0;
|
|
putchar('\n');
|
|
}
|
|
}
|
|
putchar('\n');
|
|
close(fd);
|
|
return 0;
|
|
}
|