diff options
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 |
