#pragma once #include namespace VFS { enum class InodeType { RegularFile, Directory }; class FileSystem; class Inode { public: virtual Result find(const char* name) const = 0; virtual FileSystem& fs() const = 0; virtual ~Inode() = default; InodeType type; }; class FileSystem { public: virtual Inode& root() const = 0; virtual ~FileSystem() = default; }; extern SharedPtr root_fs; Result resolve_path(const char* path); }