diff options
Diffstat (limited to 'kernel/filesystem/src')
| -rw-r--r-- | kernel/filesystem/src/ext2/ext2_filesystem.cpp | 16 | ||||
| -rw-r--r-- | kernel/filesystem/src/filesystem.cpp | 11 | ||||
| -rw-r--r-- | kernel/filesystem/src/mount.cpp | 30 |
3 files changed, 57 insertions, 0 deletions
diff --git a/kernel/filesystem/src/ext2/ext2_filesystem.cpp b/kernel/filesystem/src/ext2/ext2_filesystem.cpp new file mode 100644 index 0000000..bdd430d --- /dev/null +++ b/kernel/filesystem/src/ext2/ext2_filesystem.cpp @@ -0,0 +1,16 @@ +#include "filesystem/ext2/ext2_filesystem.hpp" + +#include "devices/block_device.hpp" + +namespace filesystem::ext2 +{ + auto ext2_filesystem::mount(devices::block_device * block_device) -> int + { + if (!block_device) + { + return -1; // TODO BA-FS26 panic or errorcode? + } + // TODO BA-FS26 implement + return 0; + } +} // namespace filesystem::ext2
\ No newline at end of file diff --git a/kernel/filesystem/src/filesystem.cpp b/kernel/filesystem/src/filesystem.cpp new file mode 100644 index 0000000..d6a2f25 --- /dev/null +++ b/kernel/filesystem/src/filesystem.cpp @@ -0,0 +1,11 @@ +#include "filesystem/filesystem.hpp" + +#include "filesystem/inode.hpp" + +namespace filesystem +{ + auto filesystem::root_inode() -> inode * + { + return m_root_inode; + } +} // namespace filesystem
\ No newline at end of file diff --git a/kernel/filesystem/src/mount.cpp b/kernel/filesystem/src/mount.cpp new file mode 100644 index 0000000..6594598 --- /dev/null +++ b/kernel/filesystem/src/mount.cpp @@ -0,0 +1,30 @@ +#include "filesystem/mount.hpp" + +#include "kapi/system.hpp" + +#include "filesystem/filesystem.hpp" + +#include <string_view> + +namespace filesystem +{ + mount::mount(std::string_view const & path, filesystem * fs) + : m_path(path) + , m_filesystem(fs) + { + if (!m_filesystem) + { + kapi::system::panic("[FILESYSTEM] mount initialized with null filesystem."); + } + } + + auto mount::path() const -> std::string_view + { + return m_path; + } + + auto mount::get_filesystem() const -> filesystem * + { + return m_filesystem; + } +} // namespace filesystem
\ No newline at end of file |
