diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/kernel/main.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/kernel/kernel/main.cpp b/kernel/kernel/main.cpp index fd5ac5f1..e22c7ce0 100644 --- a/kernel/kernel/main.cpp +++ b/kernel/kernel/main.cpp @@ -20,6 +20,7 @@ #include <kstd/vector.hpp> #include <cstddef> +#include <ranges> #include <string_view> using namespace kstd::units_literals; @@ -204,6 +205,31 @@ auto run_demo() -> void bytes_written = *written; } kstd::println("--> wrote {} to /dev/zero", bytes_written); + + auto fd_7 = kapi::filesystem::open("/dev"); + if (fd_7) + { + kstd::println("--> successfully opened /dev as a file with file descriptor {}", fd_7.value()); + } + else + { + kapi::system::panic("demo failed"); + } + + auto devices = kstd::vector<kapi::filesystem::directory_entry>{10}; + auto entries_read = kapi::filesystem::read_directory(*fd_7, devices); + if (entries_read) + { + kstd::println("--> successfully got directory entries:"); + for (auto const & entry : std::ranges::subrange(devices.cbegin(), devices.cbegin() + *entries_read)) + { + kstd::println("\t{}", entry.name); + } + } + else + { + kapi::system::panic("demo failed"); + } } auto main() -> int |
