mirror of
https://github.com/Atmosphere-NX/Atmosphere-libs.git
synced 2025-06-29 22:42:40 +02:00
pm: update for new-ipc
This commit is contained in:
parent
d81f97862a
commit
d1ae859891
@ -22,11 +22,11 @@
|
||||
namespace sts::pm::dmnt {
|
||||
|
||||
/* Debug Monitor API. */
|
||||
Result StartProcess(u64 process_id);
|
||||
Result GetProcessId(u64 *out_process_id, const ncm::TitleId title_id);
|
||||
Result GetApplicationProcessId(u64 *out_process_id);
|
||||
Result StartProcess(os::ProcessId process_id);
|
||||
Result GetProcessId(os::ProcessId *out_process_id, const ncm::TitleId title_id);
|
||||
Result GetApplicationProcessId(os::ProcessId *out_process_id);
|
||||
Result HookToCreateApplicationProcess(Handle *out_handle);
|
||||
Result AtmosphereGetProcessInfo(Handle *out_handle, ncm::TitleLocation *out_loc, u64 process_id);
|
||||
Result AtmosphereGetProcessInfo(Handle *out_handle, ncm::TitleLocation *out_loc, os::ProcessId process_id);
|
||||
Result AtmosphereGetCurrentLimitInfo(u64 *out_current_value, u64 *out_limit_value, ResourceLimitGroup group, LimitableResource resource);
|
||||
|
||||
}
|
||||
|
@ -22,8 +22,8 @@
|
||||
namespace sts::pm::info {
|
||||
|
||||
/* Information API. */
|
||||
Result GetTitleId(ncm::TitleId *out_title_id, u64 process_id);
|
||||
Result GetProcessId(u64 *out_process_id, ncm::TitleId title_id);
|
||||
Result GetTitleId(ncm::TitleId *out_title_id, os::ProcessId process_id);
|
||||
Result GetProcessId(os::ProcessId *out_process_id, ncm::TitleId title_id);
|
||||
Result HasLaunchedTitle(bool *out, ncm::TitleId title_id);
|
||||
|
||||
/* Information convenience API. */
|
||||
|
@ -22,6 +22,6 @@
|
||||
namespace sts::pm::shell {
|
||||
|
||||
/* Shell API. */
|
||||
Result LaunchTitle(u64 *out_process_id, const ncm::TitleLocation &loc, u32 launch_flags);
|
||||
Result LaunchTitle(os::ProcessId *out_process_id, const ncm::TitleLocation &loc, u32 launch_flags);
|
||||
|
||||
}
|
||||
|
@ -16,6 +16,7 @@
|
||||
|
||||
#pragma once
|
||||
#include <switch.h>
|
||||
#include "../os/os_common_types.hpp"
|
||||
|
||||
namespace sts::pm {
|
||||
|
||||
@ -36,7 +37,7 @@ namespace sts::pm {
|
||||
|
||||
struct ProcessEventInfo {
|
||||
u32 event;
|
||||
u64 process_id;
|
||||
os::ProcessId process_id;
|
||||
};
|
||||
static_assert(sizeof(ProcessEventInfo) == 0x10 && std::is_pod<ProcessEventInfo>::value, "ProcessEventInfo definition!");
|
||||
|
||||
|
@ -581,7 +581,7 @@ namespace sts::sf::impl {
|
||||
constexpr inline uintptr_t GetAddress() const {
|
||||
static_assert(Offset <= Size, "Offset <= Size");
|
||||
static_assert(TypeSize <= Size, "TypeSize <= Size");
|
||||
static_assert(Offset + TypeSize <= Size, "Offset + TypeSize <= Size");
|
||||
static_assert(Offset + TypeSize <= Size || false, "Offset + TypeSize <= Size");
|
||||
return reinterpret_cast<uintptr_t>(&data[Offset]);
|
||||
}
|
||||
|
||||
@ -944,7 +944,7 @@ namespace sts::sf::impl {
|
||||
}
|
||||
} else if constexpr (Info.arg_type == ArgumentType::OutData) {
|
||||
/* New out rawdata. */
|
||||
constexpr size_t Offset = CommandMeta::InDataOffsets[Info.out_raw_data_index];
|
||||
constexpr size_t Offset = CommandMeta::OutDataOffsets[Info.out_raw_data_index];
|
||||
return T(out_raw_holder.template GetAddress<Offset, T::TypeSize>());
|
||||
} else if constexpr (Info.arg_type == ArgumentType::InHandle) {
|
||||
/* New InHandle. */
|
||||
|
@ -18,12 +18,13 @@
|
||||
|
||||
#include "sm_types.hpp"
|
||||
#include "../ncm/ncm_types.hpp"
|
||||
#include "../os/os_common_types.hpp"
|
||||
|
||||
namespace sts::sm::manager {
|
||||
|
||||
/* Manager API. */
|
||||
Result RegisterProcess(u64 process_id, ncm::TitleId title_id, const void *acid, size_t acid_size, const void *aci, size_t aci_size);
|
||||
Result UnregisterProcess(u64 process_id);
|
||||
Result RegisterProcess(os::ProcessId process_id, ncm::TitleId title_id, const void *acid, size_t acid_size, const void *aci, size_t aci_size);
|
||||
Result UnregisterProcess(os::ProcessId process_id);
|
||||
|
||||
/* Atmosphere extensions. */
|
||||
Result EndInitialDefers();
|
||||
|
@ -23,16 +23,16 @@
|
||||
namespace sts::pm::dmnt {
|
||||
|
||||
/* Debug Monitor API. */
|
||||
Result StartProcess(u64 process_id) {
|
||||
return pmdmntStartProcess(process_id);
|
||||
Result StartProcess(os::ProcessId process_id) {
|
||||
return pmdmntStartProcess(static_cast<u64>(process_id));
|
||||
}
|
||||
|
||||
Result GetProcessId(u64 *out_process_id, const ncm::TitleId title_id) {
|
||||
return pmdmntGetTitlePid(out_process_id, static_cast<u64>(title_id));
|
||||
Result GetProcessId(os::ProcessId *out_process_id, const ncm::TitleId title_id) {
|
||||
return pmdmntGetTitlePid(reinterpret_cast<u64 *>(out_process_id), static_cast<u64>(title_id));
|
||||
}
|
||||
|
||||
Result GetApplicationProcessId(u64 *out_process_id) {
|
||||
return pmdmntGetApplicationPid(out_process_id);
|
||||
Result GetApplicationProcessId(os::ProcessId *out_process_id) {
|
||||
return pmdmntGetApplicationPid(reinterpret_cast<u64 *>(out_process_id));
|
||||
}
|
||||
|
||||
Result HookToCreateApplicationProcess(Handle *out_handle) {
|
||||
@ -42,10 +42,10 @@ namespace sts::pm::dmnt {
|
||||
return ResultSuccess;
|
||||
}
|
||||
|
||||
Result AtmosphereGetProcessInfo(Handle *out_handle, ncm::TitleLocation *out_loc, u64 process_id) {
|
||||
Result AtmosphereGetProcessInfo(Handle *out_handle, ncm::TitleLocation *out_loc, os::ProcessId process_id) {
|
||||
*out_handle = INVALID_HANDLE;
|
||||
*out_loc = {};
|
||||
return pmdmntAtmosphereGetProcessInfo(out_handle, reinterpret_cast<u64 *>(&out_loc->title_id), &out_loc->storage_id, process_id);
|
||||
return pmdmntAtmosphereGetProcessInfo(out_handle, reinterpret_cast<u64 *>(&out_loc->title_id), &out_loc->storage_id, static_cast<u64>(process_id));
|
||||
}
|
||||
|
||||
Result AtmosphereGetCurrentLimitInfo(u64 *out_current_value, u64 *out_limit_value, ResourceLimitGroup group, LimitableResource resource) {
|
||||
|
@ -31,16 +31,16 @@ namespace sts::pm::info {
|
||||
}
|
||||
|
||||
/* Information API. */
|
||||
Result GetTitleId(ncm::TitleId *out_title_id, u64 process_id) {
|
||||
Result GetTitleId(ncm::TitleId *out_title_id, os::ProcessId process_id) {
|
||||
std::scoped_lock lk(g_info_lock);
|
||||
|
||||
return pminfoGetTitleId(reinterpret_cast<u64 *>(out_title_id), process_id);
|
||||
return pminfoGetTitleId(reinterpret_cast<u64 *>(out_title_id), static_cast<u64>(process_id));
|
||||
}
|
||||
|
||||
Result GetProcessId(u64 *out_process_id, ncm::TitleId title_id) {
|
||||
Result GetProcessId(os::ProcessId *out_process_id, ncm::TitleId title_id) {
|
||||
std::scoped_lock lk(g_info_lock);
|
||||
|
||||
return pminfoAtmosphereGetProcessId(out_process_id, static_cast<u64>(title_id));
|
||||
return pminfoAtmosphereGetProcessId(reinterpret_cast<u64 *>(out_process_id), static_cast<u64>(title_id));
|
||||
}
|
||||
|
||||
Result WEAK HasLaunchedTitle(bool *out, ncm::TitleId title_id) {
|
||||
|
@ -21,8 +21,8 @@
|
||||
namespace sts::pm::shell {
|
||||
|
||||
/* Shell API. */
|
||||
Result WEAK LaunchTitle(u64 *out_process_id, const ncm::TitleLocation &loc, u32 launch_flags) {
|
||||
return pmshellLaunchProcess(launch_flags, static_cast<u64>(loc.title_id), loc.storage_id, out_process_id);
|
||||
Result WEAK LaunchTitle(os::ProcessId *out_process_id, const ncm::TitleLocation &loc, u32 launch_flags) {
|
||||
return pmshellLaunchProcess(launch_flags, static_cast<u64>(loc.title_id), loc.storage_id, reinterpret_cast<u64 *>(out_process_id));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -24,12 +24,12 @@
|
||||
namespace sts::sm::manager {
|
||||
|
||||
/* Manager API. */
|
||||
Result RegisterProcess(u64 process_id, ncm::TitleId title_id, const void *acid, size_t acid_size, const void *aci, size_t aci_size) {
|
||||
return smManagerAtmosphereRegisterProcess(process_id, static_cast<u64>(title_id), acid, acid_size, aci, aci_size);
|
||||
Result RegisterProcess(os::ProcessId process_id, ncm::TitleId title_id, const void *acid, size_t acid_size, const void *aci, size_t aci_size) {
|
||||
return smManagerAtmosphereRegisterProcess(static_cast<u64>(process_id), static_cast<u64>(title_id), acid, acid_size, aci, aci_size);
|
||||
}
|
||||
|
||||
Result UnregisterProcess(u64 process_id) {
|
||||
return smManagerUnregisterProcess(process_id);
|
||||
Result UnregisterProcess(os::ProcessId process_id) {
|
||||
return smManagerUnregisterProcess(static_cast<u64>(process_id));
|
||||
}
|
||||
|
||||
/* Atmosphere extensions. */
|
||||
|
Loading…
Reference in New Issue
Block a user