summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/nfc
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/service/nfc')
-rw-r--r--src/core/hle/service/nfc/nfc.cpp145
-rw-r--r--src/core/hle/service/nfc/nfc.h153
-rw-r--r--src/core/hle/service/nfc/nfc_m.cpp47
-rw-r--r--src/core/hle/service/nfc/nfc_m.h22
-rw-r--r--src/core/hle/service/nfc/nfc_u.cpp44
-rw-r--r--src/core/hle/service/nfc/nfc_u.h22
6 files changed, 0 insertions, 433 deletions
diff --git a/src/core/hle/service/nfc/nfc.cpp b/src/core/hle/service/nfc/nfc.cpp
deleted file mode 100644
index cb09ed0b7..000000000
--- a/src/core/hle/service/nfc/nfc.cpp
+++ /dev/null
@@ -1,145 +0,0 @@
-// Copyright 2016 Citra Emulator Project
-// Licensed under GPLv2 or any later version
-// Refer to the license.txt file included.
-
-#include "core/hle/ipc.h"
-#include "core/hle/kernel/event.h"
-#include "core/hle/kernel/handle_table.h"
-#include "core/hle/service/nfc/nfc.h"
-#include "core/hle/service/nfc/nfc_m.h"
-#include "core/hle/service/nfc/nfc_u.h"
-
-namespace Service {
-namespace NFC {
-
-static Kernel::SharedPtr<Kernel::Event> tag_in_range_event;
-static Kernel::SharedPtr<Kernel::Event> tag_out_of_range_event;
-static TagState nfc_tag_state = TagState::NotInitialized;
-static CommunicationStatus nfc_status = CommunicationStatus::NfcInitialized;
-
-void Initialize(Interface* self) {
- u32* cmd_buff = Kernel::GetCommandBuffer();
-
- u8 param = static_cast<u8>(cmd_buff[1] & 0xFF);
-
- nfc_tag_state = TagState::NotScanning;
-
- cmd_buff[1] = RESULT_SUCCESS.raw; // No error
- LOG_WARNING(Service_NFC, "(STUBBED) called, param=%u", param);
-}
-
-void Shutdown(Interface* self) {
- u32* cmd_buff = Kernel::GetCommandBuffer();
-
- u8 param = static_cast<u8>(cmd_buff[1] & 0xFF);
- nfc_tag_state = TagState::NotInitialized;
-
- cmd_buff[1] = RESULT_SUCCESS.raw; // No error
- LOG_WARNING(Service_NFC, "(STUBBED) called, param=%u", param);
-}
-
-void StartCommunication(Interface* self) {
- u32* cmd_buff = Kernel::GetCommandBuffer();
-
- cmd_buff[1] = RESULT_SUCCESS.raw; // No error
- LOG_WARNING(Service_NFC, "(STUBBED) called");
-}
-
-void StopCommunication(Interface* self) {
- u32* cmd_buff = Kernel::GetCommandBuffer();
-
- cmd_buff[1] = RESULT_SUCCESS.raw; // No error
- LOG_WARNING(Service_NFC, "(STUBBED) called");
-}
-
-void StartTagScanning(Interface* self) {
- u32* cmd_buff = Kernel::GetCommandBuffer();
-
- nfc_tag_state = TagState::TagInRange;
- tag_in_range_event->Signal();
-
- cmd_buff[1] = RESULT_SUCCESS.raw; // No error
- LOG_WARNING(Service_NFC, "(STUBBED) called");
-}
-
-void StopTagScanning(Interface* self) {
- u32* cmd_buff = Kernel::GetCommandBuffer();
-
- nfc_tag_state = TagState::NotScanning;
-
- cmd_buff[1] = RESULT_SUCCESS.raw; // No error
- LOG_WARNING(Service_NFC, "(STUBBED) called");
-}
-
-void LoadAmiiboData(Interface* self) {
- u32* cmd_buff = Kernel::GetCommandBuffer();
-
- nfc_tag_state = TagState::TagDataLoaded;
-
- cmd_buff[1] = RESULT_SUCCESS.raw; // No error
- LOG_WARNING(Service_NFC, "(STUBBED) called");
-}
-
-void ResetTagScanState(Interface* self) {
- u32* cmd_buff = Kernel::GetCommandBuffer();
-
- nfc_tag_state = TagState::NotScanning;
-
- cmd_buff[1] = RESULT_SUCCESS.raw; // No error
- LOG_WARNING(Service_NFC, "(STUBBED) called");
-}
-
-void GetTagInRangeEvent(Interface* self) {
- u32* cmd_buff = Kernel::GetCommandBuffer();
-
- cmd_buff[0] = IPC::MakeHeader(0xB, 1, 2);
- cmd_buff[1] = RESULT_SUCCESS.raw;
- cmd_buff[2] = IPC::CopyHandleDesc();
- cmd_buff[3] = Kernel::g_handle_table.Create(tag_in_range_event).Unwrap();
- LOG_WARNING(Service_NFC, "(STUBBED) called");
-}
-
-void GetTagOutOfRangeEvent(Interface* self) {
- u32* cmd_buff = Kernel::GetCommandBuffer();
-
- cmd_buff[0] = IPC::MakeHeader(0xC, 1, 2);
- cmd_buff[1] = RESULT_SUCCESS.raw;
- cmd_buff[2] = IPC::CopyHandleDesc();
- cmd_buff[3] = Kernel::g_handle_table.Create(tag_out_of_range_event).Unwrap();
- LOG_WARNING(Service_NFC, "(STUBBED) called");
-}
-
-void GetTagState(Interface* self) {
- u32* cmd_buff = Kernel::GetCommandBuffer();
-
- cmd_buff[1] = RESULT_SUCCESS.raw; // No error
- cmd_buff[2] = static_cast<u8>(nfc_tag_state);
- LOG_DEBUG(Service_NFC, "(STUBBED) called");
-}
-
-void CommunicationGetStatus(Interface* self) {
- u32* cmd_buff = Kernel::GetCommandBuffer();
-
- cmd_buff[1] = RESULT_SUCCESS.raw; // No error
- cmd_buff[2] = static_cast<u8>(nfc_status);
- LOG_DEBUG(Service_NFC, "(STUBBED) called");
-}
-
-void Init() {
- AddService(new NFC_M());
- AddService(new NFC_U());
-
- tag_in_range_event =
- Kernel::Event::Create(Kernel::ResetType::OneShot, "NFC::tag_in_range_event");
- tag_out_of_range_event =
- Kernel::Event::Create(Kernel::ResetType::OneShot, "NFC::tag_out_range_event");
- nfc_tag_state = TagState::NotInitialized;
-}
-
-void Shutdown() {
- tag_in_range_event = nullptr;
- tag_out_of_range_event = nullptr;
-}
-
-} // namespace NFC
-} // namespace Service
diff --git a/src/core/hle/service/nfc/nfc.h b/src/core/hle/service/nfc/nfc.h
deleted file mode 100644
index a013bdae7..000000000
--- a/src/core/hle/service/nfc/nfc.h
+++ /dev/null
@@ -1,153 +0,0 @@
-// Copyright 2016 Citra Emulator Project
-// Licensed under GPLv2 or any later version
-// Refer to the license.txt file included.
-
-#pragma once
-
-#include "common/common_types.h"
-
-namespace Service {
-
-class Interface;
-
-namespace NFC {
-
-enum class TagState : u8 {
- NotInitialized = 0,
- NotScanning = 1,
- Scanning = 2,
- TagInRange = 3,
- TagOutOfRange = 4,
- TagDataLoaded = 5,
-};
-
-enum class CommunicationStatus : u8 {
- AttemptInitialize = 1,
- NfcInitialized = 2,
-};
-
-/**
- * NFC::Initialize service function
- * Inputs:
- * 0 : Header code [0x00010040]
- * 1 : (u8) unknown parameter. Can be either value 0x1 or 0x2
- * Outputs:
- * 1 : Result of function, 0 on success, otherwise error code
- */
-void Initialize(Interface* self);
-
-/**
- * NFC::Shutdown service function
- * Inputs:
- * 0 : Header code [0x00020040]
- * 1 : (u8) unknown parameter
- * Outputs:
- * 1 : Result of function, 0 on success, otherwise error code
- */
-void Shutdown(Interface* self);
-
-/**
- * NFC::StartCommunication service function
- * Inputs:
- * 0 : Header code [0x00030000]
- * Outputs:
- * 1 : Result of function, 0 on success, otherwise error code
- */
-void StartCommunication(Interface* self);
-
-/**
- * NFC::StopCommunication service function
- * Inputs:
- * 0 : Header code [0x00040000]
- * Outputs:
- * 1 : Result of function, 0 on success, otherwise error code
- */
-void StopCommunication(Interface* self);
-
-/**
- * NFC::StartTagScanning service function
- * Inputs:
- * 0 : Header code [0x00050040]
- * 1 : (u16) unknown. This is normally 0x0
- * Outputs:
- * 1 : Result of function, 0 on success, otherwise error code
- */
-void StartTagScanning(Interface* self);
-
-/**
- * NFC::StopTagScanning service function
- * Inputs:
- * 0 : Header code [0x00060000]
- * Outputs:
- * 1 : Result of function, 0 on success, otherwise error code
- */
-void StopTagScanning(Interface* self);
-
-/**
- * NFC::LoadAmiiboData service function
- * Inputs:
- * 0 : Header code [0x00070000]
- * Outputs:
- * 1 : Result of function, 0 on success, otherwise error code
- */
-void LoadAmiiboData(Interface* self);
-
-/**
- * NFC::ResetTagScanState service function
- * Inputs:
- * 0 : Header code [0x00080000]
- * Outputs:
- * 1 : Result of function, 0 on success, otherwise error code
- */
-void ResetTagScanState(Interface* self);
-
-/**
- * NFC::GetTagInRangeEvent service function
- * Inputs:
- * 0 : Header code [0x000B0000]
- * Outputs:
- * 1 : Result of function, 0 on success, otherwise error code
- * 2 : Copy handle descriptor
- * 3 : Event Handle
- */
-void GetTagInRangeEvent(Interface* self);
-
-/**
- * NFC::GetTagOutOfRangeEvent service function
- * Inputs:
- * 0 : Header code [0x000C0000]
- * Outputs:
- * 1 : Result of function, 0 on success, otherwise error code
- * 2 : Copy handle descriptor
- * 3 : Event Handle
- */
-void GetTagOutOfRangeEvent(Interface* self);
-
-/**
- * NFC::GetTagState service function
- * Inputs:
- * 0 : Header code [0x000D0000]
- * Outputs:
- * 1 : Result of function, 0 on success, otherwise error code
- * 2 : (u8) Tag state
- */
-void GetTagState(Interface* self);
-
-/**
- * NFC::CommunicationGetStatus service function
- * Inputs:
- * 0 : Header code [0x000F0000]
- * Outputs:
- * 1 : Result of function, 0 on success, otherwise error code
- * 2 : (u8) Communication state
- */
-void CommunicationGetStatus(Interface* self);
-
-/// Initialize all NFC services.
-void Init();
-
-/// Shutdown all NFC services.
-void Shutdown();
-
-} // namespace NFC
-} // namespace Service
diff --git a/src/core/hle/service/nfc/nfc_m.cpp b/src/core/hle/service/nfc/nfc_m.cpp
deleted file mode 100644
index ebe637650..000000000
--- a/src/core/hle/service/nfc/nfc_m.cpp
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2016 Citra Emulator Project
-// Licensed under GPLv2 or any later version
-// Refer to the license.txt file included.
-
-#include "core/hle/service/nfc/nfc.h"
-#include "core/hle/service/nfc/nfc_m.h"
-
-namespace Service {
-namespace NFC {
-
-const Interface::FunctionInfo FunctionTable[] = {
- // clang-format off
- // nfc:u shared commands
- {0x00010040, Initialize, "Initialize"},
- {0x00020040, Shutdown, "Shutdown"},
- {0x00030000, StartCommunication, "StartCommunication"},
- {0x00040000, StopCommunication, "StopCommunication"},
- {0x00050040, StartTagScanning, "StartTagScanning"},
- {0x00060000, StopTagScanning, "StopTagScanning"},
- {0x00070000, LoadAmiiboData, "LoadAmiiboData"},
- {0x00080000, ResetTagScanState, "ResetTagScanState"},
- {0x00090002, nullptr, "UpdateStoredAmiiboData"},
- {0x000B0000, GetTagInRangeEvent, "GetTagInRangeEvent"},
- {0x000C0000, GetTagOutOfRangeEvent, "GetTagOutOfRangeEvent"},
- {0x000D0000, GetTagState, "GetTagState"},
- {0x000F0000, CommunicationGetStatus, "CommunicationGetStatus"},
- {0x00100000, nullptr, "GetTagInfo2"},
- {0x00110000, nullptr, "GetTagInfo"},
- {0x00120000, nullptr, "CommunicationGetResult"},
- {0x00130040, nullptr, "OpenAppData"},
- {0x00140384, nullptr, "InitializeWriteAppData"},
- {0x00150040, nullptr, "ReadAppData"},
- {0x00160242, nullptr, "WriteAppData"},
- {0x00170000, nullptr, "GetAmiiboSettings"},
- {0x00180000, nullptr, "GetAmiiboConfig"},
- {0x00190000, nullptr, "GetAppDataInitStruct"},
- // nfc:m
- {0x04040A40, nullptr, "SetAmiiboSettings"}
- // clang-format on
-};
-
-NFC_M::NFC_M() {
- Register(FunctionTable);
-}
-
-} // namespace NFC
-} // namespace Service
diff --git a/src/core/hle/service/nfc/nfc_m.h b/src/core/hle/service/nfc/nfc_m.h
deleted file mode 100644
index fae75535b..000000000
--- a/src/core/hle/service/nfc/nfc_m.h
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2016 Citra Emulator Project
-// Licensed under GPLv2 or any later version
-// Refer to the license.txt file included.
-
-#pragma once
-
-#include "core/hle/service/service.h"
-
-namespace Service {
-namespace NFC {
-
-class NFC_M final : public Interface {
-public:
- NFC_M();
-
- std::string GetPortName() const override {
- return "nfc:m";
- }
-};
-
-} // namespace NFC
-} // namespace Service
diff --git a/src/core/hle/service/nfc/nfc_u.cpp b/src/core/hle/service/nfc/nfc_u.cpp
deleted file mode 100644
index 5a40c7874..000000000
--- a/src/core/hle/service/nfc/nfc_u.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2016 Citra Emulator Project
-// Licensed under GPLv2 or any later version
-// Refer to the license.txt file included.
-
-#include "core/hle/service/nfc/nfc.h"
-#include "core/hle/service/nfc/nfc_u.h"
-
-namespace Service {
-namespace NFC {
-
-const Interface::FunctionInfo FunctionTable[] = {
- // clang-format off
- {0x00010040, Initialize, "Initialize"},
- {0x00020040, Shutdown, "Shutdown"},
- {0x00030000, StartCommunication, "StartCommunication"},
- {0x00040000, StopCommunication, "StopCommunication"},
- {0x00050040, StartTagScanning, "StartTagScanning"},
- {0x00060000, StopTagScanning, "StopTagScanning"},
- {0x00070000, LoadAmiiboData, "LoadAmiiboData"},
- {0x00080000, ResetTagScanState, "ResetTagScanState"},
- {0x00090002, nullptr, "UpdateStoredAmiiboData"},
- {0x000B0000, GetTagInRangeEvent, "GetTagInRangeEvent"},
- {0x000C0000, GetTagOutOfRangeEvent, "GetTagOutOfRangeEvent"},
- {0x000D0000, GetTagState, "GetTagState"},
- {0x000F0000, CommunicationGetStatus, "CommunicationGetStatus"},
- {0x00100000, nullptr, "GetTagInfo2"},
- {0x00110000, nullptr, "GetTagInfo"},
- {0x00120000, nullptr, "CommunicationGetResult"},
- {0x00130040, nullptr, "OpenAppData"},
- {0x00140384, nullptr, "InitializeWriteAppData"},
- {0x00150040, nullptr, "ReadAppData"},
- {0x00160242, nullptr, "WriteAppData"},
- {0x00170000, nullptr, "GetAmiiboSettings"},
- {0x00180000, nullptr, "GetAmiiboConfig"},
- {0x00190000, nullptr, "GetAppDataInitStruct"},
- // clang-format on
-};
-
-NFC_U::NFC_U() {
- Register(FunctionTable);
-}
-
-} // namespace NFC
-} // namespace Service
diff --git a/src/core/hle/service/nfc/nfc_u.h b/src/core/hle/service/nfc/nfc_u.h
deleted file mode 100644
index eb7507314..000000000
--- a/src/core/hle/service/nfc/nfc_u.h
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2016 Citra Emulator Project
-// Licensed under GPLv2 or any later version
-// Refer to the license.txt file included.
-
-#pragma once
-
-#include "core/hle/service/service.h"
-
-namespace Service {
-namespace NFC {
-
-class NFC_U final : public Interface {
-public:
- NFC_U();
-
- std::string GetPortName() const override {
- return "nfc:u";
- }
-};
-
-} // namespace NFC
-} // namespace Service