diff options
| author | marcel.braun <marcel.braun@ost.ch> | 2026-03-15 14:31:41 +0100 |
|---|---|---|
| committer | Lukas Oesch <lukasoesch20@gmail.com> | 2026-03-17 16:43:00 +0100 |
| commit | 1453fbedde547d9e69cdad659df667f43a8dc750 (patch) | |
| tree | f1f30b43d8b56ca668761a502f793164717e7d3e /kernel/filesystem/src | |
| parent | afda1c1473919e5d9337614075283a50e865be90 (diff) | |
| download | teachos-1453fbedde547d9e69cdad659df667f43a8dc750.tar.xz teachos-1453fbedde547d9e69cdad659df667f43a8dc750.zip | |
Create basic VFS structure
Diffstat (limited to 'kernel/filesystem/src')
| -rw-r--r-- | kernel/filesystem/src/vfs.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/kernel/filesystem/src/vfs.cpp b/kernel/filesystem/src/vfs.cpp new file mode 100644 index 0000000..27f1db9 --- /dev/null +++ b/kernel/filesystem/src/vfs.cpp @@ -0,0 +1,34 @@ +#include "filesystem/vfs.hpp" + +#include "kapi/system.hpp" + +#include <optional> + +namespace filesystem +{ + namespace + { + constinit auto static active_vfs = std::optional<vfs>{}; + } + + auto vfs::init() -> void + { + if (active_vfs) + { + kapi::system::panic("[FILESYSTEM] vfs has already been initialized."); + } + + active_vfs.emplace(vfs{}); + } + + auto vfs::get() -> vfs & + { + if (!active_vfs) + { + kapi::system::panic("[FILESYSTEM] vfs has not been initialized."); + } + + return *active_vfs; + } + +} // namespace filesystem
\ No newline at end of file |
