diff --git a/.gitignore b/.gitignore index 54484f9..fa3360d 100644 --- a/.gitignore +++ b/.gitignore @@ -99,3 +99,6 @@ src/initscp/initfscp # OS generated files .DS_Store + +# OS filesystem files. +files/bin/** \ No newline at end of file diff --git a/files/bin/cat b/files/bin/cat deleted file mode 100644 index c843bfe..0000000 Binary files a/files/bin/cat and /dev/null differ diff --git a/files/bin/clear b/files/bin/clear deleted file mode 100644 index a769a7d..0000000 Binary files a/files/bin/clear and /dev/null differ diff --git a/files/bin/cpuid b/files/bin/cpuid deleted file mode 100644 index 318b03d..0000000 Binary files a/files/bin/cpuid and /dev/null differ diff --git a/files/bin/date b/files/bin/date deleted file mode 100644 index 1e4c916..0000000 Binary files a/files/bin/date and /dev/null differ diff --git a/files/bin/echo b/files/bin/echo deleted file mode 100644 index c66825e..0000000 Binary files a/files/bin/echo and /dev/null differ diff --git a/files/bin/env b/files/bin/env deleted file mode 100644 index 9902273..0000000 Binary files a/files/bin/env and /dev/null differ diff --git a/files/bin/init b/files/bin/init deleted file mode 100644 index 4212409..0000000 Binary files a/files/bin/init and /dev/null differ diff --git a/files/bin/ipcrm b/files/bin/ipcrm deleted file mode 100644 index ae2982f..0000000 Binary files a/files/bin/ipcrm and /dev/null differ diff --git a/files/bin/ipcs b/files/bin/ipcs deleted file mode 100644 index 9cedb3b..0000000 Binary files a/files/bin/ipcs and /dev/null differ diff --git a/files/bin/kill b/files/bin/kill deleted file mode 100644 index f82bb05..0000000 Binary files a/files/bin/kill and /dev/null differ diff --git a/files/bin/login b/files/bin/login deleted file mode 100644 index 2efd82b..0000000 Binary files a/files/bin/login and /dev/null differ diff --git a/files/bin/logo b/files/bin/logo deleted file mode 100644 index 08d39fa..0000000 Binary files a/files/bin/logo and /dev/null differ diff --git a/files/bin/ls b/files/bin/ls deleted file mode 100644 index cffd968..0000000 Binary files a/files/bin/ls and /dev/null differ diff --git a/files/bin/mkdir b/files/bin/mkdir deleted file mode 100644 index 74caa1f..0000000 Binary files a/files/bin/mkdir and /dev/null differ diff --git a/files/bin/nice b/files/bin/nice deleted file mode 100644 index c6a0bc1..0000000 Binary files a/files/bin/nice and /dev/null differ diff --git a/files/bin/poweroff b/files/bin/poweroff deleted file mode 100644 index b1f673d..0000000 Binary files a/files/bin/poweroff and /dev/null differ diff --git a/files/bin/ps b/files/bin/ps deleted file mode 100644 index d67e1a9..0000000 Binary files a/files/bin/ps and /dev/null differ diff --git a/files/bin/pwd b/files/bin/pwd deleted file mode 100644 index 984c363..0000000 Binary files a/files/bin/pwd and /dev/null differ diff --git a/files/bin/rm b/files/bin/rm deleted file mode 100644 index b43a78b..0000000 Binary files a/files/bin/rm and /dev/null differ diff --git a/files/bin/rmdir b/files/bin/rmdir deleted file mode 100644 index 85ab8ec..0000000 Binary files a/files/bin/rmdir and /dev/null differ diff --git a/files/bin/shell b/files/bin/shell deleted file mode 100644 index ff68061..0000000 Binary files a/files/bin/shell and /dev/null differ diff --git a/files/bin/showpid b/files/bin/showpid deleted file mode 100644 index 9446e2e..0000000 Binary files a/files/bin/showpid and /dev/null differ diff --git a/files/bin/sleep b/files/bin/sleep deleted file mode 100644 index 336ead5..0000000 Binary files a/files/bin/sleep and /dev/null differ diff --git a/files/bin/tests/t_abort b/files/bin/tests/t_abort deleted file mode 100644 index bfeaa33..0000000 Binary files a/files/bin/tests/t_abort and /dev/null differ diff --git a/files/bin/tests/t_alarm b/files/bin/tests/t_alarm deleted file mode 100644 index 0320dd3..0000000 Binary files a/files/bin/tests/t_alarm and /dev/null differ diff --git a/files/bin/tests/t_exec b/files/bin/tests/t_exec deleted file mode 100644 index 740e5ee..0000000 Binary files a/files/bin/tests/t_exec and /dev/null differ diff --git a/files/bin/tests/t_exec_callee b/files/bin/tests/t_exec_callee deleted file mode 100644 index f0fda59..0000000 Binary files a/files/bin/tests/t_exec_callee and /dev/null differ diff --git a/files/bin/tests/t_fork b/files/bin/tests/t_fork deleted file mode 100644 index bc434f0..0000000 Binary files a/files/bin/tests/t_fork and /dev/null differ diff --git a/files/bin/tests/t_getenv b/files/bin/tests/t_getenv deleted file mode 100644 index b029b5c..0000000 Binary files a/files/bin/tests/t_getenv and /dev/null differ diff --git a/files/bin/tests/t_gid b/files/bin/tests/t_gid deleted file mode 100644 index 63e9039..0000000 Binary files a/files/bin/tests/t_gid and /dev/null differ diff --git a/files/bin/tests/t_groups b/files/bin/tests/t_groups deleted file mode 100644 index dcfea19..0000000 Binary files a/files/bin/tests/t_groups and /dev/null differ diff --git a/files/bin/tests/t_itimer b/files/bin/tests/t_itimer deleted file mode 100644 index 4d4fff0..0000000 Binary files a/files/bin/tests/t_itimer and /dev/null differ diff --git a/files/bin/tests/t_kill b/files/bin/tests/t_kill deleted file mode 100644 index c34e8bd..0000000 Binary files a/files/bin/tests/t_kill and /dev/null differ diff --git a/files/bin/tests/t_mem b/files/bin/tests/t_mem deleted file mode 100644 index d002510..0000000 Binary files a/files/bin/tests/t_mem and /dev/null differ diff --git a/files/bin/tests/t_periodic1 b/files/bin/tests/t_periodic1 deleted file mode 100644 index 490bb35..0000000 Binary files a/files/bin/tests/t_periodic1 and /dev/null differ diff --git a/files/bin/tests/t_periodic2 b/files/bin/tests/t_periodic2 deleted file mode 100644 index e82564c..0000000 Binary files a/files/bin/tests/t_periodic2 and /dev/null differ diff --git a/files/bin/tests/t_periodic3 b/files/bin/tests/t_periodic3 deleted file mode 100644 index 75bdc23..0000000 Binary files a/files/bin/tests/t_periodic3 and /dev/null differ diff --git a/files/bin/tests/t_setenv b/files/bin/tests/t_setenv deleted file mode 100644 index c182061..0000000 Binary files a/files/bin/tests/t_setenv and /dev/null differ diff --git a/files/bin/tests/t_sigaction b/files/bin/tests/t_sigaction deleted file mode 100644 index 954b5bb..0000000 Binary files a/files/bin/tests/t_sigaction and /dev/null differ diff --git a/files/bin/tests/t_sigfpe b/files/bin/tests/t_sigfpe deleted file mode 100644 index 02879ba..0000000 Binary files a/files/bin/tests/t_sigfpe and /dev/null differ diff --git a/files/bin/tests/t_siginfo b/files/bin/tests/t_siginfo deleted file mode 100644 index 544f5ff..0000000 Binary files a/files/bin/tests/t_siginfo and /dev/null differ diff --git a/files/bin/tests/t_sigmask b/files/bin/tests/t_sigmask deleted file mode 100644 index caed7e9..0000000 Binary files a/files/bin/tests/t_sigmask and /dev/null differ diff --git a/files/bin/tests/t_sigusr b/files/bin/tests/t_sigusr deleted file mode 100644 index d8e05bc..0000000 Binary files a/files/bin/tests/t_sigusr and /dev/null differ diff --git a/files/bin/tests/t_sleep b/files/bin/tests/t_sleep deleted file mode 100644 index d70eae6..0000000 Binary files a/files/bin/tests/t_sleep and /dev/null differ diff --git a/files/bin/tests/t_stopcont b/files/bin/tests/t_stopcont deleted file mode 100644 index 4a84ec5..0000000 Binary files a/files/bin/tests/t_stopcont and /dev/null differ diff --git a/files/bin/touch b/files/bin/touch deleted file mode 100644 index 42a40e2..0000000 Binary files a/files/bin/touch and /dev/null differ diff --git a/files/bin/uname b/files/bin/uname deleted file mode 100644 index 84d5369..0000000 Binary files a/files/bin/uname and /dev/null differ diff --git a/programs/CMakeLists.txt b/programs/CMakeLists.txt index be81be8..8735a32 100644 --- a/programs/CMakeLists.txt +++ b/programs/CMakeLists.txt @@ -73,7 +73,8 @@ set(PROGRAMS kill.c ipcrm.c ipcs.c - sleep.c) + sleep.c + help.c) foreach(PROGRAM ${PROGRAMS}) # Prepare the program name. string(REPLACE ".c" "" PROGRAM_NAME ${PROGRAM}) diff --git a/programs/help.c b/programs/help.c new file mode 100644 index 0000000..2fba54f --- /dev/null +++ b/programs/help.c @@ -0,0 +1,32 @@ +/// 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 +#include +#include +#include +#include + +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; +}