FileSystem.cpp 784 B

12345678910111213141516171819202122232425262728293031323334
  1. /*
  2. * Copyright (c) 2018-2021, Andreas Kling <kling@serenityos.org>
  3. * Copyright (c) 2021, Spencer Dixon <spencercdixon@gmail.com>
  4. * Copyright (c) 2021, Liav A. <liavalb@hotmail.co.il>
  5. *
  6. * SPDX-License-Identifier: BSD-2-Clause
  7. */
  8. #include <Kernel/FileSystem/ProcFS/FileSystem.h>
  9. #include <Kernel/FileSystem/ProcFS/Inode.h>
  10. #include <Kernel/ProcessExposed.h>
  11. namespace Kernel {
  12. ErrorOr<NonnullLockRefPtr<FileSystem>> ProcFS::try_create()
  13. {
  14. return TRY(adopt_nonnull_lock_ref_or_enomem(new (nothrow) ProcFS));
  15. }
  16. ProcFS::ProcFS() = default;
  17. ProcFS::~ProcFS() = default;
  18. ErrorOr<void> ProcFS::initialize()
  19. {
  20. m_root_inode = TRY(ProcFSComponentRegistry::the().root_directory().to_inode(*this));
  21. return {};
  22. }
  23. Inode& ProcFS::root_inode()
  24. {
  25. return *m_root_inode;
  26. }
  27. }