diff options
Diffstat (limited to '')
| -rw-r--r-- | src/core/arm/unicorn/arm_unicorn.cpp | 3 | ||||
| -rw-r--r-- | src/core/hle/kernel/svc.cpp | 12 | ||||
| -rw-r--r-- | src/core/hle/service/am/am.cpp | 41 | ||||
| -rw-r--r-- | src/core/hle/service/am/am.h | 8 | ||||
| -rw-r--r-- | src/core/hle/service/aoc/aoc_u.cpp | 9 | ||||
| -rw-r--r-- | src/core/hle/service/aoc/aoc_u.h | 1 | ||||
| -rw-r--r-- | src/core/hle/service/audio/audren_u.cpp | 4 | ||||
| -rw-r--r-- | src/core/hle/service/nifm/nifm.cpp | 32 | ||||
| -rw-r--r-- | src/core/hle/service/sockets/bsd_u.cpp | 10 | ||||
| -rw-r--r-- | src/core/hle/service/sockets/bsd_u.h | 1 |
10 files changed, 112 insertions, 9 deletions
diff --git a/src/core/arm/unicorn/arm_unicorn.cpp b/src/core/arm/unicorn/arm_unicorn.cpp index fd64eab39..5d2956bfd 100644 --- a/src/core/arm/unicorn/arm_unicorn.cpp +++ b/src/core/arm/unicorn/arm_unicorn.cpp | |||
| @@ -52,7 +52,8 @@ static bool UnmappedMemoryHook(uc_engine* uc, uc_mem_type type, u64 addr, int si | |||
| 52 | void* user_data) { | 52 | void* user_data) { |
| 53 | ARM_Interface::ThreadContext ctx{}; | 53 | ARM_Interface::ThreadContext ctx{}; |
| 54 | Core::CPU().SaveContext(ctx); | 54 | Core::CPU().SaveContext(ctx); |
| 55 | ASSERT_MSG(false, "Attempted to read from unmapped memory: 0x%llx", addr); | 55 | ASSERT_MSG(false, "Attempted to read from unmapped memory: 0x%llx, pc=0x%llx, lr=0x%llx", addr, |
| 56 | ctx.pc, ctx.cpu_registers[30]); | ||
| 56 | return {}; | 57 | return {}; |
| 57 | } | 58 | } |
| 58 | 59 | ||
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index cbd5b69aa..533787ce2 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp | |||
| @@ -761,6 +761,16 @@ static ResultCode CreateSharedMemory(Handle* handle, u64 size, u32 local_permiss | |||
| 761 | return RESULT_SUCCESS; | 761 | return RESULT_SUCCESS; |
| 762 | } | 762 | } |
| 763 | 763 | ||
| 764 | static ResultCode ClearEvent(Handle handle) { | ||
| 765 | LOG_TRACE(Kernel_SVC, "called, event=0xX", handle); | ||
| 766 | |||
| 767 | SharedPtr<Event> evt = g_handle_table.Get<Event>(handle); | ||
| 768 | if (evt == nullptr) | ||
| 769 | return ERR_INVALID_HANDLE; | ||
| 770 | evt->Clear(); | ||
| 771 | return RESULT_SUCCESS; | ||
| 772 | } | ||
| 773 | |||
| 764 | namespace { | 774 | namespace { |
| 765 | struct FunctionDef { | 775 | struct FunctionDef { |
| 766 | using Func = void(); | 776 | using Func = void(); |
| @@ -790,7 +800,7 @@ static const FunctionDef SVC_Table[] = { | |||
| 790 | {0x0F, SvcWrap<SetThreadCoreMask>, "SetThreadCoreMask"}, | 800 | {0x0F, SvcWrap<SetThreadCoreMask>, "SetThreadCoreMask"}, |
| 791 | {0x10, SvcWrap<GetCurrentProcessorNumber>, "GetCurrentProcessorNumber"}, | 801 | {0x10, SvcWrap<GetCurrentProcessorNumber>, "GetCurrentProcessorNumber"}, |
| 792 | {0x11, nullptr, "SignalEvent"}, | 802 | {0x11, nullptr, "SignalEvent"}, |
| 793 | {0x12, nullptr, "ClearEvent"}, | 803 | {0x12, SvcWrap<ClearEvent>, "ClearEvent"}, |
| 794 | {0x13, SvcWrap<MapSharedMemory>, "MapSharedMemory"}, | 804 | {0x13, SvcWrap<MapSharedMemory>, "MapSharedMemory"}, |
| 795 | {0x14, nullptr, "UnmapSharedMemory"}, | 805 | {0x14, nullptr, "UnmapSharedMemory"}, |
| 796 | {0x15, SvcWrap<CreateTransferMemory>, "CreateTransferMemory"}, | 806 | {0x15, SvcWrap<CreateTransferMemory>, "CreateTransferMemory"}, |
diff --git a/src/core/hle/service/am/am.cpp b/src/core/hle/service/am/am.cpp index 03305814f..d3a674cf6 100644 --- a/src/core/hle/service/am/am.cpp +++ b/src/core/hle/service/am/am.cpp | |||
| @@ -34,7 +34,38 @@ void IWindowController::AcquireForegroundRights(Kernel::HLERequestContext& ctx) | |||
| 34 | rb.Push(RESULT_SUCCESS); | 34 | rb.Push(RESULT_SUCCESS); |
| 35 | } | 35 | } |
| 36 | 36 | ||
| 37 | IAudioController::IAudioController() : ServiceFramework("IAudioController") {} | 37 | IAudioController::IAudioController() : ServiceFramework("IAudioController") { |
| 38 | static const FunctionInfo functions[] = { | ||
| 39 | {0, &IAudioController::SetExpectedMasterVolume, "SetExpectedMasterVolume"}, | ||
| 40 | {1, &IAudioController::GetMainAppletExpectedMasterVolume, | ||
| 41 | "GetMainAppletExpectedMasterVolume"}, | ||
| 42 | {2, &IAudioController::GetLibraryAppletExpectedMasterVolume, | ||
| 43 | "GetLibraryAppletExpectedMasterVolume"}, | ||
| 44 | {3, nullptr, "ChangeMainAppletMasterVolume"}, | ||
| 45 | {4, nullptr, "SetTransparentVolumeRate"}, | ||
| 46 | }; | ||
| 47 | RegisterHandlers(functions); | ||
| 48 | } | ||
| 49 | |||
| 50 | void IAudioController::SetExpectedMasterVolume(Kernel::HLERequestContext& ctx) { | ||
| 51 | LOG_WARNING(Service_AM, "(STUBBED) called"); | ||
| 52 | IPC::ResponseBuilder rb{ctx, 2}; | ||
| 53 | rb.Push(RESULT_SUCCESS); | ||
| 54 | } | ||
| 55 | |||
| 56 | void IAudioController::GetMainAppletExpectedMasterVolume(Kernel::HLERequestContext& ctx) { | ||
| 57 | LOG_WARNING(Service_AM, "(STUBBED) called"); | ||
| 58 | IPC::ResponseBuilder rb{ctx, 3}; | ||
| 59 | rb.Push(RESULT_SUCCESS); | ||
| 60 | rb.Push(volume); | ||
| 61 | } | ||
| 62 | |||
| 63 | void IAudioController::GetLibraryAppletExpectedMasterVolume(Kernel::HLERequestContext& ctx) { | ||
| 64 | LOG_WARNING(Service_AM, "(STUBBED) called"); | ||
| 65 | IPC::ResponseBuilder rb{ctx, 3}; | ||
| 66 | rb.Push(RESULT_SUCCESS); | ||
| 67 | rb.Push(volume); | ||
| 68 | } | ||
| 38 | 69 | ||
| 39 | IDisplayController::IDisplayController() : ServiceFramework("IDisplayController") {} | 70 | IDisplayController::IDisplayController() : ServiceFramework("IDisplayController") {} |
| 40 | 71 | ||
| @@ -46,6 +77,7 @@ ISelfController::ISelfController(std::shared_ptr<NVFlinger::NVFlinger> nvflinger | |||
| 46 | {1, &ISelfController::LockExit, "LockExit"}, | 77 | {1, &ISelfController::LockExit, "LockExit"}, |
| 47 | {2, &ISelfController::UnlockExit, "UnlockExit"}, | 78 | {2, &ISelfController::UnlockExit, "UnlockExit"}, |
| 48 | {9, &ISelfController::GetLibraryAppletLaunchableEvent, "GetLibraryAppletLaunchableEvent"}, | 79 | {9, &ISelfController::GetLibraryAppletLaunchableEvent, "GetLibraryAppletLaunchableEvent"}, |
| 80 | {10, &ISelfController::SetScreenShotPermission, "SetScreenShotPermission"}, | ||
| 49 | {11, &ISelfController::SetOperationModeChangedNotification, | 81 | {11, &ISelfController::SetOperationModeChangedNotification, |
| 50 | "SetOperationModeChangedNotification"}, | 82 | "SetOperationModeChangedNotification"}, |
| 51 | {12, &ISelfController::SetPerformanceModeChangedNotification, | 83 | {12, &ISelfController::SetPerformanceModeChangedNotification, |
| @@ -98,6 +130,13 @@ void ISelfController::SetPerformanceModeChangedNotification(Kernel::HLERequestCo | |||
| 98 | LOG_WARNING(Service_AM, "(STUBBED) called flag=%u", static_cast<u32>(flag)); | 130 | LOG_WARNING(Service_AM, "(STUBBED) called flag=%u", static_cast<u32>(flag)); |
| 99 | } | 131 | } |
| 100 | 132 | ||
| 133 | void ISelfController::SetScreenShotPermission(Kernel::HLERequestContext& ctx) { | ||
| 134 | IPC::ResponseBuilder rb{ctx, 2}; | ||
| 135 | rb.Push(RESULT_SUCCESS); | ||
| 136 | |||
| 137 | LOG_WARNING(Service_AM, "(STUBBED) called"); | ||
| 138 | } | ||
| 139 | |||
| 101 | void ISelfController::SetOperationModeChangedNotification(Kernel::HLERequestContext& ctx) { | 140 | void ISelfController::SetOperationModeChangedNotification(Kernel::HLERequestContext& ctx) { |
| 102 | IPC::RequestParser rp{ctx}; | 141 | IPC::RequestParser rp{ctx}; |
| 103 | 142 | ||
diff --git a/src/core/hle/service/am/am.h b/src/core/hle/service/am/am.h index 793ac6555..27dbd8c95 100644 --- a/src/core/hle/service/am/am.h +++ b/src/core/hle/service/am/am.h | |||
| @@ -36,6 +36,13 @@ private: | |||
| 36 | class IAudioController final : public ServiceFramework<IAudioController> { | 36 | class IAudioController final : public ServiceFramework<IAudioController> { |
| 37 | public: | 37 | public: |
| 38 | IAudioController(); | 38 | IAudioController(); |
| 39 | |||
| 40 | private: | ||
| 41 | void SetExpectedMasterVolume(Kernel::HLERequestContext& ctx); | ||
| 42 | void GetMainAppletExpectedMasterVolume(Kernel::HLERequestContext& ctx); | ||
| 43 | void GetLibraryAppletExpectedMasterVolume(Kernel::HLERequestContext& ctx); | ||
| 44 | |||
| 45 | u32 volume{100}; | ||
| 39 | }; | 46 | }; |
| 40 | 47 | ||
| 41 | class IDisplayController final : public ServiceFramework<IDisplayController> { | 48 | class IDisplayController final : public ServiceFramework<IDisplayController> { |
| @@ -62,6 +69,7 @@ private: | |||
| 62 | void UnlockExit(Kernel::HLERequestContext& ctx); | 69 | void UnlockExit(Kernel::HLERequestContext& ctx); |
| 63 | void GetLibraryAppletLaunchableEvent(Kernel::HLERequestContext& ctx); | 70 | void GetLibraryAppletLaunchableEvent(Kernel::HLERequestContext& ctx); |
| 64 | void CreateManagedDisplayLayer(Kernel::HLERequestContext& ctx); | 71 | void CreateManagedDisplayLayer(Kernel::HLERequestContext& ctx); |
| 72 | void SetScreenShotPermission(Kernel::HLERequestContext& ctx); | ||
| 65 | 73 | ||
| 66 | std::shared_ptr<NVFlinger::NVFlinger> nvflinger; | 74 | std::shared_ptr<NVFlinger::NVFlinger> nvflinger; |
| 67 | Kernel::SharedPtr<Kernel::Event> launchable_event; | 75 | Kernel::SharedPtr<Kernel::Event> launchable_event; |
diff --git a/src/core/hle/service/aoc/aoc_u.cpp b/src/core/hle/service/aoc/aoc_u.cpp index 430b2a7ad..8b55d2fcb 100644 --- a/src/core/hle/service/aoc/aoc_u.cpp +++ b/src/core/hle/service/aoc/aoc_u.cpp | |||
| @@ -13,7 +13,7 @@ AOC_U::AOC_U() : ServiceFramework("aoc:u") { | |||
| 13 | static const FunctionInfo functions[] = { | 13 | static const FunctionInfo functions[] = { |
| 14 | {0, nullptr, "CountAddOnContentByApplicationId"}, | 14 | {0, nullptr, "CountAddOnContentByApplicationId"}, |
| 15 | {1, nullptr, "ListAddOnContentByApplicationId"}, | 15 | {1, nullptr, "ListAddOnContentByApplicationId"}, |
| 16 | {2, nullptr, "CountAddOnContent"}, | 16 | {2, &AOC_U::CountAddOnContent, "CountAddOnContent"}, |
| 17 | {3, &AOC_U::ListAddOnContent, "ListAddOnContent"}, | 17 | {3, &AOC_U::ListAddOnContent, "ListAddOnContent"}, |
| 18 | {4, nullptr, "GetAddOnContentBaseIdByApplicationId"}, | 18 | {4, nullptr, "GetAddOnContentBaseIdByApplicationId"}, |
| 19 | {5, nullptr, "GetAddOnContentBaseId"}, | 19 | {5, nullptr, "GetAddOnContentBaseId"}, |
| @@ -23,6 +23,13 @@ AOC_U::AOC_U() : ServiceFramework("aoc:u") { | |||
| 23 | RegisterHandlers(functions); | 23 | RegisterHandlers(functions); |
| 24 | } | 24 | } |
| 25 | 25 | ||
| 26 | void AOC_U::CountAddOnContent(Kernel::HLERequestContext& ctx) { | ||
| 27 | IPC::ResponseBuilder rb{ctx, 4}; | ||
| 28 | rb.Push(RESULT_SUCCESS); | ||
| 29 | rb.Push<u64>(0); | ||
| 30 | LOG_WARNING(Service_AOC, "(STUBBED) called"); | ||
| 31 | } | ||
| 32 | |||
| 26 | void AOC_U::ListAddOnContent(Kernel::HLERequestContext& ctx) { | 33 | void AOC_U::ListAddOnContent(Kernel::HLERequestContext& ctx) { |
| 27 | IPC::ResponseBuilder rb{ctx, 4}; | 34 | IPC::ResponseBuilder rb{ctx, 4}; |
| 28 | rb.Push(RESULT_SUCCESS); | 35 | rb.Push(RESULT_SUCCESS); |
diff --git a/src/core/hle/service/aoc/aoc_u.h b/src/core/hle/service/aoc/aoc_u.h index 4d6720a9d..6e0ba15a5 100644 --- a/src/core/hle/service/aoc/aoc_u.h +++ b/src/core/hle/service/aoc/aoc_u.h | |||
| @@ -15,6 +15,7 @@ public: | |||
| 15 | ~AOC_U() = default; | 15 | ~AOC_U() = default; |
| 16 | 16 | ||
| 17 | private: | 17 | private: |
| 18 | void CountAddOnContent(Kernel::HLERequestContext& ctx); | ||
| 18 | void ListAddOnContent(Kernel::HLERequestContext& ctx); | 19 | void ListAddOnContent(Kernel::HLERequestContext& ctx); |
| 19 | }; | 20 | }; |
| 20 | 21 | ||
diff --git a/src/core/hle/service/audio/audren_u.cpp b/src/core/hle/service/audio/audren_u.cpp index 4efc789ac..dda135d18 100644 --- a/src/core/hle/service/audio/audren_u.cpp +++ b/src/core/hle/service/audio/audren_u.cpp | |||
| @@ -178,10 +178,10 @@ void AudRenU::GetAudioRendererWorkBufferSize(Kernel::HLERequestContext& ctx) { | |||
| 178 | } | 178 | } |
| 179 | 179 | ||
| 180 | void AudRenU::GetAudioRenderersProcessMasterVolume(Kernel::HLERequestContext& ctx) { | 180 | void AudRenU::GetAudioRenderersProcessMasterVolume(Kernel::HLERequestContext& ctx) { |
| 181 | IPC::ResponseBuilder rb{ctx, 2}; | 181 | IPC::ResponseBuilder rb{ctx, 3}; |
| 182 | 182 | ||
| 183 | rb.Push(RESULT_SUCCESS); | 183 | rb.Push(RESULT_SUCCESS); |
| 184 | 184 | rb.Push<u32>(100); | |
| 185 | LOG_WARNING(Service_Audio, "(STUBBED) called"); | 185 | LOG_WARNING(Service_Audio, "(STUBBED) called"); |
| 186 | } | 186 | } |
| 187 | 187 | ||
diff --git a/src/core/hle/service/nifm/nifm.cpp b/src/core/hle/service/nifm/nifm.cpp index 290a2ee74..e6f05eae5 100644 --- a/src/core/hle/service/nifm/nifm.cpp +++ b/src/core/hle/service/nifm/nifm.cpp | |||
| @@ -3,6 +3,7 @@ | |||
| 3 | // Refer to the license.txt file included. | 3 | // Refer to the license.txt file included. |
| 4 | 4 | ||
| 5 | #include "core/hle/ipc_helpers.h" | 5 | #include "core/hle/ipc_helpers.h" |
| 6 | #include "core/hle/kernel/event.h" | ||
| 6 | #include "core/hle/service/nifm/nifm.h" | 7 | #include "core/hle/service/nifm/nifm.h" |
| 7 | #include "core/hle/service/nifm/nifm_a.h" | 8 | #include "core/hle/service/nifm/nifm_a.h" |
| 8 | #include "core/hle/service/nifm/nifm_s.h" | 9 | #include "core/hle/service/nifm/nifm_s.h" |
| @@ -28,9 +29,9 @@ class IRequest final : public ServiceFramework<IRequest> { | |||
| 28 | public: | 29 | public: |
| 29 | explicit IRequest() : ServiceFramework("IRequest") { | 30 | explicit IRequest() : ServiceFramework("IRequest") { |
| 30 | static const FunctionInfo functions[] = { | 31 | static const FunctionInfo functions[] = { |
| 31 | {0, nullptr, "GetRequestState"}, | 32 | {0, &IRequest::GetRequestState, "GetRequestState"}, |
| 32 | {1, nullptr, "GetResult"}, | 33 | {1, &IRequest::GetResult, "GetResult"}, |
| 33 | {2, nullptr, "GetSystemEventReadableHandles"}, | 34 | {2, &IRequest::GetSystemEventReadableHandles, "GetSystemEventReadableHandles"}, |
| 34 | {3, nullptr, "Cancel"}, | 35 | {3, nullptr, "Cancel"}, |
| 35 | {4, nullptr, "Submit"}, | 36 | {4, nullptr, "Submit"}, |
| 36 | {5, nullptr, "SetRequirement"}, | 37 | {5, nullptr, "SetRequirement"}, |
| @@ -55,7 +56,32 @@ public: | |||
| 55 | {25, nullptr, "UnregisterSocketDescriptor"}, | 56 | {25, nullptr, "UnregisterSocketDescriptor"}, |
| 56 | }; | 57 | }; |
| 57 | RegisterHandlers(functions); | 58 | RegisterHandlers(functions); |
| 59 | |||
| 60 | event1 = Kernel::Event::Create(Kernel::ResetType::OneShot, "IRequest:Event1"); | ||
| 61 | event2 = Kernel::Event::Create(Kernel::ResetType::OneShot, "IRequest:Event2"); | ||
| 62 | } | ||
| 63 | |||
| 64 | private: | ||
| 65 | void GetRequestState(Kernel::HLERequestContext& ctx) { | ||
| 66 | LOG_WARNING(Service_NIFM, "(STUBBED) called"); | ||
| 67 | IPC::ResponseBuilder rb{ctx, 3}; | ||
| 68 | rb.Push(RESULT_SUCCESS); | ||
| 69 | rb.Push<u32>(0); | ||
| 58 | } | 70 | } |
| 71 | void GetResult(Kernel::HLERequestContext& ctx) { | ||
| 72 | LOG_WARNING(Service_NIFM, "(STUBBED) called"); | ||
| 73 | IPC::ResponseBuilder rb{ctx, 3}; | ||
| 74 | rb.Push(RESULT_SUCCESS); | ||
| 75 | rb.Push<u32>(0); | ||
| 76 | } | ||
| 77 | void GetSystemEventReadableHandles(Kernel::HLERequestContext& ctx) { | ||
| 78 | LOG_WARNING(Service_NIFM, "(STUBBED) called"); | ||
| 79 | IPC::ResponseBuilder rb{ctx, 2, 2}; | ||
| 80 | rb.Push(RESULT_SUCCESS); | ||
| 81 | rb.PushCopyObjects(event1, event2); | ||
| 82 | } | ||
| 83 | |||
| 84 | Kernel::SharedPtr<Kernel::Event> event1, event2; | ||
| 59 | }; | 85 | }; |
| 60 | 86 | ||
| 61 | class INetworkProfile final : public ServiceFramework<INetworkProfile> { | 87 | class INetworkProfile final : public ServiceFramework<INetworkProfile> { |
diff --git a/src/core/hle/service/sockets/bsd_u.cpp b/src/core/hle/service/sockets/bsd_u.cpp index 629ffb040..2ca1000ca 100644 --- a/src/core/hle/service/sockets/bsd_u.cpp +++ b/src/core/hle/service/sockets/bsd_u.cpp | |||
| @@ -17,6 +17,15 @@ void BSD_U::RegisterClient(Kernel::HLERequestContext& ctx) { | |||
| 17 | rb.Push<u32>(0); // bsd errno | 17 | rb.Push<u32>(0); // bsd errno |
| 18 | } | 18 | } |
| 19 | 19 | ||
| 20 | void BSD_U::StartMonitoring(Kernel::HLERequestContext& ctx) { | ||
| 21 | LOG_WARNING(Service, "(STUBBED) called"); | ||
| 22 | |||
| 23 | IPC::ResponseBuilder rb{ctx, 3}; | ||
| 24 | |||
| 25 | rb.Push(RESULT_SUCCESS); | ||
| 26 | rb.Push<u32>(0); // bsd errno | ||
| 27 | } | ||
| 28 | |||
| 20 | void BSD_U::Socket(Kernel::HLERequestContext& ctx) { | 29 | void BSD_U::Socket(Kernel::HLERequestContext& ctx) { |
| 21 | IPC::RequestParser rp{ctx}; | 30 | IPC::RequestParser rp{ctx}; |
| 22 | 31 | ||
| @@ -67,6 +76,7 @@ void BSD_U::Close(Kernel::HLERequestContext& ctx) { | |||
| 67 | 76 | ||
| 68 | BSD_U::BSD_U() : ServiceFramework("bsd:u") { | 77 | BSD_U::BSD_U() : ServiceFramework("bsd:u") { |
| 69 | static const FunctionInfo functions[] = {{0, &BSD_U::RegisterClient, "RegisterClient"}, | 78 | static const FunctionInfo functions[] = {{0, &BSD_U::RegisterClient, "RegisterClient"}, |
| 79 | {1, &BSD_U::StartMonitoring, "StartMonitoring"}, | ||
| 70 | {2, &BSD_U::Socket, "Socket"}, | 80 | {2, &BSD_U::Socket, "Socket"}, |
| 71 | {11, &BSD_U::SendTo, "SendTo"}, | 81 | {11, &BSD_U::SendTo, "SendTo"}, |
| 72 | {14, &BSD_U::Connect, "Connect"}, | 82 | {14, &BSD_U::Connect, "Connect"}, |
diff --git a/src/core/hle/service/sockets/bsd_u.h b/src/core/hle/service/sockets/bsd_u.h index fde08a22b..4e1252e9d 100644 --- a/src/core/hle/service/sockets/bsd_u.h +++ b/src/core/hle/service/sockets/bsd_u.h | |||
| @@ -17,6 +17,7 @@ public: | |||
| 17 | 17 | ||
| 18 | private: | 18 | private: |
| 19 | void RegisterClient(Kernel::HLERequestContext& ctx); | 19 | void RegisterClient(Kernel::HLERequestContext& ctx); |
| 20 | void StartMonitoring(Kernel::HLERequestContext& ctx); | ||
| 20 | void Socket(Kernel::HLERequestContext& ctx); | 21 | void Socket(Kernel::HLERequestContext& ctx); |
| 21 | void Connect(Kernel::HLERequestContext& ctx); | 22 | void Connect(Kernel::HLERequestContext& ctx); |
| 22 | void SendTo(Kernel::HLERequestContext& ctx); | 23 | void SendTo(Kernel::HLERequestContext& ctx); |