rpcsx/kernel/cellos/include/cellos/sys_overlay.h

35 lines
1.4 KiB
C++

#pragma once
#include "Emu/Cell/PPUAnalyser.h"
#include "Emu/Memory/vm_ptr.h"
#include "sys_sync.h"
struct lv2_overlay final : ppu_module<lv2_obj> {
static const u32 id_base = 0x25000000;
u32 entry{};
u32 seg0_code_end{};
lv2_overlay() = default;
lv2_overlay(utils::serial &) {}
static std::function<void(void *)> load(utils::serial &ar);
void save(utils::serial &ar);
};
error_code sys_overlay_load_module(vm::ptr<u32> ovlmid, vm::cptr<char> path,
u64 flags, vm::ptr<u32> entry);
error_code sys_overlay_load_module_by_fd(vm::ptr<u32> ovlmid, u32 fd,
u64 offset, u64 flags,
vm::ptr<u32> entry);
error_code sys_overlay_unload_module(u32 ovlmid);
// clang-format off
// error_code sys_overlay_get_module_list(sys_pid_t pid, usz ovlmids_num, sys_overlay_t * ovlmids, usz * num_of_modules);
// error_code sys_overlay_get_module_info(sys_pid_t pid, sys_overlay_t ovlmid, sys_overlay_module_info_t * info);
// error_code sys_overlay_get_module_info2(sys_pid_t pid, sys_overlay_t ovlmid, sys_overlay_module_info2_t * info);//
// error_code sys_overlay_get_sdk_version(); //2 params
// error_code sys_overlay_get_module_dbg_info(); //3 params?
// error_code _sys_prx_load_module(vm::ps3::cptr<char> path, u64 flags, vm::ps3::ptr<sys_prx_load_module_option_t> pOpt);
// clang-format on