summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/core/CMakeLists.txt2
-rw-r--r--src/core/hle/service/hid/hid.cpp2
-rw-r--r--src/core/hle/service/hid/xcd.cpp37
-rw-r--r--src/core/hle/service/hid/xcd.h16
4 files changed, 57 insertions, 0 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 73339e2e0..b74e495ef 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -162,6 +162,8 @@ add_library(core STATIC
162 hle/service/hid/hid.h 162 hle/service/hid/hid.h
163 hle/service/hid/irs.cpp 163 hle/service/hid/irs.cpp
164 hle/service/hid/irs.h 164 hle/service/hid/irs.h
165 hle/service/hid/xcd.cpp
166 hle/service/hid/xcd.h
165 hle/service/ldn/ldn.cpp 167 hle/service/ldn/ldn.cpp
166 hle/service/ldn/ldn.h 168 hle/service/ldn/ldn.h
167 hle/service/ldr/ldr.cpp 169 hle/service/ldr/ldr.cpp
diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp
index 64a6fdeed..ed4243db3 100644
--- a/src/core/hle/service/hid/hid.cpp
+++ b/src/core/hle/service/hid/hid.cpp
@@ -15,6 +15,7 @@
15#include "core/hle/kernel/shared_memory.h" 15#include "core/hle/kernel/shared_memory.h"
16#include "core/hle/service/hid/hid.h" 16#include "core/hle/service/hid/hid.h"
17#include "core/hle/service/hid/irs.h" 17#include "core/hle/service/hid/irs.h"
18#include "core/hle/service/hid/xcd.h"
18#include "core/hle/service/service.h" 19#include "core/hle/service/service.h"
19 20
20namespace Service::HID { 21namespace Service::HID {
@@ -562,6 +563,7 @@ void InstallInterfaces(SM::ServiceManager& service_manager) {
562 std::make_shared<Hid>()->InstallAsService(service_manager); 563 std::make_shared<Hid>()->InstallAsService(service_manager);
563 std::make_shared<IRS>()->InstallAsService(service_manager); 564 std::make_shared<IRS>()->InstallAsService(service_manager);
564 std::make_shared<IRS_SYS>()->InstallAsService(service_manager); 565 std::make_shared<IRS_SYS>()->InstallAsService(service_manager);
566 std::make_shared<XCD_SYS>()->InstallAsService(service_manager);
565} 567}
566 568
567} // namespace Service::HID 569} // namespace Service::HID
diff --git a/src/core/hle/service/hid/xcd.cpp b/src/core/hle/service/hid/xcd.cpp
new file mode 100644
index 000000000..49f733f60
--- /dev/null
+++ b/src/core/hle/service/hid/xcd.cpp
@@ -0,0 +1,37 @@
1// Copyright 2018 yuzu emulator team
2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included.
4
5#include "core/hle/service/hid/xcd.h"
6
7namespace Service::HID {
8
9XCD_SYS::XCD_SYS() : ServiceFramework{"xcd:sys"} {
10 // clang-format off
11 static const FunctionInfo functions[] = {
12 {0, nullptr, "GetDataFormat"},
13 {1, nullptr, "SetDataFormat"},
14 {2, nullptr, "GetMcuState"},
15 {3, nullptr, "SetMcuState"},
16 {4, nullptr, "GetMcuVersionForNfc"},
17 {5, nullptr, "CheckNfcDevicePower"},
18 {10, nullptr, "SetNfcEvent"},
19 {11, nullptr, "GetNfcInfo"},
20 {12, nullptr, "StartNfcDiscovery"},
21 {13, nullptr, "StopNfcDiscovery"},
22 {14, nullptr, "StartNtagRead"},
23 {15, nullptr, "StartNtagWrite"},
24 {16, nullptr, "SendNfcRawData"},
25 {17, nullptr, "RegisterMifareKey"},
26 {18, nullptr, "ClearMifareKey"},
27 {19, nullptr, "StartMifareRead"},
28 {20, nullptr, "StartMifareWrite"},
29 {101, nullptr, "GetAwakeTriggerReasonForLeftRail"},
30 {102, nullptr, "GetAwakeTriggerReasonForRightRail"},
31 };
32 // clang-format on
33
34 RegisterHandlers(functions);
35}
36
37} // namespace Service::HID
diff --git a/src/core/hle/service/hid/xcd.h b/src/core/hle/service/hid/xcd.h
new file mode 100644
index 000000000..232a044df
--- /dev/null
+++ b/src/core/hle/service/hid/xcd.h
@@ -0,0 +1,16 @@
1// Copyright 2018 yuzu emulator team
2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included.
4
5#pragma once
6
7#include "core/hle/service/service.h"
8
9namespace Service::HID {
10
11class XCD_SYS final : public ServiceFramework<XCD_SYS> {
12public:
13 explicit XCD_SYS();
14};
15
16} // namespace Service::HID