process_creation.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. // SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include <memory>
  5. #include <vector>
  6. #include "common/common_types.h"
  7. #include "core/file_sys/vfs/vfs_types.h"
  8. namespace Core {
  9. class System;
  10. }
  11. namespace Loader {
  12. class AppLoader;
  13. enum class ResultStatus : u16;
  14. } // namespace Loader
  15. namespace Service {
  16. class Process;
  17. }
  18. namespace Service::AM {
  19. std::unique_ptr<Process> CreateProcess(Core::System& system, u64 program_id,
  20. u8 minimum_key_generation, u8 maximum_key_generation);
  21. std::unique_ptr<Process> CreateApplicationProcess(std::vector<u8>& out_control,
  22. std::unique_ptr<Loader::AppLoader>& out_loader,
  23. Loader::ResultStatus& out_load_result,
  24. Core::System& system, FileSys::VirtualFile file,
  25. u64 program_id, u64 program_index);
  26. } // namespace Service::AM