romfs.h 757 B

12345678910111213141516171819202122232425
  1. // SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include "core/file_sys/vfs.h"
  5. namespace FileSys {
  6. enum class RomFSExtractionType {
  7. Full, // Includes data directory
  8. Truncated, // Traverses into data directory
  9. SingleDiscard, // Traverses into the first subdirectory of root
  10. };
  11. // Converts a RomFS binary blob to VFS Filesystem
  12. // Returns nullptr on failure
  13. VirtualDir ExtractRomFS(VirtualFile file,
  14. RomFSExtractionType type = RomFSExtractionType::Truncated);
  15. // Converts a VFS filesystem into a RomFS binary
  16. // Returns nullptr on failure
  17. VirtualFile CreateRomFS(VirtualDir dir, VirtualDir ext = nullptr);
  18. } // namespace FileSys