mirror of
https://github.com/PabloMK7/citra.git
synced 2025-09-12 05:40:04 +00:00
hle: Eliminate need to specify command headers for IPC. (#6678)
This commit is contained in:
parent
0bedb28bdc
commit
e043caac27
96 changed files with 2691 additions and 2707 deletions
|
@ -21,7 +21,7 @@
|
|||
|
||||
namespace Service::AC {
|
||||
void Module::Interface::CreateDefaultConfig(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x1, 0, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
|
||||
std::vector<u8> buffer(sizeof(ACConfig));
|
||||
std::memcpy(buffer.data(), &ac->default_config, buffer.size());
|
||||
|
@ -34,7 +34,7 @@ void Module::Interface::CreateDefaultConfig(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::ConnectAsync(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x4, 0, 6);
|
||||
IPC::RequestParser rp(ctx);
|
||||
|
||||
rp.Skip(2, false); // ProcessId descriptor
|
||||
ac->connect_event = rp.PopObject<Kernel::Event>();
|
||||
|
@ -53,7 +53,7 @@ void Module::Interface::ConnectAsync(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::GetConnectResult(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x5, 0, 2);
|
||||
IPC::RequestParser rp(ctx);
|
||||
rp.Skip(2, false); // ProcessId descriptor
|
||||
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
|
||||
|
@ -61,7 +61,7 @@ void Module::Interface::GetConnectResult(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::CloseAsync(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x8, 0, 4);
|
||||
IPC::RequestParser rp(ctx);
|
||||
rp.Skip(2, false); // ProcessId descriptor
|
||||
|
||||
ac->close_event = rp.PopObject<Kernel::Event>();
|
||||
|
@ -82,7 +82,7 @@ void Module::Interface::CloseAsync(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::GetCloseResult(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x9, 0, 2);
|
||||
IPC::RequestParser rp(ctx);
|
||||
rp.Skip(2, false); // ProcessId descriptor
|
||||
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
|
||||
|
@ -92,7 +92,7 @@ void Module::Interface::GetCloseResult(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::GetWifiStatus(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0xD, 0, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
bool can_reach_internet = false;
|
||||
|
||||
std::shared_ptr<SOC::SOC_U> socu_module = SOC::GetService(Core::System::GetInstance());
|
||||
|
@ -109,7 +109,7 @@ void Module::Interface::GetWifiStatus(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::GetInfraPriority(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x27, 0, 2);
|
||||
IPC::RequestParser rp(ctx);
|
||||
[[maybe_unused]] const std::vector<u8>& ac_config = rp.PopStaticBuffer();
|
||||
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(2, 0);
|
||||
|
@ -120,7 +120,7 @@ void Module::Interface::GetInfraPriority(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::SetRequestEulaVersion(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x2D, 2, 2);
|
||||
IPC::RequestParser rp(ctx);
|
||||
|
||||
u32 major = rp.Pop<u8>();
|
||||
u32 minor = rp.Pop<u8>();
|
||||
|
@ -137,7 +137,7 @@ void Module::Interface::SetRequestEulaVersion(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::RegisterDisconnectEvent(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x30, 0, 4);
|
||||
IPC::RequestParser rp(ctx);
|
||||
rp.Skip(2, false); // ProcessId descriptor
|
||||
|
||||
ac->disconnect_event = rp.PopObject<Kernel::Event>();
|
||||
|
@ -152,7 +152,7 @@ void Module::Interface::RegisterDisconnectEvent(Kernel::HLERequestContext& ctx)
|
|||
}
|
||||
|
||||
void Module::Interface::IsConnected(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x3E, 1, 2);
|
||||
IPC::RequestParser rp(ctx);
|
||||
u32 unk = rp.Pop<u32>();
|
||||
u32 unk_descriptor = rp.Pop<u32>();
|
||||
u32 unk_param = rp.Pop<u32>();
|
||||
|
@ -166,7 +166,7 @@ void Module::Interface::IsConnected(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::SetClientVersion(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x40, 1, 2);
|
||||
IPC::RequestParser rp(ctx);
|
||||
|
||||
u32 version = rp.Pop<u32>();
|
||||
rp.Skip(2, false); // ProcessId descriptor
|
||||
|
|
|
@ -10,26 +10,26 @@ namespace Service::AC {
|
|||
AC_I::AC_I(std::shared_ptr<Module> ac) : Module::Interface(std::move(ac), "ac:i", 10) {
|
||||
static const FunctionInfo functions[] = {
|
||||
// clang-format off
|
||||
{IPC::MakeHeader(0x0001, 0, 0), &AC_I::CreateDefaultConfig, "CreateDefaultConfig"},
|
||||
{IPC::MakeHeader(0x0004, 0, 6), &AC_I::ConnectAsync, "ConnectAsync"},
|
||||
{IPC::MakeHeader(0x0005, 0, 2), &AC_I::GetConnectResult, "GetConnectResult"},
|
||||
{IPC::MakeHeader(0x0007, 0, 2), nullptr, "CancelConnectAsync"},
|
||||
{IPC::MakeHeader(0x0008, 0, 4), &AC_I::CloseAsync, "CloseAsync"},
|
||||
{IPC::MakeHeader(0x0009, 0, 2), &AC_I::GetCloseResult, "GetCloseResult"},
|
||||
{IPC::MakeHeader(0x000A, 0, 0), nullptr, "GetLastErrorCode"},
|
||||
{IPC::MakeHeader(0x000C, 0, 0), nullptr, "GetStatus"},
|
||||
{IPC::MakeHeader(0x000D, 0, 0), &AC_I::GetWifiStatus, "GetWifiStatus"},
|
||||
{IPC::MakeHeader(0x000E, 1, 2), nullptr, "GetCurrentAPInfo"},
|
||||
{IPC::MakeHeader(0x0010, 1, 2), nullptr, "GetCurrentNZoneInfo"},
|
||||
{IPC::MakeHeader(0x0011, 1, 2), nullptr, "GetNZoneApNumService"},
|
||||
{IPC::MakeHeader(0x001D, 1, 2), nullptr, "ScanAPs"},
|
||||
{IPC::MakeHeader(0x0024, 1, 2), nullptr, "AddDenyApType"},
|
||||
{IPC::MakeHeader(0x0027, 0, 2), &AC_I::GetInfraPriority, "GetInfraPriority"},
|
||||
{IPC::MakeHeader(0x002D, 2, 2), &AC_I::SetRequestEulaVersion, "SetRequestEulaVersion"},
|
||||
{IPC::MakeHeader(0x0030, 0, 4), &AC_I::RegisterDisconnectEvent, "RegisterDisconnectEvent"},
|
||||
{IPC::MakeHeader(0x003C, 1, 2), nullptr, "GetAPSSIDList"},
|
||||
{IPC::MakeHeader(0x003E, 1, 2), &AC_I::IsConnected, "IsConnected"},
|
||||
{IPC::MakeHeader(0x0040, 1, 2), &AC_I::SetClientVersion, "SetClientVersion"},
|
||||
{0x0001, &AC_I::CreateDefaultConfig, "CreateDefaultConfig"},
|
||||
{0x0004, &AC_I::ConnectAsync, "ConnectAsync"},
|
||||
{0x0005, &AC_I::GetConnectResult, "GetConnectResult"},
|
||||
{0x0007, nullptr, "CancelConnectAsync"},
|
||||
{0x0008, &AC_I::CloseAsync, "CloseAsync"},
|
||||
{0x0009, &AC_I::GetCloseResult, "GetCloseResult"},
|
||||
{0x000A, nullptr, "GetLastErrorCode"},
|
||||
{0x000C, nullptr, "GetStatus"},
|
||||
{0x000D, &AC_I::GetWifiStatus, "GetWifiStatus"},
|
||||
{0x000E, nullptr, "GetCurrentAPInfo"},
|
||||
{0x0010, nullptr, "GetCurrentNZoneInfo"},
|
||||
{0x0011, nullptr, "GetNZoneApNumService"},
|
||||
{0x001D, nullptr, "ScanAPs"},
|
||||
{0x0024, nullptr, "AddDenyApType"},
|
||||
{0x0027, &AC_I::GetInfraPriority, "GetInfraPriority"},
|
||||
{0x002D, &AC_I::SetRequestEulaVersion, "SetRequestEulaVersion"},
|
||||
{0x0030, &AC_I::RegisterDisconnectEvent, "RegisterDisconnectEvent"},
|
||||
{0x003C, nullptr, "GetAPSSIDList"},
|
||||
{0x003E, &AC_I::IsConnected, "IsConnected"},
|
||||
{0x0040, &AC_I::SetClientVersion, "SetClientVersion"},
|
||||
// clang-format on
|
||||
};
|
||||
RegisterHandlers(functions);
|
||||
|
|
|
@ -10,26 +10,26 @@ namespace Service::AC {
|
|||
AC_U::AC_U(std::shared_ptr<Module> ac) : Module::Interface(std::move(ac), "ac:u", 10) {
|
||||
static const FunctionInfo functions[] = {
|
||||
// clang-format off
|
||||
{IPC::MakeHeader(0x0001, 0, 0), &AC_U::CreateDefaultConfig, "CreateDefaultConfig"},
|
||||
{IPC::MakeHeader(0x0004, 0, 6), &AC_U::ConnectAsync, "ConnectAsync"},
|
||||
{IPC::MakeHeader(0x0005, 0, 2), &AC_U::GetConnectResult, "GetConnectResult"},
|
||||
{IPC::MakeHeader(0x0007, 0, 2), nullptr, "CancelConnectAsync"},
|
||||
{IPC::MakeHeader(0x0008, 0, 4), &AC_U::CloseAsync, "CloseAsync"},
|
||||
{IPC::MakeHeader(0x0009, 0, 2), &AC_U::GetCloseResult, "GetCloseResult"},
|
||||
{IPC::MakeHeader(0x000A, 0, 0), nullptr, "GetLastErrorCode"},
|
||||
{IPC::MakeHeader(0x000C, 0, 0), nullptr, "GetStatus"},
|
||||
{IPC::MakeHeader(0x000D, 0, 0), &AC_U::GetWifiStatus, "GetWifiStatus"},
|
||||
{IPC::MakeHeader(0x000E, 1, 2), nullptr, "GetCurrentAPInfo"},
|
||||
{IPC::MakeHeader(0x0010, 1, 2), nullptr, "GetCurrentNZoneInfo"},
|
||||
{IPC::MakeHeader(0x0011, 1, 2), nullptr, "GetNZoneApNumService"},
|
||||
{IPC::MakeHeader(0x001D, 1, 2), nullptr, "ScanAPs"},
|
||||
{IPC::MakeHeader(0x0024, 1, 2), nullptr, "AddDenyApType"},
|
||||
{IPC::MakeHeader(0x0027, 0, 2), &AC_U::GetInfraPriority, "GetInfraPriority"},
|
||||
{IPC::MakeHeader(0x002D, 2, 2), &AC_U::SetRequestEulaVersion, "SetRequestEulaVersion"},
|
||||
{IPC::MakeHeader(0x0030, 0, 4), &AC_U::RegisterDisconnectEvent, "RegisterDisconnectEvent"},
|
||||
{IPC::MakeHeader(0x003C, 1, 2), nullptr, "GetAPSSIDList"},
|
||||
{IPC::MakeHeader(0x003E, 1, 2), &AC_U::IsConnected, "IsConnected"},
|
||||
{IPC::MakeHeader(0x0040, 1, 2), &AC_U::SetClientVersion, "SetClientVersion"},
|
||||
{0x0001, &AC_U::CreateDefaultConfig, "CreateDefaultConfig"},
|
||||
{0x0004, &AC_U::ConnectAsync, "ConnectAsync"},
|
||||
{0x0005, &AC_U::GetConnectResult, "GetConnectResult"},
|
||||
{0x0007, nullptr, "CancelConnectAsync"},
|
||||
{0x0008, &AC_U::CloseAsync, "CloseAsync"},
|
||||
{0x0009, &AC_U::GetCloseResult, "GetCloseResult"},
|
||||
{0x000A, nullptr, "GetLastErrorCode"},
|
||||
{0x000C, nullptr, "GetStatus"},
|
||||
{0x000D, &AC_U::GetWifiStatus, "GetWifiStatus"},
|
||||
{0x000E, nullptr, "GetCurrentAPInfo"},
|
||||
{0x0010, nullptr, "GetCurrentNZoneInfo"},
|
||||
{0x0011, nullptr, "GetNZoneApNumService"},
|
||||
{0x001D, nullptr, "ScanAPs"},
|
||||
{0x0024, nullptr, "AddDenyApType"},
|
||||
{0x0027, &AC_U::GetInfraPriority, "GetInfraPriority"},
|
||||
{0x002D, &AC_U::SetRequestEulaVersion, "SetRequestEulaVersion"},
|
||||
{0x0030, &AC_U::RegisterDisconnectEvent, "RegisterDisconnectEvent"},
|
||||
{0x003C, nullptr, "GetAPSSIDList"},
|
||||
{0x003E, &AC_U::IsConnected, "IsConnected"},
|
||||
{0x0040, &AC_U::SetClientVersion, "SetClientVersion"},
|
||||
// clang-format on
|
||||
};
|
||||
RegisterHandlers(functions);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue