diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/CMakeLists.txt | 16 | ||||
| -rw-r--r-- | src/core/hle/service/ac_u.cpp | 44 | ||||
| -rw-r--r-- | src/core/hle/service/ac_u.h | 29 | ||||
| -rw-r--r-- | src/core/hle/service/cfg_u.cpp | 36 | ||||
| -rw-r--r-- | src/core/hle/service/cfg_u.h | 27 | ||||
| -rw-r--r-- | src/core/hle/service/dsp_dsp.cpp | 52 | ||||
| -rw-r--r-- | src/core/hle/service/dsp_dsp.h | 27 | ||||
| -rw-r--r-- | src/core/hle/service/mic_u.cpp | 43 | ||||
| -rw-r--r-- | src/core/hle/service/mic_u.h | 29 | ||||
| -rw-r--r-- | src/core/hle/service/nwm_uds.cpp | 35 | ||||
| -rw-r--r-- | src/core/hle/service/nwm_uds.h | 29 | ||||
| -rw-r--r-- | src/core/hle/service/ptm_u.cpp | 42 | ||||
| -rw-r--r-- | src/core/hle/service/ptm_u.h | 29 | ||||
| -rw-r--r-- | src/core/hle/service/service.cpp | 16 | ||||
| -rw-r--r-- | src/core/hle/service/soc_u.cpp | 58 | ||||
| -rw-r--r-- | src/core/hle/service/soc_u.h | 27 | ||||
| -rw-r--r-- | src/core/hle/service/ssl_c.cpp | 31 | ||||
| -rw-r--r-- | src/core/hle/service/ssl_c.h | 27 |
18 files changed, 597 insertions, 0 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 947ccd788..b1ebd942f 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt | |||
| @@ -30,13 +30,21 @@ set(SRCS | |||
| 30 | hle/kernel/mutex.cpp | 30 | hle/kernel/mutex.cpp |
| 31 | hle/kernel/shared_memory.cpp | 31 | hle/kernel/shared_memory.cpp |
| 32 | hle/kernel/thread.cpp | 32 | hle/kernel/thread.cpp |
| 33 | hle/service/ac_u.cpp | ||
| 33 | hle/service/apt_u.cpp | 34 | hle/service/apt_u.cpp |
| 35 | hle/service/cfg_u.cpp | ||
| 36 | hle/service/dsp_dsp.cpp | ||
| 34 | hle/service/fs_user.cpp | 37 | hle/service/fs_user.cpp |
| 35 | hle/service/gsp_gpu.cpp | 38 | hle/service/gsp_gpu.cpp |
| 36 | hle/service/hid_user.cpp | 39 | hle/service/hid_user.cpp |
| 40 | hle/service/mic_u.cpp | ||
| 37 | hle/service/ndm_u.cpp | 41 | hle/service/ndm_u.cpp |
| 42 | hle/service/nwm_uds.cpp | ||
| 43 | hle/service/ptm_u.cpp | ||
| 38 | hle/service/service.cpp | 44 | hle/service/service.cpp |
| 45 | hle/service/soc_u.cpp | ||
| 39 | hle/service/srv.cpp | 46 | hle/service/srv.cpp |
| 47 | hle/service/ssl_c.cpp | ||
| 40 | hle/config_mem.cpp | 48 | hle/config_mem.cpp |
| 41 | hle/hle.cpp | 49 | hle/hle.cpp |
| 42 | hle/svc.cpp | 50 | hle/svc.cpp |
| @@ -91,13 +99,21 @@ set(HEADERS | |||
| 91 | hle/kernel/mutex.h | 99 | hle/kernel/mutex.h |
| 92 | hle/kernel/shared_memory.h | 100 | hle/kernel/shared_memory.h |
| 93 | hle/kernel/thread.h | 101 | hle/kernel/thread.h |
| 102 | hle/service/ac_u.h | ||
| 94 | hle/service/apt_u.h | 103 | hle/service/apt_u.h |
| 104 | hle/service/cfg_u.h | ||
| 105 | hle/service/dsp_dsp.h | ||
| 95 | hle/service/fs_user.h | 106 | hle/service/fs_user.h |
| 96 | hle/service/gsp_gpu.h | 107 | hle/service/gsp_gpu.h |
| 97 | hle/service/hid_user.h | 108 | hle/service/hid_user.h |
| 109 | hle/service/mic_u.h | ||
| 98 | hle/service/ndm_u.h | 110 | hle/service/ndm_u.h |
| 111 | hle/service/nwm_uds.h | ||
| 112 | hle/service/ptm_u.h | ||
| 99 | hle/service/service.h | 113 | hle/service/service.h |
| 114 | hle/service/soc_u.h | ||
| 100 | hle/service/srv.h | 115 | hle/service/srv.h |
| 116 | hle/service/ssl_c.h | ||
| 101 | hle/config_mem.h | 117 | hle/config_mem.h |
| 102 | hle/function_wrappers.h | 118 | hle/function_wrappers.h |
| 103 | hle/hle.h | 119 | hle/hle.h |
diff --git a/src/core/hle/service/ac_u.cpp b/src/core/hle/service/ac_u.cpp new file mode 100644 index 000000000..b39603bdf --- /dev/null +++ b/src/core/hle/service/ac_u.cpp | |||
| @@ -0,0 +1,44 @@ | |||
| 1 | // Copyright 2014 Citra Emulator Project | ||
| 2 | // Licensed under GPLv2 | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #include "common/log.h" | ||
| 6 | #include "core/hle/hle.h" | ||
| 7 | #include "core/hle/service/ac_u.h" | ||
| 8 | |||
| 9 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 10 | // Namespace AC_U | ||
| 11 | |||
| 12 | namespace AC_U { | ||
| 13 | |||
| 14 | const Interface::FunctionInfo FunctionTable[] = { | ||
| 15 | {0x00010000, nullptr, "CreateDefaultConfig"}, | ||
| 16 | {0x00040006, nullptr, "ConnectAsync"}, | ||
| 17 | {0x00050002, nullptr, "GetConnectResult"}, | ||
| 18 | {0x00080004, nullptr, "CloseAsync"}, | ||
| 19 | {0x00090002, nullptr, "GetCloseResult"}, | ||
| 20 | {0x000A0000, nullptr, "GetLastErrorCode"}, | ||
| 21 | {0x000D0000, nullptr, "GetWifiStatus"}, | ||
| 22 | {0x000E0042, nullptr, "GetCurrentAPInfo"}, | ||
| 23 | {0x00100042, nullptr, "GetCurrentNZoneInfo"}, | ||
| 24 | {0x00110042, nullptr, "GetNZoneApNumService"}, | ||
| 25 | {0x00240042, nullptr, "AddDenyApType "}, | ||
| 26 | {0x00270002, nullptr, "GetInfraPriority "}, | ||
| 27 | {0x002D0082, nullptr, "SetRequestEulaVersion"}, | ||
| 28 | {0x00300004, nullptr, "RegisterDisconnectEvent"}, | ||
| 29 | {0x003C0042, nullptr, "GetAPSSIDList"}, | ||
| 30 | {0x003E0042, nullptr, "IsConnected "}, | ||
| 31 | {0x00400042, nullptr, "SetClientVersion"}, | ||
| 32 | }; | ||
| 33 | |||
| 34 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 35 | // Interface class | ||
| 36 | |||
| 37 | Interface::Interface() { | ||
| 38 | Register(FunctionTable, ARRAY_SIZE(FunctionTable)); | ||
| 39 | } | ||
| 40 | |||
| 41 | Interface::~Interface() { | ||
| 42 | } | ||
| 43 | |||
| 44 | } // namespace | ||
diff --git a/src/core/hle/service/ac_u.h b/src/core/hle/service/ac_u.h new file mode 100644 index 000000000..3c5958d27 --- /dev/null +++ b/src/core/hle/service/ac_u.h | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | // Copyright 2014 Citra Emulator Project | ||
| 2 | // Licensed under GPLv2 | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #pragma once | ||
| 6 | |||
| 7 | #include "core/hle/service/service.h" | ||
| 8 | |||
| 9 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 10 | // Namespace AC_U | ||
| 11 | |||
| 12 | // socket service "ac:u" | ||
| 13 | |||
| 14 | namespace AC_U { | ||
| 15 | |||
| 16 | class Interface : public Service::Interface { | ||
| 17 | public: | ||
| 18 | Interface(); | ||
| 19 | ~Interface(); | ||
| 20 | /** | ||
| 21 | * Gets the string port name used by CTROS for the service | ||
| 22 | * @return Port name of service | ||
| 23 | */ | ||
| 24 | std::string GetPortName() const { | ||
| 25 | return "ac:u"; | ||
| 26 | } | ||
| 27 | }; | ||
| 28 | |||
| 29 | } // namespace | ||
diff --git a/src/core/hle/service/cfg_u.cpp b/src/core/hle/service/cfg_u.cpp new file mode 100644 index 000000000..822b0e2b8 --- /dev/null +++ b/src/core/hle/service/cfg_u.cpp | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | // Copyright 2014 Citra Emulator Project | ||
| 2 | // Licensed under GPLv2 | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #include "common/log.h" | ||
| 6 | #include "core/hle/hle.h" | ||
| 7 | #include "core/hle/service/cfg_u.h" | ||
| 8 | |||
| 9 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 10 | // Namespace CFG_U | ||
| 11 | |||
| 12 | namespace CFG_U { | ||
| 13 | |||
| 14 | const Interface::FunctionInfo FunctionTable[] = { | ||
| 15 | {0x00010082, nullptr, "GetConfigInfoBlk2"}, | ||
| 16 | {0x00020000, nullptr, "SecureInfoGetRegion"}, | ||
| 17 | {0x00030000, nullptr, "GenHashConsoleUnique"}, | ||
| 18 | {0x00040000, nullptr, "GetRegionCanadaUSA"}, | ||
| 19 | {0x00050000, nullptr, "GetSystemModel"}, | ||
| 20 | {0x00060000, nullptr, "GetModelNintendo2DS"}, | ||
| 21 | {0x00070040, nullptr, "unknown"}, | ||
| 22 | {0x00080080, nullptr, "unknown"}, | ||
| 23 | {0x00090080, nullptr, "GetCountryCodeString"}, | ||
| 24 | {0x000A0040, nullptr, "GetCountryCodeID"}, | ||
| 25 | }; | ||
| 26 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 27 | // Interface class | ||
| 28 | |||
| 29 | Interface::Interface() { | ||
| 30 | Register(FunctionTable, ARRAY_SIZE(FunctionTable)); | ||
| 31 | } | ||
| 32 | |||
| 33 | Interface::~Interface() { | ||
| 34 | } | ||
| 35 | |||
| 36 | } // namespace | ||
diff --git a/src/core/hle/service/cfg_u.h b/src/core/hle/service/cfg_u.h new file mode 100644 index 000000000..7525bd7c6 --- /dev/null +++ b/src/core/hle/service/cfg_u.h | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | // Copyright 2014 Citra Emulator Project | ||
| 2 | // Licensed under GPLv2 | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #pragma once | ||
| 6 | |||
| 7 | #include "core/hle/service/service.h" | ||
| 8 | |||
| 9 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 10 | // Namespace CFG_U | ||
| 11 | |||
| 12 | namespace CFG_U { | ||
| 13 | |||
| 14 | class Interface : public Service::Interface { | ||
| 15 | public: | ||
| 16 | Interface(); | ||
| 17 | ~Interface(); | ||
| 18 | /** | ||
| 19 | * Gets the string port name used by CTROS for the service | ||
| 20 | * @return Port name of service | ||
| 21 | */ | ||
| 22 | std::string GetPortName() const { | ||
| 23 | return "cfg:u"; | ||
| 24 | } | ||
| 25 | }; | ||
| 26 | |||
| 27 | } // namespace | ||
diff --git a/src/core/hle/service/dsp_dsp.cpp b/src/core/hle/service/dsp_dsp.cpp new file mode 100644 index 000000000..9e84ac938 --- /dev/null +++ b/src/core/hle/service/dsp_dsp.cpp | |||
| @@ -0,0 +1,52 @@ | |||
| 1 | // Copyright 2014 Citra Emulator Project | ||
| 2 | // Licensed under GPLv2 | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #include "common/log.h" | ||
| 6 | #include "core/hle/hle.h" | ||
| 7 | #include "core/hle/service/dsp_dsp.h" | ||
| 8 | |||
| 9 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 10 | // Namespace DSP_DSP | ||
| 11 | |||
| 12 | namespace DSP_DSP { | ||
| 13 | |||
| 14 | const Interface::FunctionInfo FunctionTable[] = { | ||
| 15 | {0x00010040, nullptr, "RecvData"}, | ||
| 16 | {0x00020040, nullptr, "RecvDataIsReady"}, | ||
| 17 | {0x00030080, nullptr, "SendData"}, | ||
| 18 | {0x00040040, nullptr, "SendDataIsEmpty"}, | ||
| 19 | {0x00070040, nullptr, "WriteReg0x10"}, | ||
| 20 | {0x00080000, nullptr, "GetSemaphore"}, | ||
| 21 | {0x00090040, nullptr, "ClearSemaphore"}, | ||
| 22 | {0x000B0000, nullptr, "CheckSemaphoreRequest"}, | ||
| 23 | {0x000C0040, nullptr, "ConvertProcessAddressFromDspDram"}, | ||
| 24 | {0x000D0082, nullptr, "WriteProcessPipe"}, | ||
| 25 | {0x001000C0, nullptr, "ReadPipeIfPossible"}, | ||
| 26 | {0x001100C2, nullptr, "LoadComponent"}, | ||
| 27 | {0x00120000, nullptr, "UnloadComponent"}, | ||
| 28 | {0x00130082, nullptr, "FlushDataCache"}, | ||
| 29 | {0x00140082, nullptr, "InvalidateDCache "}, | ||
| 30 | {0x00150082, nullptr, "RegisterInterruptEvents"}, | ||
| 31 | {0x00160000, nullptr, "GetSemaphoreEventHandle"}, | ||
| 32 | {0x00170040, nullptr, "SetSemaphoreMask"}, | ||
| 33 | {0x00180040, nullptr, "GetPhysicalAddress"}, | ||
| 34 | {0x00190040, nullptr, "GetVirtualAddress" }, | ||
| 35 | {0x001A0042, nullptr, "SetIirFilterI2S1_cmd1"}, | ||
| 36 | {0x001B0042, nullptr, "SetIirFilterI2S1_cmd2"}, | ||
| 37 | {0x001C0082, nullptr, "SetIirFilterEQ"}, | ||
| 38 | {0x001F0000, nullptr, "GetHeadphoneStatus"}, | ||
| 39 | {0x00210000, nullptr, "GetIsDspOccupied"}, | ||
| 40 | }; | ||
| 41 | |||
| 42 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 43 | // Interface class | ||
| 44 | |||
| 45 | Interface::Interface() { | ||
| 46 | Register(FunctionTable, ARRAY_SIZE(FunctionTable)); | ||
| 47 | } | ||
| 48 | |||
| 49 | Interface::~Interface() { | ||
| 50 | } | ||
| 51 | |||
| 52 | } // namespace | ||
diff --git a/src/core/hle/service/dsp_dsp.h b/src/core/hle/service/dsp_dsp.h new file mode 100644 index 000000000..c439ed266 --- /dev/null +++ b/src/core/hle/service/dsp_dsp.h | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | // Copyright 2014 Citra Emulator Project | ||
| 2 | // Licensed under GPLv2 | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #pragma once | ||
| 6 | |||
| 7 | #include "core/hle/service/service.h" | ||
| 8 | |||
| 9 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 10 | // Namespace DSP_DSP | ||
| 11 | |||
| 12 | namespace DSP_DSP { | ||
| 13 | |||
| 14 | class Interface : public Service::Interface { | ||
| 15 | public: | ||
| 16 | Interface(); | ||
| 17 | ~Interface(); | ||
| 18 | /** | ||
| 19 | * Gets the string port name used by CTROS for the service | ||
| 20 | * @return Port name of service | ||
| 21 | */ | ||
| 22 | std::string GetPortName() const { | ||
| 23 | return "dsp:DSP"; | ||
| 24 | } | ||
| 25 | }; | ||
| 26 | |||
| 27 | } // namespace | ||
diff --git a/src/core/hle/service/mic_u.cpp b/src/core/hle/service/mic_u.cpp new file mode 100644 index 000000000..58051f133 --- /dev/null +++ b/src/core/hle/service/mic_u.cpp | |||
| @@ -0,0 +1,43 @@ | |||
| 1 | // Copyright 2014 Citra Emulator Project | ||
| 2 | // Licensed under GPLv2 | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #include "common/log.h" | ||
| 6 | #include "core/hle/hle.h" | ||
| 7 | #include "core/hle/service/mic_u.h" | ||
| 8 | |||
| 9 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 10 | // Namespace MIC_U | ||
| 11 | |||
| 12 | namespace MIC_U { | ||
| 13 | |||
| 14 | const Interface::FunctionInfo FunctionTable[] = { | ||
| 15 | {0x00010042, nullptr, "MapSharedMem"}, | ||
| 16 | {0x00020000, nullptr, "UnmapSharedMem"}, | ||
| 17 | {0x00030140, nullptr, "Initialize"}, | ||
| 18 | {0x00040040, nullptr, "AdjustSampling"}, | ||
| 19 | {0x00050000, nullptr, "StopSampling"}, | ||
| 20 | {0x00060000, nullptr, "IsSampling"}, | ||
| 21 | {0x00070000, nullptr, "GetEventHandle"}, | ||
| 22 | {0x00080040, nullptr, "SetControl"}, | ||
| 23 | {0x00090000, nullptr, "GetControl"}, | ||
| 24 | {0x000A0040, nullptr, "SetBias"}, | ||
| 25 | {0x000B0000, nullptr, "GetBias"}, | ||
| 26 | {0x000C0042, nullptr, "size"}, | ||
| 27 | {0x000D0040, nullptr, "SetClamp"}, | ||
| 28 | {0x000E0000, nullptr, "GetClamp"}, | ||
| 29 | {0x000F0040, nullptr, "unknown_input1"}, | ||
| 30 | {0x00100040, nullptr, "unknown_input2"}, | ||
| 31 | }; | ||
| 32 | |||
| 33 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 34 | // Interface class | ||
| 35 | |||
| 36 | Interface::Interface() { | ||
| 37 | Register(FunctionTable, ARRAY_SIZE(FunctionTable)); | ||
| 38 | } | ||
| 39 | |||
| 40 | Interface::~Interface() { | ||
| 41 | } | ||
| 42 | |||
| 43 | } // namespace | ||
diff --git a/src/core/hle/service/mic_u.h b/src/core/hle/service/mic_u.h new file mode 100644 index 000000000..72ba048ef --- /dev/null +++ b/src/core/hle/service/mic_u.h | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | // Copyright 2014 Citra Emulator Project | ||
| 2 | // Licensed under GPLv2 | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #pragma once | ||
| 6 | |||
| 7 | #include "core/hle/service/service.h" | ||
| 8 | |||
| 9 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 10 | // Namespace MIC_U | ||
| 11 | |||
| 12 | // mic service | ||
| 13 | |||
| 14 | namespace MIC_U { | ||
| 15 | |||
| 16 | class Interface : public Service::Interface { | ||
| 17 | public: | ||
| 18 | Interface(); | ||
| 19 | ~Interface(); | ||
| 20 | /** | ||
| 21 | * Gets the string port name used by CTROS for the service | ||
| 22 | * @return Port name of service | ||
| 23 | */ | ||
| 24 | std::string GetPortName() const { | ||
| 25 | return "mic:u"; | ||
| 26 | } | ||
| 27 | }; | ||
| 28 | |||
| 29 | } // namespace | ||
diff --git a/src/core/hle/service/nwm_uds.cpp b/src/core/hle/service/nwm_uds.cpp new file mode 100644 index 000000000..14df86d85 --- /dev/null +++ b/src/core/hle/service/nwm_uds.cpp | |||
| @@ -0,0 +1,35 @@ | |||
| 1 | // Copyright 2014 Citra Emulator Project | ||
| 2 | // Licensed under GPLv2 | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #include "common/log.h" | ||
| 6 | #include "core/hle/hle.h" | ||
| 7 | #include "core/hle/service/nwm_uds.h" | ||
| 8 | |||
| 9 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 10 | // Namespace NWM_UDS | ||
| 11 | |||
| 12 | namespace NWM_UDS { | ||
| 13 | |||
| 14 | const Interface::FunctionInfo FunctionTable[] = { | ||
| 15 | {0x00030000, nullptr, "Shutdown"}, | ||
| 16 | {0x000F0404, nullptr, "RecvBeaconBroadcastData"}, | ||
| 17 | {0x00100042, nullptr, "SetBeaconAdditionalData"}, | ||
| 18 | {0x001400C0, nullptr, "RecvBroadcastDataFrame"}, | ||
| 19 | {0x001B0302, nullptr, "Initialize"}, | ||
| 20 | {0x001D0044, nullptr, "BeginHostingNetwork"}, | ||
| 21 | {0x001E0084, nullptr, "ConnectToNetwork"}, | ||
| 22 | {0x001F0006, nullptr, "DecryptBeaconData"}, | ||
| 23 | }; | ||
| 24 | |||
| 25 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 26 | // Interface class | ||
| 27 | |||
| 28 | Interface::Interface() { | ||
| 29 | Register(FunctionTable, ARRAY_SIZE(FunctionTable)); | ||
| 30 | } | ||
| 31 | |||
| 32 | Interface::~Interface() { | ||
| 33 | } | ||
| 34 | |||
| 35 | } // namespace | ||
diff --git a/src/core/hle/service/nwm_uds.h b/src/core/hle/service/nwm_uds.h new file mode 100644 index 000000000..a956ca812 --- /dev/null +++ b/src/core/hle/service/nwm_uds.h | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | // Copyright 2014 Citra Emulator Project | ||
| 2 | // Licensed under GPLv2 | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #pragma once | ||
| 6 | |||
| 7 | #include "core/hle/service/service.h" | ||
| 8 | |||
| 9 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 10 | // Namespace NWM_UDS | ||
| 11 | |||
| 12 | // local-WLAN service | ||
| 13 | |||
| 14 | namespace NWM_UDS { | ||
| 15 | |||
| 16 | class Interface : public Service::Interface { | ||
| 17 | public: | ||
| 18 | Interface(); | ||
| 19 | ~Interface(); | ||
| 20 | /** | ||
| 21 | * Gets the string port name used by CTROS for the service | ||
| 22 | * @return Port name of service | ||
| 23 | */ | ||
| 24 | std::string GetPortName() const { | ||
| 25 | return "nwm:UDS"; | ||
| 26 | } | ||
| 27 | }; | ||
| 28 | |||
| 29 | } // namespace | ||
diff --git a/src/core/hle/service/ptm_u.cpp b/src/core/hle/service/ptm_u.cpp new file mode 100644 index 000000000..f6a14d509 --- /dev/null +++ b/src/core/hle/service/ptm_u.cpp | |||
| @@ -0,0 +1,42 @@ | |||
| 1 | // Copyright 2014 Citra Emulator Project | ||
| 2 | // Licensed under GPLv2 | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #include "common/log.h" | ||
| 6 | #include "core/hle/hle.h" | ||
| 7 | #include "core/hle/service/ptm_u.h" | ||
| 8 | |||
| 9 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 10 | // Namespace PTM_U | ||
| 11 | |||
| 12 | namespace PTM_U { | ||
| 13 | |||
| 14 | const Interface::FunctionInfo FunctionTable[] = { | ||
| 15 | {0x00010002, nullptr, "RegisterAlarmClient"}, | ||
| 16 | {0x00020080, nullptr, "SetRtcAlarm"}, | ||
| 17 | {0x00030000, nullptr, "GetRtcAlarm"}, | ||
| 18 | {0x00040000, nullptr, "CancelRtcAlarm"}, | ||
| 19 | {0x00050000, nullptr, "GetAdapterState"}, | ||
| 20 | {0x00060000, nullptr, "GetShellState "}, | ||
| 21 | {0x00070000, nullptr, "GetBatteryLevel"}, | ||
| 22 | {0x00080000, nullptr, "GetBatteryChargeState"}, | ||
| 23 | {0x00090000, nullptr, "GetPedometerState"}, | ||
| 24 | {0x000A0042, nullptr, "GetStepHistoryEntry"}, | ||
| 25 | {0x000B00C2, nullptr, "GetStepHistory "}, | ||
| 26 | {0x000C0000, nullptr, "GetTotalStepCount "}, | ||
| 27 | {0x000D0040, nullptr, "SetPedometerRecordingMode"}, | ||
| 28 | {0x000E0000, nullptr, "GetPedometerRecordingMode"}, | ||
| 29 | {0x000F0084, nullptr, "GetStepHistoryAll"}, | ||
| 30 | }; | ||
| 31 | |||
| 32 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 33 | // Interface class | ||
| 34 | |||
| 35 | Interface::Interface() { | ||
| 36 | Register(FunctionTable, ARRAY_SIZE(FunctionTable)); | ||
| 37 | } | ||
| 38 | |||
| 39 | Interface::~Interface() { | ||
| 40 | } | ||
| 41 | |||
| 42 | } // namespace | ||
diff --git a/src/core/hle/service/ptm_u.h b/src/core/hle/service/ptm_u.h new file mode 100644 index 000000000..82749fa39 --- /dev/null +++ b/src/core/hle/service/ptm_u.h | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | // Copyright 2014 Citra Emulator Project | ||
| 2 | // Licensed under GPLv2 | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #pragma once | ||
| 6 | |||
| 7 | #include "core/hle/service/service.h" | ||
| 8 | |||
| 9 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 10 | // Namespace PTM_U | ||
| 11 | |||
| 12 | // ptm service | ||
| 13 | |||
| 14 | namespace PTM_U { | ||
| 15 | |||
| 16 | class Interface : public Service::Interface { | ||
| 17 | public: | ||
| 18 | Interface(); | ||
| 19 | ~Interface(); | ||
| 20 | /** | ||
| 21 | * Gets the string port name used by CTROS for the service | ||
| 22 | * @return Port name of service | ||
| 23 | */ | ||
| 24 | std::string GetPortName() const { | ||
| 25 | return "ptm:u"; | ||
| 26 | } | ||
| 27 | }; | ||
| 28 | |||
| 29 | } // namespace | ||
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp index e9af6fdaa..ab1b37ff5 100644 --- a/src/core/hle/service/service.cpp +++ b/src/core/hle/service/service.cpp | |||
| @@ -6,12 +6,20 @@ | |||
| 6 | #include "common/string_util.h" | 6 | #include "common/string_util.h" |
| 7 | 7 | ||
| 8 | #include "core/hle/service/service.h" | 8 | #include "core/hle/service/service.h" |
| 9 | #include "core/hle/service/ac_u.h" | ||
| 9 | #include "core/hle/service/apt_u.h" | 10 | #include "core/hle/service/apt_u.h" |
| 11 | #include "core/hle/service/cfg_u.h" | ||
| 12 | #include "core/hle/service/dsp_dsp.h" | ||
| 10 | #include "core/hle/service/fs_user.h" | 13 | #include "core/hle/service/fs_user.h" |
| 11 | #include "core/hle/service/gsp_gpu.h" | 14 | #include "core/hle/service/gsp_gpu.h" |
| 12 | #include "core/hle/service/hid_user.h" | 15 | #include "core/hle/service/hid_user.h" |
| 16 | #include "core/hle/service/mic_u.h" | ||
| 13 | #include "core/hle/service/ndm_u.h" | 17 | #include "core/hle/service/ndm_u.h" |
| 18 | #include "core/hle/service/nwm_uds.h" | ||
| 19 | #include "core/hle/service/ptm_u.h" | ||
| 20 | #include "core/hle/service/soc_u.h" | ||
| 14 | #include "core/hle/service/srv.h" | 21 | #include "core/hle/service/srv.h" |
| 22 | #include "core/hle/service/ssl_c.h" | ||
| 15 | 23 | ||
| 16 | namespace Service { | 24 | namespace Service { |
| 17 | 25 | ||
| @@ -66,11 +74,19 @@ void Init() { | |||
| 66 | g_manager = new Manager; | 74 | g_manager = new Manager; |
| 67 | 75 | ||
| 68 | g_manager->AddService(new SRV::Interface); | 76 | g_manager->AddService(new SRV::Interface); |
| 77 | g_manager->AddService(new AC_U::Interface); | ||
| 69 | g_manager->AddService(new APT_U::Interface); | 78 | g_manager->AddService(new APT_U::Interface); |
| 79 | g_manager->AddService(new CFG_U::Interface); | ||
| 80 | g_manager->AddService(new DSP_DSP::Interface); | ||
| 70 | g_manager->AddService(new FS_User::Interface); | 81 | g_manager->AddService(new FS_User::Interface); |
| 71 | g_manager->AddService(new GSP_GPU::Interface); | 82 | g_manager->AddService(new GSP_GPU::Interface); |
| 72 | g_manager->AddService(new HID_User::Interface); | 83 | g_manager->AddService(new HID_User::Interface); |
| 84 | g_manager->AddService(new MIC_U::Interface); | ||
| 73 | g_manager->AddService(new NDM_U::Interface); | 85 | g_manager->AddService(new NDM_U::Interface); |
| 86 | g_manager->AddService(new NWM_UDS::Interface); | ||
| 87 | g_manager->AddService(new PTM_U::Interface); | ||
| 88 | g_manager->AddService(new SOC_U::Interface); | ||
| 89 | g_manager->AddService(new SSL_C::Interface); | ||
| 74 | 90 | ||
| 75 | NOTICE_LOG(HLE, "initialized OK"); | 91 | NOTICE_LOG(HLE, "initialized OK"); |
| 76 | } | 92 | } |
diff --git a/src/core/hle/service/soc_u.cpp b/src/core/hle/service/soc_u.cpp new file mode 100644 index 000000000..2f8910468 --- /dev/null +++ b/src/core/hle/service/soc_u.cpp | |||
| @@ -0,0 +1,58 @@ | |||
| 1 | // Copyright 2014 Citra Emulator Project | ||
| 2 | // Licensed under GPLv2 | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #include "common/log.h" | ||
| 6 | #include "core/hle/hle.h" | ||
| 7 | #include "core/hle/service/soc_u.h" | ||
| 8 | |||
| 9 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 10 | // Namespace SOC_U | ||
| 11 | |||
| 12 | namespace SOC_U { | ||
| 13 | |||
| 14 | const Interface::FunctionInfo FunctionTable[] = { | ||
| 15 | {0x00010044, nullptr, "InitializeSockets"}, | ||
| 16 | {0x000200C2, nullptr, "socket"}, | ||
| 17 | {0x00030082, nullptr, "listen"}, | ||
| 18 | {0x00040082, nullptr, "accept"}, | ||
| 19 | {0x00050084, nullptr, "bind"}, | ||
| 20 | {0x00060084, nullptr, "connect"}, | ||
| 21 | {0x00070104, nullptr, "recvfrom_other"}, | ||
| 22 | {0x00080102, nullptr, "recvfrom"}, | ||
| 23 | {0x00090106, nullptr, "sendto_other"}, | ||
| 24 | {0x000A0106, nullptr, "sendto"}, | ||
| 25 | {0x000B0042, nullptr, "close"}, | ||
| 26 | {0x000C0082, nullptr, "shutdown"}, | ||
| 27 | {0x000D0082, nullptr, "gethostbyname"}, | ||
| 28 | {0x000E00C2, nullptr, "gethostbyaddr"}, | ||
| 29 | {0x000F0106, nullptr, "unknown_resolve_ip"}, | ||
| 30 | {0x00110102, nullptr, "getsockopt"}, | ||
| 31 | {0x00120104, nullptr, "setsockopt"}, | ||
| 32 | {0x001300C2, nullptr, "fcntl"}, | ||
| 33 | {0x00140084, nullptr, "poll"}, | ||
| 34 | {0x00150042, nullptr, "sockatmark"}, | ||
| 35 | {0x00160000, nullptr, "gethostid"}, | ||
| 36 | {0x00170082, nullptr, "getsockname"}, | ||
| 37 | {0x00180082, nullptr, "getpeername"}, | ||
| 38 | {0x00190000, nullptr, "ShutdownSockets"}, | ||
| 39 | {0x001A00C0, nullptr, "GetNetworkOpt"}, | ||
| 40 | {0x001B0040, nullptr, "ICMPSocket"}, | ||
| 41 | {0x001C0104, nullptr, "ICMPPing"}, | ||
| 42 | {0x001D0040, nullptr, "ICMPCancel"}, | ||
| 43 | {0x001E0040, nullptr, "ICMPClose"}, | ||
| 44 | {0x001F0040, nullptr, "GetResolverInfo"}, | ||
| 45 | {0x00210002, nullptr, "CloseSockets"}, | ||
| 46 | }; | ||
| 47 | |||
| 48 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 49 | // Interface class | ||
| 50 | |||
| 51 | Interface::Interface() { | ||
| 52 | Register(FunctionTable, ARRAY_SIZE(FunctionTable)); | ||
| 53 | } | ||
| 54 | |||
| 55 | Interface::~Interface() { | ||
| 56 | } | ||
| 57 | |||
| 58 | } // namespace | ||
diff --git a/src/core/hle/service/soc_u.h b/src/core/hle/service/soc_u.h new file mode 100644 index 000000000..e27a2b1fe --- /dev/null +++ b/src/core/hle/service/soc_u.h | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | // Copyright 2014 Citra Emulator Project | ||
| 2 | // Licensed under GPLv2 | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #pragma once | ||
| 6 | |||
| 7 | #include "core/hle/service/service.h" | ||
| 8 | |||
| 9 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 10 | // Namespace SOC_U | ||
| 11 | |||
| 12 | namespace SOC_U { | ||
| 13 | |||
| 14 | class Interface : public Service::Interface { | ||
| 15 | public: | ||
| 16 | Interface(); | ||
| 17 | ~Interface(); | ||
| 18 | /** | ||
| 19 | * Gets the string port name used by CTROS for the service | ||
| 20 | * @return Port name of service | ||
| 21 | */ | ||
| 22 | std::string GetPortName() const { | ||
| 23 | return "soc:U"; | ||
| 24 | } | ||
| 25 | }; | ||
| 26 | |||
| 27 | } // namespace | ||
diff --git a/src/core/hle/service/ssl_c.cpp b/src/core/hle/service/ssl_c.cpp new file mode 100644 index 000000000..4aa660ecc --- /dev/null +++ b/src/core/hle/service/ssl_c.cpp | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | // Copyright 2014 Citra Emulator Project | ||
| 2 | // Licensed under GPLv2 | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #include "common/log.h" | ||
| 6 | #include "core/hle/hle.h" | ||
| 7 | #include "core/hle/service/ssl_c.h" | ||
| 8 | |||
| 9 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 10 | // Namespace SSL_C | ||
| 11 | |||
| 12 | namespace SSL_C { | ||
| 13 | |||
| 14 | const Interface::FunctionInfo FunctionTable[] = { | ||
| 15 | {0x000200C2, nullptr, "CreateContext"}, | ||
| 16 | {0x00050082, nullptr, "AddTrustedRootCA"}, | ||
| 17 | {0x00150082, nullptr, "Read"}, | ||
| 18 | {0x00170082, nullptr, "Write"}, | ||
| 19 | }; | ||
| 20 | |||
| 21 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 22 | // Interface class | ||
| 23 | |||
| 24 | Interface::Interface() { | ||
| 25 | Register(FunctionTable, ARRAY_SIZE(FunctionTable)); | ||
| 26 | } | ||
| 27 | |||
| 28 | Interface::~Interface() { | ||
| 29 | } | ||
| 30 | |||
| 31 | } // namespace | ||
diff --git a/src/core/hle/service/ssl_c.h b/src/core/hle/service/ssl_c.h new file mode 100644 index 000000000..7b4e7fd8a --- /dev/null +++ b/src/core/hle/service/ssl_c.h | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | // Copyright 2014 Citra Emulator Project | ||
| 2 | // Licensed under GPLv2 | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #pragma once | ||
| 6 | |||
| 7 | #include "core/hle/service/service.h" | ||
| 8 | |||
| 9 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 10 | // Namespace SSL_C | ||
| 11 | |||
| 12 | namespace SSL_C { | ||
| 13 | |||
| 14 | class Interface : public Service::Interface { | ||
| 15 | public: | ||
| 16 | Interface(); | ||
| 17 | ~Interface(); | ||
| 18 | /** | ||
| 19 | * Gets the string port name used by CTROS for the service | ||
| 20 | * @return Port name of service | ||
| 21 | */ | ||
| 22 | std::string GetPortName() const { | ||
| 23 | return "ssl:C"; | ||
| 24 | } | ||
| 25 | }; | ||
| 26 | |||
| 27 | } // namespace | ||