/* * Copyright (c) 2019-2020, Sergey Bugaev * Copyright (c) 2022, Liav A. * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include namespace Kernel { class TmpFS final : public FileSystem { friend class TmpFSInode; public: virtual ~TmpFS() override; static ErrorOr> try_create(); virtual ErrorOr initialize() override; virtual StringView class_name() const override { return "TmpFS"sv; } virtual bool supports_watchers() const override { return true; } virtual Inode& root_inode() override; private: TmpFS(); LockRefPtr m_root_inode; unsigned m_next_inode_index { 1 }; unsigned next_inode_index(); }; }