aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/kernel/main.cpp26
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