hle: Eliminate need to specify command headers for IPC. (#6678)

This commit is contained in:
Steveice10
2023-07-14 17:32:59 -07:00
committed by GitHub
parent 0bedb28bdc
commit e043caac27
96 changed files with 2691 additions and 2707 deletions

View File

@@ -13,7 +13,7 @@
namespace Service::BOSS {
void Module::Interface::InitializeSession(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x01, 2, 2);
IPC::RequestParser rp(ctx);
const u64 programID = rp.Pop<u64>();
rp.PopPID();
@@ -24,7 +24,7 @@ void Module::Interface::InitializeSession(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::SetStorageInfo(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x02, 4, 0);
IPC::RequestParser rp(ctx);
const u64 extdata_id = rp.Pop<u64>();
const u32 boss_size = rp.Pop<u32>();
const u8 extdata_type = rp.Pop<u8>(); /// 0 = NAND, 1 = SD
@@ -38,7 +38,7 @@ void Module::Interface::SetStorageInfo(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::UnregisterStorage(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x03, 0, 0);
IPC::RequestParser rp(ctx);
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
rb.Push(RESULT_SUCCESS);
@@ -47,7 +47,7 @@ void Module::Interface::UnregisterStorage(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetStorageInfo(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x04, 0, 0);
IPC::RequestParser rp(ctx);
IPC::RequestBuilder rb = rp.MakeBuilder(2, 0);
rb.Push(RESULT_SUCCESS);
@@ -57,7 +57,7 @@ void Module::Interface::GetStorageInfo(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::RegisterPrivateRootCa(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x05, 1, 2);
IPC::RequestParser rp(ctx);
[[maybe_unused]] const u32 size = rp.Pop<u32>();
auto& buffer = rp.PopMappedBuffer();
@@ -69,7 +69,7 @@ void Module::Interface::RegisterPrivateRootCa(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::RegisterPrivateClientCert(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x06, 2, 4);
IPC::RequestParser rp(ctx);
const u32 buffer1_size = rp.Pop<u32>();
const u32 buffer2_size = rp.Pop<u32>();
auto& buffer1 = rp.PopMappedBuffer();
@@ -85,7 +85,7 @@ void Module::Interface::RegisterPrivateClientCert(Kernel::HLERequestContext& ctx
}
void Module::Interface::GetNewArrivalFlag(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x07, 0, 0);
IPC::RequestParser rp(ctx);
IPC::RequestBuilder rb = rp.MakeBuilder(2, 0);
rb.Push(RESULT_SUCCESS);
@@ -95,7 +95,7 @@ void Module::Interface::GetNewArrivalFlag(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::RegisterNewArrivalEvent(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x08, 0, 2);
IPC::RequestParser rp(ctx);
[[maybe_unused]] const auto event = rp.PopObject<Kernel::Event>();
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
@@ -105,7 +105,7 @@ void Module::Interface::RegisterNewArrivalEvent(Kernel::HLERequestContext& ctx)
}
void Module::Interface::SetOptoutFlag(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x09, 1, 0);
IPC::RequestParser rp(ctx);
output_flag = rp.Pop<u8>();
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
@@ -115,7 +115,7 @@ void Module::Interface::SetOptoutFlag(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetOptoutFlag(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x0A, 0, 0);
IPC::RequestParser rp(ctx);
IPC::RequestBuilder rb = rp.MakeBuilder(2, 0);
rb.Push(RESULT_SUCCESS);
@@ -125,7 +125,7 @@ void Module::Interface::GetOptoutFlag(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::RegisterTask(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x0B, 3, 2);
IPC::RequestParser rp(ctx);
const u32 size = rp.Pop<u32>();
const u8 unk_param2 = rp.Pop<u8>();
const u8 unk_param3 = rp.Pop<u8>();
@@ -140,7 +140,7 @@ void Module::Interface::RegisterTask(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::UnregisterTask(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x0C, 2, 2);
IPC::RequestParser rp(ctx);
const u32 size = rp.Pop<u32>();
const u8 unk_param2 = rp.Pop<u8>();
auto& buffer = rp.PopMappedBuffer();
@@ -153,7 +153,7 @@ void Module::Interface::UnregisterTask(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::ReconfigureTask(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x0D, 2, 2);
IPC::RequestParser rp(ctx);
const u32 size = rp.Pop<u32>();
const u8 unk_param2 = rp.Pop<u8>();
auto& buffer = rp.PopMappedBuffer();
@@ -166,7 +166,7 @@ void Module::Interface::ReconfigureTask(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetTaskIdList(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x0E, 0, 0);
IPC::RequestParser rp(ctx);
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
rb.Push(RESULT_SUCCESS);
@@ -175,7 +175,7 @@ void Module::Interface::GetTaskIdList(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetStepIdList(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x0F, 1, 2);
IPC::RequestParser rp(ctx);
const u32 size = rp.Pop<u32>();
auto& buffer = rp.PopMappedBuffer();
@@ -187,7 +187,7 @@ void Module::Interface::GetStepIdList(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetNsDataIdList(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x10, 4, 2);
IPC::RequestParser rp(ctx);
const u32 filter = rp.Pop<u32>();
const u32 max_entries = rp.Pop<u32>(); /// buffer size in words
const u16 word_index_start = rp.Pop<u16>();
@@ -207,7 +207,7 @@ void Module::Interface::GetNsDataIdList(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetNsDataIdList1(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x11, 4, 2);
IPC::RequestParser rp(ctx);
const u32 filter = rp.Pop<u32>();
const u32 max_entries = rp.Pop<u32>(); /// buffer size in words
const u16 word_index_start = rp.Pop<u16>();
@@ -227,7 +227,7 @@ void Module::Interface::GetNsDataIdList1(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetNsDataIdList2(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x12, 4, 2);
IPC::RequestParser rp(ctx);
const u32 filter = rp.Pop<u32>();
const u32 max_entries = rp.Pop<u32>(); /// buffer size in words
const u16 word_index_start = rp.Pop<u16>();
@@ -247,7 +247,7 @@ void Module::Interface::GetNsDataIdList2(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetNsDataIdList3(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x13, 4, 2);
IPC::RequestParser rp(ctx);
const u32 filter = rp.Pop<u32>();
const u32 max_entries = rp.Pop<u32>(); /// buffer size in words
const u16 word_index_start = rp.Pop<u16>();
@@ -267,7 +267,7 @@ void Module::Interface::GetNsDataIdList3(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::SendProperty(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x14, 2, 2);
IPC::RequestParser rp(ctx);
const u16 property_id = rp.Pop<u16>();
const u32 size = rp.Pop<u32>();
auto& buffer = rp.PopMappedBuffer();
@@ -280,7 +280,7 @@ void Module::Interface::SendProperty(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::SendPropertyHandle(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x15, 1, 2);
IPC::RequestParser rp(ctx);
const u16 property_id = rp.Pop<u16>();
[[maybe_unused]] const std::shared_ptr<Kernel::Object> object = rp.PopGenericObject();
@@ -291,7 +291,7 @@ void Module::Interface::SendPropertyHandle(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::ReceiveProperty(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x16, 2, 2);
IPC::RequestParser rp(ctx);
const u16 property_id = rp.Pop<u16>();
const u32 size = rp.Pop<u32>();
auto& buffer = rp.PopMappedBuffer();
@@ -305,7 +305,7 @@ void Module::Interface::ReceiveProperty(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::UpdateTaskInterval(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x17, 2, 2);
IPC::RequestParser rp(ctx);
const u32 size = rp.Pop<u32>();
const u16 unk_param2 = rp.Pop<u16>();
auto& buffer = rp.PopMappedBuffer();
@@ -318,7 +318,7 @@ void Module::Interface::UpdateTaskInterval(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::UpdateTaskCount(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x18, 2, 2);
IPC::RequestParser rp(ctx);
const u32 size = rp.Pop<u32>();
const u32 unk_param2 = rp.Pop<u32>();
auto& buffer = rp.PopMappedBuffer();
@@ -331,7 +331,7 @@ void Module::Interface::UpdateTaskCount(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetTaskInterval(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x19, 1, 2);
IPC::RequestParser rp(ctx);
const u32 size = rp.Pop<u32>();
auto& buffer = rp.PopMappedBuffer();
@@ -344,7 +344,7 @@ void Module::Interface::GetTaskInterval(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetTaskCount(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x1A, 1, 2);
IPC::RequestParser rp(ctx);
const u32 size = rp.Pop<u32>();
auto& buffer = rp.PopMappedBuffer();
@@ -357,7 +357,7 @@ void Module::Interface::GetTaskCount(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetTaskServiceStatus(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x1B, 1, 2);
IPC::RequestParser rp(ctx);
const u32 size = rp.Pop<u32>();
auto& buffer = rp.PopMappedBuffer();
@@ -370,7 +370,7 @@ void Module::Interface::GetTaskServiceStatus(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::StartTask(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x1C, 1, 2);
IPC::RequestParser rp(ctx);
const u32 size = rp.Pop<u32>();
auto& buffer = rp.PopMappedBuffer();
@@ -382,7 +382,7 @@ void Module::Interface::StartTask(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::StartTaskImmediate(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x1D, 1, 2);
IPC::RequestParser rp(ctx);
const u32 size = rp.Pop<u32>();
auto& buffer = rp.PopMappedBuffer();
@@ -394,7 +394,7 @@ void Module::Interface::StartTaskImmediate(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::CancelTask(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x1E, 1, 2);
IPC::RequestParser rp(ctx);
const u32 size = rp.Pop<u32>();
auto& buffer = rp.PopMappedBuffer();
@@ -406,7 +406,7 @@ void Module::Interface::CancelTask(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetTaskFinishHandle(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x1F, 0, 0);
IPC::RequestParser rp(ctx);
IPC::RequestBuilder rb = rp.MakeBuilder(1, 2);
rb.Push(RESULT_SUCCESS);
@@ -416,7 +416,7 @@ void Module::Interface::GetTaskFinishHandle(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetTaskState(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x20, 2, 2);
IPC::RequestParser rp(ctx);
const u32 size = rp.Pop<u32>();
const u8 state = rp.Pop<u8>();
auto& buffer = rp.PopMappedBuffer();
@@ -432,7 +432,7 @@ void Module::Interface::GetTaskState(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetTaskResult(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x21, 1, 2);
IPC::RequestParser rp(ctx);
const u32 size = rp.Pop<u32>();
auto& buffer = rp.PopMappedBuffer();
@@ -447,7 +447,7 @@ void Module::Interface::GetTaskResult(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetTaskCommErrorCode(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x22, 1, 2);
IPC::RequestParser rp(ctx);
const u32 size = rp.Pop<u32>();
auto& buffer = rp.PopMappedBuffer();
@@ -462,7 +462,7 @@ void Module::Interface::GetTaskCommErrorCode(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetTaskStatus(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x23, 3, 2);
IPC::RequestParser rp(ctx);
const u32 size = rp.Pop<u32>();
const u8 unk_param2 = rp.Pop<u8>();
const u8 unk_param3 = rp.Pop<u8>();
@@ -478,7 +478,7 @@ void Module::Interface::GetTaskStatus(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetTaskError(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x24, 2, 2);
IPC::RequestParser rp(ctx);
const u32 size = rp.Pop<u32>();
const u8 unk_param2 = rp.Pop<u8>();
auto& buffer = rp.PopMappedBuffer();
@@ -492,7 +492,7 @@ void Module::Interface::GetTaskError(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetTaskInfo(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x25, 2, 2);
IPC::RequestParser rp(ctx);
const u32 size = rp.Pop<u32>();
const u8 unk_param2 = rp.Pop<u8>();
auto& buffer = rp.PopMappedBuffer();
@@ -505,7 +505,7 @@ void Module::Interface::GetTaskInfo(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::DeleteNsData(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x26, 1, 0);
IPC::RequestParser rp(ctx);
const u32 ns_data_id = rp.Pop<u32>();
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
@@ -515,7 +515,7 @@ void Module::Interface::DeleteNsData(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetNsDataHeaderInfo(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x27, 3, 2);
IPC::RequestParser rp(ctx);
const u32 ns_data_id = rp.Pop<u32>();
const u8 type = rp.Pop<u8>();
const u32 size = rp.Pop<u32>();
@@ -530,7 +530,7 @@ void Module::Interface::GetNsDataHeaderInfo(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::ReadNsData(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x28, 4, 2);
IPC::RequestParser rp(ctx);
const u32 ns_data_id = rp.Pop<u32>();
const u64 offset = rp.Pop<u64>();
const u32 size = rp.Pop<u32>();
@@ -547,7 +547,7 @@ void Module::Interface::ReadNsData(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::SetNsDataAdditionalInfo(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x29, 2, 0);
IPC::RequestParser rp(ctx);
const u32 unk_param1 = rp.Pop<u32>();
const u32 unk_param2 = rp.Pop<u32>();
@@ -559,7 +559,7 @@ void Module::Interface::SetNsDataAdditionalInfo(Kernel::HLERequestContext& ctx)
}
void Module::Interface::GetNsDataAdditionalInfo(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x2A, 1, 0);
IPC::RequestParser rp(ctx);
const u32 unk_param1 = rp.Pop<u32>();
IPC::RequestBuilder rb = rp.MakeBuilder(2, 0);
@@ -570,7 +570,7 @@ void Module::Interface::GetNsDataAdditionalInfo(Kernel::HLERequestContext& ctx)
}
void Module::Interface::SetNsDataNewFlag(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x2B, 2, 0);
IPC::RequestParser rp(ctx);
const u32 unk_param1 = rp.Pop<u32>();
ns_data_new_flag = rp.Pop<u8>();
@@ -582,7 +582,7 @@ void Module::Interface::SetNsDataNewFlag(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetNsDataNewFlag(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x2C, 1, 0);
IPC::RequestParser rp(ctx);
const u32 unk_param1 = rp.Pop<u32>();
IPC::RequestBuilder rb = rp.MakeBuilder(2, 0);
@@ -594,7 +594,7 @@ void Module::Interface::GetNsDataNewFlag(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetNsDataLastUpdate(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x2D, 1, 0);
IPC::RequestParser rp(ctx);
const u32 unk_param1 = rp.Pop<u32>();
IPC::RequestBuilder rb = rp.MakeBuilder(3, 0);
@@ -606,7 +606,7 @@ void Module::Interface::GetNsDataLastUpdate(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetErrorCode(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x2E, 1, 0);
IPC::RequestParser rp(ctx);
const u8 input = rp.Pop<u8>();
IPC::RequestBuilder rb = rp.MakeBuilder(2, 0);
@@ -617,7 +617,7 @@ void Module::Interface::GetErrorCode(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::RegisterStorageEntry(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x2F, 5, 0);
IPC::RequestParser rp(ctx);
const u32 unk_param1 = rp.Pop<u32>();
const u32 unk_param2 = rp.Pop<u32>();
const u32 unk_param3 = rp.Pop<u32>();
@@ -634,7 +634,7 @@ void Module::Interface::RegisterStorageEntry(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetStorageEntryInfo(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x30, 0, 0);
IPC::RequestParser rp(ctx);
IPC::RequestBuilder rb = rp.MakeBuilder(3, 0);
rb.Push(RESULT_SUCCESS);
@@ -645,7 +645,7 @@ void Module::Interface::GetStorageEntryInfo(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::SetStorageOption(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x31, 4, 0);
IPC::RequestParser rp(ctx);
const u8 unk_param1 = rp.Pop<u8>();
const u32 unk_param2 = rp.Pop<u32>();
const u16 unk_param3 = rp.Pop<u16>();
@@ -661,7 +661,7 @@ void Module::Interface::SetStorageOption(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetStorageOption(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x32, 0, 0);
IPC::RequestParser rp(ctx);
IPC::RequestBuilder rb = rp.MakeBuilder(5, 0);
rb.Push(RESULT_SUCCESS);
@@ -674,7 +674,7 @@ void Module::Interface::GetStorageOption(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::StartBgImmediate(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x33, 1, 2);
IPC::RequestParser rp(ctx);
const u32 size = rp.Pop<u32>();
auto& buffer = rp.PopMappedBuffer();
@@ -686,7 +686,7 @@ void Module::Interface::StartBgImmediate(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetTaskProperty0(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x34, 1, 2);
IPC::RequestParser rp(ctx);
const u32 size = rp.Pop<u32>();
auto& buffer = rp.PopMappedBuffer();
@@ -699,7 +699,7 @@ void Module::Interface::GetTaskProperty0(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::RegisterImmediateTask(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x35, 3, 2);
IPC::RequestParser rp(ctx);
const u32 size = rp.Pop<u32>();
const u8 unk_param2 = rp.Pop<u8>();
const u8 unk_param3 = rp.Pop<u8>();
@@ -714,7 +714,7 @@ void Module::Interface::RegisterImmediateTask(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::SetTaskQuery(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x36, 2, 4);
IPC::RequestParser rp(ctx);
const u32 buffer1_size = rp.Pop<u32>();
const u32 buffer2_size = rp.Pop<u32>();
auto& buffer1 = rp.PopMappedBuffer();
@@ -730,7 +730,7 @@ void Module::Interface::SetTaskQuery(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetTaskQuery(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x37, 2, 4);
IPC::RequestParser rp(ctx);
const u32 buffer1_size = rp.Pop<u32>();
const u32 buffer2_size = rp.Pop<u32>();
auto& buffer1 = rp.PopMappedBuffer();
@@ -746,7 +746,7 @@ void Module::Interface::GetTaskQuery(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::InitializeSessionPrivileged(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x401, 2, 2);
IPC::RequestParser rp(ctx);
const u64 programID = rp.Pop<u64>();
rp.PopPID();
@@ -757,7 +757,7 @@ void Module::Interface::InitializeSessionPrivileged(Kernel::HLERequestContext& c
}
void Module::Interface::GetAppNewFlag(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x404, 2, 0);
IPC::RequestParser rp(ctx);
const u64 programID = rp.Pop<u64>();
IPC::RequestBuilder rb = rp.MakeBuilder(2, 0);
@@ -768,7 +768,7 @@ void Module::Interface::GetAppNewFlag(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetNsDataIdListPrivileged(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x40D, 6, 2);
IPC::RequestParser rp(ctx);
const u64 programID = rp.Pop<u64>();
const u32 filter = rp.Pop<u32>();
const u32 max_entries = rp.Pop<u32>(); /// buffer size in words
@@ -789,7 +789,7 @@ void Module::Interface::GetNsDataIdListPrivileged(Kernel::HLERequestContext& ctx
}
void Module::Interface::GetNsDataIdListPrivileged1(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x40E, 6, 2);
IPC::RequestParser rp(ctx);
const u64 programID = rp.Pop<u64>();
const u32 filter = rp.Pop<u32>();
const u32 max_entries = rp.Pop<u32>(); /// buffer size in words
@@ -810,7 +810,7 @@ void Module::Interface::GetNsDataIdListPrivileged1(Kernel::HLERequestContext& ct
}
void Module::Interface::SendPropertyPrivileged(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x413, 2, 2);
IPC::RequestParser rp(ctx);
const u16 property_id = rp.Pop<u16>();
const u32 size = rp.Pop<u32>();
auto& buffer = rp.PopMappedBuffer();
@@ -823,7 +823,7 @@ void Module::Interface::SendPropertyPrivileged(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::DeleteNsDataPrivileged(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x415, 3, 0);
IPC::RequestParser rp(ctx);
const u64 programID = rp.Pop<u64>();
const u32 ns_data_id = rp.Pop<u32>();
@@ -835,7 +835,7 @@ void Module::Interface::DeleteNsDataPrivileged(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::GetNsDataHeaderInfoPrivileged(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x416, 5, 2);
IPC::RequestParser rp(ctx);
const u64 programID = rp.Pop<u64>();
const u32 ns_data_id = rp.Pop<u32>();
const u8 type = rp.Pop<u8>();
@@ -852,7 +852,7 @@ void Module::Interface::GetNsDataHeaderInfoPrivileged(Kernel::HLERequestContext&
}
void Module::Interface::ReadNsDataPrivileged(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x417, 6, 2);
IPC::RequestParser rp(ctx);
const u64 programID = rp.Pop<u64>();
const u32 ns_data_id = rp.Pop<u32>();
const u64 offset = rp.Pop<u64>();
@@ -871,7 +871,7 @@ void Module::Interface::ReadNsDataPrivileged(Kernel::HLERequestContext& ctx) {
}
void Module::Interface::SetNsDataNewFlagPrivileged(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x41A, 4, 0);
IPC::RequestParser rp(ctx);
const u64 programID = rp.Pop<u64>();
const u32 unk_param1 = rp.Pop<u32>();
ns_data_new_flag_privileged = rp.Pop<u8>();
@@ -886,7 +886,7 @@ void Module::Interface::SetNsDataNewFlagPrivileged(Kernel::HLERequestContext& ct
}
void Module::Interface::GetNsDataNewFlagPrivileged(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp(ctx, 0x41B, 3, 0);
IPC::RequestParser rp(ctx);
const u64 programID = rp.Pop<u64>();
const u32 unk_param1 = rp.Pop<u32>();

View File

@@ -12,72 +12,72 @@ BOSS_P::BOSS_P(std::shared_ptr<Module> boss)
static const FunctionInfo functions[] = {
// boss:u shared commands
// clang-format off
{IPC::MakeHeader(0x0001, 2, 2), &BOSS_P::InitializeSession, "InitializeSession"},
{IPC::MakeHeader(0x0002, 4, 0), &BOSS_P::SetStorageInfo, "RegisterStorage"},
{IPC::MakeHeader(0x0003, 0, 0), &BOSS_P::UnregisterStorage, "UnregisterStorage"},
{IPC::MakeHeader(0x0004, 0, 0), &BOSS_P::GetStorageInfo, "GetStorageInfo"},
{IPC::MakeHeader(0x0005, 1, 2), &BOSS_P::RegisterPrivateRootCa, "RegisterPrivateRootCa"},
{IPC::MakeHeader(0x0006, 2, 4), &BOSS_P::RegisterPrivateClientCert, "RegisterPrivateClientCert"},
{IPC::MakeHeader(0x0007, 0, 0), &BOSS_P::GetNewArrivalFlag, "GetNewArrivalFlag"},
{IPC::MakeHeader(0x0008, 0, 2), &BOSS_P::RegisterNewArrivalEvent, "RegisterNewArrivalEvent"},
{IPC::MakeHeader(0x0009, 1, 0), &BOSS_P::SetOptoutFlag, "SetOptoutFlag"},
{IPC::MakeHeader(0x000A, 0, 0), &BOSS_P::GetOptoutFlag, "GetOptoutFlag"},
{IPC::MakeHeader(0x000B, 3, 2), &BOSS_P::RegisterTask, "RegisterTask"},
{IPC::MakeHeader(0x000C, 2, 2), &BOSS_P::UnregisterTask, "UnregisterTask"},
{IPC::MakeHeader(0x000D, 2, 2), &BOSS_P::ReconfigureTask, "ReconfigureTask"},
{IPC::MakeHeader(0x000E, 0, 0), &BOSS_P::GetTaskIdList, "GetTaskIdList"},
{IPC::MakeHeader(0x000F, 1, 2), &BOSS_P::GetStepIdList, "GetStepIdList"},
{IPC::MakeHeader(0x0010, 4, 2), &BOSS_P::GetNsDataIdList, "GetNsDataIdList"},
{IPC::MakeHeader(0x0011, 4, 2), &BOSS_P::GetNsDataIdList1, "GetNsDataIdList1"},
{IPC::MakeHeader(0x0012, 4, 2), &BOSS_P::GetNsDataIdList2, "GetNsDataIdList2"},
{IPC::MakeHeader(0x0013, 4, 2), &BOSS_P::GetNsDataIdList3, "GetNsDataIdList3"},
{IPC::MakeHeader(0x0014, 2, 2), &BOSS_P::SendProperty, "SendProperty"},
{IPC::MakeHeader(0x0015, 1, 2), &BOSS_P::SendPropertyHandle, "SendPropertyHandle"},
{IPC::MakeHeader(0x0016, 2, 2), &BOSS_P::ReceiveProperty, "ReceiveProperty"},
{IPC::MakeHeader(0x0017, 2, 2), &BOSS_P::UpdateTaskInterval, "UpdateTaskInterval"},
{IPC::MakeHeader(0x0018, 2, 2), &BOSS_P::UpdateTaskCount, "UpdateTaskCount"},
{IPC::MakeHeader(0x0019, 1, 2), &BOSS_P::GetTaskInterval, "GetTaskInterval"},
{IPC::MakeHeader(0x001A, 1, 2), &BOSS_P::GetTaskCount, "GetTaskCount"},
{IPC::MakeHeader(0x001B, 1, 2), &BOSS_P::GetTaskServiceStatus, "GetTaskServiceStatus"},
{IPC::MakeHeader(0x001C, 1, 2), &BOSS_P::StartTask, "StartTask"},
{IPC::MakeHeader(0x001D, 1, 2), &BOSS_P::StartTaskImmediate, "StartTaskImmediate"},
{IPC::MakeHeader(0x001E, 1, 2), &BOSS_P::CancelTask, "CancelTask"},
{IPC::MakeHeader(0x001F, 0, 0), &BOSS_P::GetTaskFinishHandle, "GetTaskFinishHandle"},
{IPC::MakeHeader(0x0020, 2, 2), &BOSS_P::GetTaskState, "GetTaskState"},
{IPC::MakeHeader(0x0021, 1, 2), &BOSS_P::GetTaskResult, "GetTaskResult"},
{IPC::MakeHeader(0x0022, 1, 2), &BOSS_P::GetTaskCommErrorCode, "GetTaskCommErrorCode"},
{IPC::MakeHeader(0x0023, 3, 2), &BOSS_P::GetTaskStatus, "GetTaskStatus"},
{IPC::MakeHeader(0x0024, 2, 2), &BOSS_P::GetTaskError, "GetTaskError"},
{IPC::MakeHeader(0x0025, 2, 2), &BOSS_P::GetTaskInfo, "GetTaskInfo"},
{IPC::MakeHeader(0x0026, 1, 0), &BOSS_P::DeleteNsData, "DeleteNsData"},
{IPC::MakeHeader(0x0027, 3, 2), &BOSS_P::GetNsDataHeaderInfo, "GetNsDataHeaderInfo"},
{IPC::MakeHeader(0x0028, 4, 2), &BOSS_P::ReadNsData, "ReadNsData"},
{IPC::MakeHeader(0x0029, 2, 0), &BOSS_P::SetNsDataAdditionalInfo, "SetNsDataAdditionalInfo"},
{IPC::MakeHeader(0x002A, 1, 0), &BOSS_P::GetNsDataAdditionalInfo, "GetNsDataAdditionalInfo"},
{IPC::MakeHeader(0x002B, 2, 0), &BOSS_P::SetNsDataNewFlag, "SetNsDataNewFlag"},
{IPC::MakeHeader(0x002C, 1, 0), &BOSS_P::GetNsDataNewFlag, "GetNsDataNewFlag"},
{IPC::MakeHeader(0x002D, 1, 0), &BOSS_P::GetNsDataLastUpdate, "GetNsDataLastUpdate"},
{IPC::MakeHeader(0x002E, 1, 0), &BOSS_P::GetErrorCode, "GetErrorCode"},
{IPC::MakeHeader(0x002F, 5, 0), &BOSS_P::RegisterStorageEntry, "RegisterStorageEntry"},
{IPC::MakeHeader(0x0030, 0, 0), &BOSS_P::GetStorageEntryInfo, "GetStorageEntryInfo"},
{IPC::MakeHeader(0x0031, 4, 0), &BOSS_P::SetStorageOption, "SetStorageOption"},
{IPC::MakeHeader(0x0032, 0, 0), &BOSS_P::GetStorageOption, "GetStorageOption"},
{IPC::MakeHeader(0x0033, 1, 2), &BOSS_P::StartBgImmediate, "StartBgImmediate"},
{IPC::MakeHeader(0x0034, 1, 2), &BOSS_P::GetTaskProperty0, "GetTaskProperty0"},
{IPC::MakeHeader(0x0035, 3, 2), &BOSS_P::RegisterImmediateTask, "RegisterImmediateTask"},
{IPC::MakeHeader(0x0036, 2, 4), &BOSS_P::SetTaskQuery, "SetTaskQuery"},
{IPC::MakeHeader(0x0037, 2, 4), &BOSS_P::GetTaskQuery, "GetTaskQuery"},
{0x0001, &BOSS_P::InitializeSession, "InitializeSession"},
{0x0002, &BOSS_P::SetStorageInfo, "RegisterStorage"},
{0x0003, &BOSS_P::UnregisterStorage, "UnregisterStorage"},
{0x0004, &BOSS_P::GetStorageInfo, "GetStorageInfo"},
{0x0005, &BOSS_P::RegisterPrivateRootCa, "RegisterPrivateRootCa"},
{0x0006, &BOSS_P::RegisterPrivateClientCert, "RegisterPrivateClientCert"},
{0x0007, &BOSS_P::GetNewArrivalFlag, "GetNewArrivalFlag"},
{0x0008, &BOSS_P::RegisterNewArrivalEvent, "RegisterNewArrivalEvent"},
{0x0009, &BOSS_P::SetOptoutFlag, "SetOptoutFlag"},
{0x000A, &BOSS_P::GetOptoutFlag, "GetOptoutFlag"},
{0x000B, &BOSS_P::RegisterTask, "RegisterTask"},
{0x000C, &BOSS_P::UnregisterTask, "UnregisterTask"},
{0x000D, &BOSS_P::ReconfigureTask, "ReconfigureTask"},
{0x000E, &BOSS_P::GetTaskIdList, "GetTaskIdList"},
{0x000F, &BOSS_P::GetStepIdList, "GetStepIdList"},
{0x0010, &BOSS_P::GetNsDataIdList, "GetNsDataIdList"},
{0x0011, &BOSS_P::GetNsDataIdList1, "GetNsDataIdList1"},
{0x0012, &BOSS_P::GetNsDataIdList2, "GetNsDataIdList2"},
{0x0013, &BOSS_P::GetNsDataIdList3, "GetNsDataIdList3"},
{0x0014, &BOSS_P::SendProperty, "SendProperty"},
{0x0015, &BOSS_P::SendPropertyHandle, "SendPropertyHandle"},
{0x0016, &BOSS_P::ReceiveProperty, "ReceiveProperty"},
{0x0017, &BOSS_P::UpdateTaskInterval, "UpdateTaskInterval"},
{0x0018, &BOSS_P::UpdateTaskCount, "UpdateTaskCount"},
{0x0019, &BOSS_P::GetTaskInterval, "GetTaskInterval"},
{0x001A, &BOSS_P::GetTaskCount, "GetTaskCount"},
{0x001B, &BOSS_P::GetTaskServiceStatus, "GetTaskServiceStatus"},
{0x001C, &BOSS_P::StartTask, "StartTask"},
{0x001D, &BOSS_P::StartTaskImmediate, "StartTaskImmediate"},
{0x001E, &BOSS_P::CancelTask, "CancelTask"},
{0x001F, &BOSS_P::GetTaskFinishHandle, "GetTaskFinishHandle"},
{0x0020, &BOSS_P::GetTaskState, "GetTaskState"},
{0x0021, &BOSS_P::GetTaskResult, "GetTaskResult"},
{0x0022, &BOSS_P::GetTaskCommErrorCode, "GetTaskCommErrorCode"},
{0x0023, &BOSS_P::GetTaskStatus, "GetTaskStatus"},
{0x0024, &BOSS_P::GetTaskError, "GetTaskError"},
{0x0025, &BOSS_P::GetTaskInfo, "GetTaskInfo"},
{0x0026, &BOSS_P::DeleteNsData, "DeleteNsData"},
{0x0027, &BOSS_P::GetNsDataHeaderInfo, "GetNsDataHeaderInfo"},
{0x0028, &BOSS_P::ReadNsData, "ReadNsData"},
{0x0029, &BOSS_P::SetNsDataAdditionalInfo, "SetNsDataAdditionalInfo"},
{0x002A, &BOSS_P::GetNsDataAdditionalInfo, "GetNsDataAdditionalInfo"},
{0x002B, &BOSS_P::SetNsDataNewFlag, "SetNsDataNewFlag"},
{0x002C, &BOSS_P::GetNsDataNewFlag, "GetNsDataNewFlag"},
{0x002D, &BOSS_P::GetNsDataLastUpdate, "GetNsDataLastUpdate"},
{0x002E, &BOSS_P::GetErrorCode, "GetErrorCode"},
{0x002F, &BOSS_P::RegisterStorageEntry, "RegisterStorageEntry"},
{0x0030, &BOSS_P::GetStorageEntryInfo, "GetStorageEntryInfo"},
{0x0031, &BOSS_P::SetStorageOption, "SetStorageOption"},
{0x0032, &BOSS_P::GetStorageOption, "GetStorageOption"},
{0x0033, &BOSS_P::StartBgImmediate, "StartBgImmediate"},
{0x0034, &BOSS_P::GetTaskProperty0, "GetTaskProperty0"},
{0x0035, &BOSS_P::RegisterImmediateTask, "RegisterImmediateTask"},
{0x0036, &BOSS_P::SetTaskQuery, "SetTaskQuery"},
{0x0037, &BOSS_P::GetTaskQuery, "GetTaskQuery"},
// boss:p
{IPC::MakeHeader(0x0401, 2, 2), &BOSS_P::InitializeSessionPrivileged, "InitializeSessionPrivileged"},
{IPC::MakeHeader(0x0404, 2, 0), &BOSS_P::GetAppNewFlag, "GetAppNewFlag"},
{IPC::MakeHeader(0x040D, 6, 2), &BOSS_P::GetNsDataIdListPrivileged, "GetNsDataIdListPrivileged"},
{IPC::MakeHeader(0x040E, 6, 2), &BOSS_P::GetNsDataIdListPrivileged1, "GetNsDataIdListPrivileged1"},
{IPC::MakeHeader(0x0413, 2, 2), &BOSS_P::SendPropertyPrivileged, "SendPropertyPrivileged"},
{IPC::MakeHeader(0x0415, 3, 0), &BOSS_P::DeleteNsDataPrivileged, "DeleteNsDataPrivileged"},
{IPC::MakeHeader(0x0416, 5, 2), &BOSS_P::GetNsDataHeaderInfoPrivileged, "GetNsDataHeaderInfoPrivileged"},
{IPC::MakeHeader(0x0417, 6, 2), &BOSS_P::ReadNsDataPrivileged, "ReadNsDataPrivileged"},
{IPC::MakeHeader(0x041A, 4, 0), &BOSS_P::SetNsDataNewFlagPrivileged, "SetNsDataNewFlagPrivileged"},
{IPC::MakeHeader(0x041B, 3, 0), &BOSS_P::GetNsDataNewFlagPrivileged, "GetNsDataNewFlagPrivileged"},
{0x0401, &BOSS_P::InitializeSessionPrivileged, "InitializeSessionPrivileged"},
{0x0404, &BOSS_P::GetAppNewFlag, "GetAppNewFlag"},
{0x040D, &BOSS_P::GetNsDataIdListPrivileged, "GetNsDataIdListPrivileged"},
{0x040E, &BOSS_P::GetNsDataIdListPrivileged1, "GetNsDataIdListPrivileged1"},
{0x0413, &BOSS_P::SendPropertyPrivileged, "SendPropertyPrivileged"},
{0x0415, &BOSS_P::DeleteNsDataPrivileged, "DeleteNsDataPrivileged"},
{0x0416, &BOSS_P::GetNsDataHeaderInfoPrivileged, "GetNsDataHeaderInfoPrivileged"},
{0x0417, &BOSS_P::ReadNsDataPrivileged, "ReadNsDataPrivileged"},
{0x041A, &BOSS_P::SetNsDataNewFlagPrivileged, "SetNsDataNewFlagPrivileged"},
{0x041B, &BOSS_P::GetNsDataNewFlagPrivileged, "GetNsDataNewFlagPrivileged"},
// clang-format on
};

View File

@@ -11,61 +11,61 @@ BOSS_U::BOSS_U(std::shared_ptr<Module> boss)
: Module::Interface(std::move(boss), "boss:U", DefaultMaxSessions) {
static const FunctionInfo functions[] = {
// clang-format off
{IPC::MakeHeader(0x0001, 2, 2), &BOSS_U::InitializeSession, "InitializeSession"},
{IPC::MakeHeader(0x0002, 4, 0), &BOSS_U::SetStorageInfo, "SetStorageInfo"},
{IPC::MakeHeader(0x0003, 0, 0), &BOSS_U::UnregisterStorage, "UnregisterStorage"},
{IPC::MakeHeader(0x0004, 0, 0), &BOSS_U::GetStorageInfo, "GetStorageInfo"},
{IPC::MakeHeader(0x0005, 1, 2), &BOSS_U::RegisterPrivateRootCa, "RegisterPrivateRootCa"},
{IPC::MakeHeader(0x0006, 2, 4), &BOSS_U::RegisterPrivateClientCert, "RegisterPrivateClientCert"},
{IPC::MakeHeader(0x0007, 0, 0), &BOSS_U::GetNewArrivalFlag, "GetNewArrivalFlag"},
{IPC::MakeHeader(0x0008, 0, 2), &BOSS_U::RegisterNewArrivalEvent, "RegisterNewArrivalEvent"},
{IPC::MakeHeader(0x0009, 1, 0), &BOSS_U::SetOptoutFlag, "SetOptoutFlag"},
{IPC::MakeHeader(0x000A, 0, 0), &BOSS_U::GetOptoutFlag, "GetOptoutFlag"},
{IPC::MakeHeader(0x000B, 3, 2), &BOSS_U::RegisterTask, "RegisterTask"},
{IPC::MakeHeader(0x000C, 2, 2), &BOSS_U::UnregisterTask, "UnregisterTask"},
{IPC::MakeHeader(0x000D, 2, 2), &BOSS_U::ReconfigureTask, "ReconfigureTask"},
{IPC::MakeHeader(0x000E, 0, 0), &BOSS_U::GetTaskIdList, "GetTaskIdList"},
{IPC::MakeHeader(0x000F, 1, 2), &BOSS_U::GetStepIdList, "GetStepIdList"},
{IPC::MakeHeader(0x0010, 4, 2), &BOSS_U::GetNsDataIdList, "GetNsDataIdList"},
{IPC::MakeHeader(0x0011, 4, 2), &BOSS_U::GetNsDataIdList1, "GetNsDataIdList1"},
{IPC::MakeHeader(0x0012, 4, 2), &BOSS_U::GetNsDataIdList2, "GetNsDataIdList2"},
{IPC::MakeHeader(0x0013, 4, 2), &BOSS_U::GetNsDataIdList3, "GetNsDataIdList3"},
{IPC::MakeHeader(0x0014, 2, 2), &BOSS_U::SendProperty, "SendProperty"},
{IPC::MakeHeader(0x0015, 1, 2), &BOSS_U::SendPropertyHandle, "SendPropertyHandle"},
{IPC::MakeHeader(0x0016, 2, 2), &BOSS_U::ReceiveProperty, "ReceiveProperty"},
{IPC::MakeHeader(0x0017, 2, 2), &BOSS_U::UpdateTaskInterval, "UpdateTaskInterval"},
{IPC::MakeHeader(0x0018, 2, 2), &BOSS_U::UpdateTaskCount, "UpdateTaskCount"},
{IPC::MakeHeader(0x0019, 1, 2), &BOSS_U::GetTaskInterval, "GetTaskInterval"},
{IPC::MakeHeader(0x001A, 1, 2), &BOSS_U::GetTaskCount, "GetTaskCount"},
{IPC::MakeHeader(0x001B, 1, 2), &BOSS_U::GetTaskServiceStatus, "GetTaskServiceStatus"},
{IPC::MakeHeader(0x001C, 1, 2), &BOSS_U::StartTask, "StartTask"},
{IPC::MakeHeader(0x001D, 1, 2), &BOSS_U::StartTaskImmediate, "StartTaskImmediate"},
{IPC::MakeHeader(0x001E, 1, 2), &BOSS_U::CancelTask, "CancelTask"},
{IPC::MakeHeader(0x001F, 0, 0), &BOSS_U::GetTaskFinishHandle, "GetTaskFinishHandle"},
{IPC::MakeHeader(0x0020, 2, 2), &BOSS_U::GetTaskState, "GetTaskState"},
{IPC::MakeHeader(0x0021, 1, 2), &BOSS_U::GetTaskResult, "GetTaskResult"},
{IPC::MakeHeader(0x0022, 1, 2), &BOSS_U::GetTaskCommErrorCode, "GetTaskCommErrorCode"},
{IPC::MakeHeader(0x0023, 3, 2), &BOSS_U::GetTaskStatus, "GetTaskStatus"},
{IPC::MakeHeader(0x0024, 2, 2), &BOSS_U::GetTaskError, "GetTaskError"},
{IPC::MakeHeader(0x0025, 2, 2), &BOSS_U::GetTaskInfo, "GetTaskInfo"},
{IPC::MakeHeader(0x0026, 1, 0), &BOSS_U::DeleteNsData, "DeleteNsData"},
{IPC::MakeHeader(0x0027, 3, 2), &BOSS_U::GetNsDataHeaderInfo, "GetNsDataHeaderInfo"},
{IPC::MakeHeader(0x0028, 4, 2), &BOSS_U::ReadNsData, "ReadNsData"},
{IPC::MakeHeader(0x0029, 2, 0), &BOSS_U::SetNsDataAdditionalInfo, "SetNsDataAdditionalInfo"},
{IPC::MakeHeader(0x002A, 1, 0), &BOSS_U::GetNsDataAdditionalInfo, "GetNsDataAdditionalInfo"},
{IPC::MakeHeader(0x002B, 2, 0), &BOSS_U::SetNsDataNewFlag, "SetNsDataNewFlag"},
{IPC::MakeHeader(0x002C, 1, 0), &BOSS_U::GetNsDataNewFlag, "GetNsDataNewFlag"},
{IPC::MakeHeader(0x002D, 1, 0), &BOSS_U::GetNsDataLastUpdate, "GetNsDataLastUpdate"},
{IPC::MakeHeader(0x002E, 1, 0), &BOSS_U::GetErrorCode, "GetErrorCode"},
{IPC::MakeHeader(0x002F, 5, 0), &BOSS_U::RegisterStorageEntry, "RegisterStorageEntry"},
{IPC::MakeHeader(0x0030, 0, 0), &BOSS_U::GetStorageEntryInfo, "GetStorageEntryInfo"},
{IPC::MakeHeader(0x0031, 4, 0), &BOSS_U::SetStorageOption, "SetStorageOption"},
{IPC::MakeHeader(0x0032, 0, 0), &BOSS_U::GetStorageOption, "GetStorageOption"},
{IPC::MakeHeader(0x0033, 1, 2), &BOSS_U::StartBgImmediate, "StartBgImmediate"},
{IPC::MakeHeader(0x0034, 1, 2), &BOSS_U::GetTaskProperty0, "GetTaskProperty0"},
{IPC::MakeHeader(0x0035, 3, 2), &BOSS_U::RegisterImmediateTask, "RegisterImmediateTask"},
{IPC::MakeHeader(0x0036, 2, 4), &BOSS_U::SetTaskQuery, "SetTaskQuery"},
{IPC::MakeHeader(0x0037, 2, 4), &BOSS_U::GetTaskQuery, "GetTaskQuery"},
{0x0001, &BOSS_U::InitializeSession, "InitializeSession"},
{0x0002, &BOSS_U::SetStorageInfo, "SetStorageInfo"},
{0x0003, &BOSS_U::UnregisterStorage, "UnregisterStorage"},
{0x0004, &BOSS_U::GetStorageInfo, "GetStorageInfo"},
{0x0005, &BOSS_U::RegisterPrivateRootCa, "RegisterPrivateRootCa"},
{0x0006, &BOSS_U::RegisterPrivateClientCert, "RegisterPrivateClientCert"},
{0x0007, &BOSS_U::GetNewArrivalFlag, "GetNewArrivalFlag"},
{0x0008, &BOSS_U::RegisterNewArrivalEvent, "RegisterNewArrivalEvent"},
{0x0009, &BOSS_U::SetOptoutFlag, "SetOptoutFlag"},
{0x000A, &BOSS_U::GetOptoutFlag, "GetOptoutFlag"},
{0x000B, &BOSS_U::RegisterTask, "RegisterTask"},
{0x000C, &BOSS_U::UnregisterTask, "UnregisterTask"},
{0x000D, &BOSS_U::ReconfigureTask, "ReconfigureTask"},
{0x000E, &BOSS_U::GetTaskIdList, "GetTaskIdList"},
{0x000F, &BOSS_U::GetStepIdList, "GetStepIdList"},
{0x0010, &BOSS_U::GetNsDataIdList, "GetNsDataIdList"},
{0x0011, &BOSS_U::GetNsDataIdList1, "GetNsDataIdList1"},
{0x0012, &BOSS_U::GetNsDataIdList2, "GetNsDataIdList2"},
{0x0013, &BOSS_U::GetNsDataIdList3, "GetNsDataIdList3"},
{0x0014, &BOSS_U::SendProperty, "SendProperty"},
{0x0015, &BOSS_U::SendPropertyHandle, "SendPropertyHandle"},
{0x0016, &BOSS_U::ReceiveProperty, "ReceiveProperty"},
{0x0017, &BOSS_U::UpdateTaskInterval, "UpdateTaskInterval"},
{0x0018, &BOSS_U::UpdateTaskCount, "UpdateTaskCount"},
{0x0019, &BOSS_U::GetTaskInterval, "GetTaskInterval"},
{0x001A, &BOSS_U::GetTaskCount, "GetTaskCount"},
{0x001B, &BOSS_U::GetTaskServiceStatus, "GetTaskServiceStatus"},
{0x001C, &BOSS_U::StartTask, "StartTask"},
{0x001D, &BOSS_U::StartTaskImmediate, "StartTaskImmediate"},
{0x001E, &BOSS_U::CancelTask, "CancelTask"},
{0x001F, &BOSS_U::GetTaskFinishHandle, "GetTaskFinishHandle"},
{0x0020, &BOSS_U::GetTaskState, "GetTaskState"},
{0x0021, &BOSS_U::GetTaskResult, "GetTaskResult"},
{0x0022, &BOSS_U::GetTaskCommErrorCode, "GetTaskCommErrorCode"},
{0x0023, &BOSS_U::GetTaskStatus, "GetTaskStatus"},
{0x0024, &BOSS_U::GetTaskError, "GetTaskError"},
{0x0025, &BOSS_U::GetTaskInfo, "GetTaskInfo"},
{0x0026, &BOSS_U::DeleteNsData, "DeleteNsData"},
{0x0027, &BOSS_U::GetNsDataHeaderInfo, "GetNsDataHeaderInfo"},
{0x0028, &BOSS_U::ReadNsData, "ReadNsData"},
{0x0029, &BOSS_U::SetNsDataAdditionalInfo, "SetNsDataAdditionalInfo"},
{0x002A, &BOSS_U::GetNsDataAdditionalInfo, "GetNsDataAdditionalInfo"},
{0x002B, &BOSS_U::SetNsDataNewFlag, "SetNsDataNewFlag"},
{0x002C, &BOSS_U::GetNsDataNewFlag, "GetNsDataNewFlag"},
{0x002D, &BOSS_U::GetNsDataLastUpdate, "GetNsDataLastUpdate"},
{0x002E, &BOSS_U::GetErrorCode, "GetErrorCode"},
{0x002F, &BOSS_U::RegisterStorageEntry, "RegisterStorageEntry"},
{0x0030, &BOSS_U::GetStorageEntryInfo, "GetStorageEntryInfo"},
{0x0031, &BOSS_U::SetStorageOption, "SetStorageOption"},
{0x0032, &BOSS_U::GetStorageOption, "GetStorageOption"},
{0x0033, &BOSS_U::StartBgImmediate, "StartBgImmediate"},
{0x0034, &BOSS_U::GetTaskProperty0, "GetTaskProperty0"},
{0x0035, &BOSS_U::RegisterImmediateTask, "RegisterImmediateTask"},
{0x0036, &BOSS_U::SetTaskQuery, "SetTaskQuery"},
{0x0037, &BOSS_U::GetTaskQuery, "GetTaskQuery"},
// clang-format on
};