pm: update for new-ipc

This commit is contained in:
Michael Scire
2019-10-14 22:49:06 -07:00
committed by SciresM
parent 8bd2a9a23b
commit aa0826bb70
25 changed files with 239 additions and 219 deletions

View File

@@ -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);
}

View File

@@ -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. */

View File

@@ -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);
}

View File

@@ -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!");

View File

@@ -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. */

View File

@@ -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();