diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2026-08-27 12:44:47 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2026-08-27 12:44:47 +0200 |
| commit | e7cfb051725040f3a4054514b1b7087c966822b3 (patch) | |
| tree | 5ad9829573a41ebd6b52ad708d987ccfe8462198 | |
| parent | 0e72a1b27df2008013f2ee9c468a88c3e3843fae (diff) | |
| download | kernel-e7cfb051725040f3a4054514b1b7087c966822b3.tar.xz kernel-e7cfb051725040f3a4054514b1b7087c966822b3.zip | |
kernel: add directory listing to demo.
| -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 |
