|
@@ -24,7 +24,7 @@ SFDNSRES::SFDNSRES(Core::System& system_) : ServiceFramework{system_, "sfdnsres"
|
|
|
{2, &SFDNSRES::GetHostByNameRequest, "GetHostByNameRequest"},
|
|
{2, &SFDNSRES::GetHostByNameRequest, "GetHostByNameRequest"},
|
|
|
{3, nullptr, "GetHostByAddrRequest"},
|
|
{3, nullptr, "GetHostByAddrRequest"},
|
|
|
{4, nullptr, "GetHostStringErrorRequest"},
|
|
{4, nullptr, "GetHostStringErrorRequest"},
|
|
|
- {5, nullptr, "GetGaiStringErrorRequest"},
|
|
|
|
|
|
|
+ {5, &SFDNSRES::GetGaiStringErrorRequest, "GetGaiStringErrorRequest"},
|
|
|
{6, &SFDNSRES::GetAddrInfoRequest, "GetAddrInfoRequest"},
|
|
{6, &SFDNSRES::GetAddrInfoRequest, "GetAddrInfoRequest"},
|
|
|
{7, nullptr, "GetNameInfoRequest"},
|
|
{7, nullptr, "GetNameInfoRequest"},
|
|
|
{8, nullptr, "RequestCancelHandleRequest"},
|
|
{8, nullptr, "RequestCancelHandleRequest"},
|
|
@@ -300,6 +300,20 @@ void SFDNSRES::GetAddrInfoRequest(HLERequestContext& ctx) {
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+void SFDNSRES::GetGaiStringErrorRequest(HLERequestContext& ctx) {
|
|
|
|
|
+ struct InputParameters {
|
|
|
|
|
+ GetAddrInfoError gai_errno;
|
|
|
|
|
+ };
|
|
|
|
|
+ IPC::RequestParser rp{ctx};
|
|
|
|
|
+ auto input = rp.PopRaw<InputParameters>();
|
|
|
|
|
+
|
|
|
|
|
+ const std::string result = Translate(input.gai_errno);
|
|
|
|
|
+ ctx.WriteBuffer(result);
|
|
|
|
|
+
|
|
|
|
|
+ IPC::ResponseBuilder rb{ctx, 2};
|
|
|
|
|
+ rb.Push(ResultSuccess);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
void SFDNSRES::GetAddrInfoRequestWithOptions(HLERequestContext& ctx) {
|
|
void SFDNSRES::GetAddrInfoRequestWithOptions(HLERequestContext& ctx) {
|
|
|
// Additional options are ignored
|
|
// Additional options are ignored
|
|
|
auto [data_size, emu_gai_err] = GetAddrInfoRequestImpl(ctx);
|
|
auto [data_size, emu_gai_err] = GetAddrInfoRequestImpl(ctx);
|