mirror of
https://git.suyu.dev/suyu/suyu.git
synced 2024-11-22 23:02:47 +01:00
Merge pull request #1884 from lioncash/dlp
service: Add other DLP services
This commit is contained in:
commit
a3ca5c8e4e
10 changed files with 150 additions and 23 deletions
|
@ -70,7 +70,10 @@ set(SRCS
|
||||||
hle/service/cfg/cfg_s.cpp
|
hle/service/cfg/cfg_s.cpp
|
||||||
hle/service/cfg/cfg_u.cpp
|
hle/service/cfg/cfg_u.cpp
|
||||||
hle/service/csnd_snd.cpp
|
hle/service/csnd_snd.cpp
|
||||||
hle/service/dlp_srvr.cpp
|
hle/service/dlp/dlp.cpp
|
||||||
|
hle/service/dlp/dlp_clnt.cpp
|
||||||
|
hle/service/dlp/dlp_fkcl.cpp
|
||||||
|
hle/service/dlp/dlp_srvr.cpp
|
||||||
hle/service/dsp_dsp.cpp
|
hle/service/dsp_dsp.cpp
|
||||||
hle/service/err_f.cpp
|
hle/service/err_f.cpp
|
||||||
hle/service/frd/frd.cpp
|
hle/service/frd/frd.cpp
|
||||||
|
@ -206,7 +209,10 @@ set(HEADERS
|
||||||
hle/service/cfg/cfg_s.h
|
hle/service/cfg/cfg_s.h
|
||||||
hle/service/cfg/cfg_u.h
|
hle/service/cfg/cfg_u.h
|
||||||
hle/service/csnd_snd.h
|
hle/service/csnd_snd.h
|
||||||
hle/service/dlp_srvr.h
|
hle/service/dlp/dlp.h
|
||||||
|
hle/service/dlp/dlp_clnt.h
|
||||||
|
hle/service/dlp/dlp_fkcl.h
|
||||||
|
hle/service/dlp/dlp_srvr.h
|
||||||
hle/service/dsp_dsp.h
|
hle/service/dsp_dsp.h
|
||||||
hle/service/err_f.h
|
hle/service/err_f.h
|
||||||
hle/service/frd/frd.h
|
hle/service/frd/frd.h
|
||||||
|
|
24
src/core/hle/service/dlp/dlp.cpp
Normal file
24
src/core/hle/service/dlp/dlp.cpp
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
// Copyright 2016 Citra Emulator Project
|
||||||
|
// Licensed under GPLv2 or any later version
|
||||||
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#include "core/hle/service/service.h"
|
||||||
|
#include "core/hle/service/dlp/dlp.h"
|
||||||
|
#include "core/hle/service/dlp/dlp_clnt.h"
|
||||||
|
#include "core/hle/service/dlp/dlp_fkcl.h"
|
||||||
|
#include "core/hle/service/dlp/dlp_srvr.h"
|
||||||
|
|
||||||
|
namespace Service {
|
||||||
|
namespace DLP {
|
||||||
|
|
||||||
|
void Init() {
|
||||||
|
AddService(new DLP_CLNT_Interface);
|
||||||
|
AddService(new DLP_FKCL_Interface);
|
||||||
|
AddService(new DLP_SRVR_Interface);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Shutdown() {
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace DLP
|
||||||
|
} // namespace Service
|
15
src/core/hle/service/dlp/dlp.h
Normal file
15
src/core/hle/service/dlp/dlp.h
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
// Copyright 2016 Citra Emulator Project
|
||||||
|
// Licensed under GPLv2 or any later version
|
||||||
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
namespace Service {
|
||||||
|
namespace DLP {
|
||||||
|
|
||||||
|
/// Initializes the DLP services.
|
||||||
|
void Init();
|
||||||
|
|
||||||
|
/// Shuts down the DLP services.
|
||||||
|
void Shutdown();
|
||||||
|
|
||||||
|
} // namespace DLP
|
||||||
|
} // namespace Service
|
20
src/core/hle/service/dlp/dlp_clnt.cpp
Normal file
20
src/core/hle/service/dlp/dlp_clnt.cpp
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
// Copyright 2016 Citra Emulator Project
|
||||||
|
// Licensed under GPLv2 or any later version
|
||||||
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#include "core/hle/service/dlp/dlp_clnt.h"
|
||||||
|
|
||||||
|
namespace Service {
|
||||||
|
namespace DLP {
|
||||||
|
|
||||||
|
const Interface::FunctionInfo FunctionTable[] = {
|
||||||
|
{0x000100C3, nullptr, "Initialize"},
|
||||||
|
{0x00110000, nullptr, "GetWirelessRebootPassphrase"},
|
||||||
|
};
|
||||||
|
|
||||||
|
DLP_CLNT_Interface::DLP_CLNT_Interface() {
|
||||||
|
Register(FunctionTable);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace DLP
|
||||||
|
} // namespace Service
|
22
src/core/hle/service/dlp/dlp_clnt.h
Normal file
22
src/core/hle/service/dlp/dlp_clnt.h
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
// 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 DLP {
|
||||||
|
|
||||||
|
class DLP_CLNT_Interface final : public Interface {
|
||||||
|
public:
|
||||||
|
DLP_CLNT_Interface();
|
||||||
|
|
||||||
|
std::string GetPortName() const override {
|
||||||
|
return "dlp:CLNT";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace DLP
|
||||||
|
} // namespace Service
|
20
src/core/hle/service/dlp/dlp_fkcl.cpp
Normal file
20
src/core/hle/service/dlp/dlp_fkcl.cpp
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
// Copyright 2016 Citra Emulator Project
|
||||||
|
// Licensed under GPLv2 or any later version
|
||||||
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#include "core/hle/service/dlp/dlp_fkcl.h"
|
||||||
|
|
||||||
|
namespace Service {
|
||||||
|
namespace DLP {
|
||||||
|
|
||||||
|
const Interface::FunctionInfo FunctionTable[] = {
|
||||||
|
{0x00010083, nullptr, "Initialize"},
|
||||||
|
{0x000F0000, nullptr, "GetWirelessRebootPassphrase"},
|
||||||
|
};
|
||||||
|
|
||||||
|
DLP_FKCL_Interface::DLP_FKCL_Interface() {
|
||||||
|
Register(FunctionTable);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace DLP
|
||||||
|
} // namespace Service
|
22
src/core/hle/service/dlp/dlp_fkcl.h
Normal file
22
src/core/hle/service/dlp/dlp_fkcl.h
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
// 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 DLP {
|
||||||
|
|
||||||
|
class DLP_FKCL_Interface final : public Interface {
|
||||||
|
public:
|
||||||
|
DLP_FKCL_Interface();
|
||||||
|
|
||||||
|
std::string GetPortName() const override {
|
||||||
|
return "dlp:FKCL";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace DLP
|
||||||
|
} // namespace Service
|
|
@ -2,16 +2,15 @@
|
||||||
// Licensed under GPLv2 or any later version
|
// Licensed under GPLv2 or any later version
|
||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#include "common/common_types.h"
|
||||||
#include "common/logging/log.h"
|
#include "common/logging/log.h"
|
||||||
#include "core/hle/hle.h"
|
#include "core/hle/result.h"
|
||||||
#include "core/hle/service/dlp_srvr.h"
|
#include "core/hle/service/dlp/dlp_srvr.h"
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
namespace Service {
|
||||||
// Namespace DLP_SRVR
|
namespace DLP {
|
||||||
|
|
||||||
namespace DLP_SRVR {
|
static void unk_0x000E0040(Interface* self) {
|
||||||
|
|
||||||
static void unk_0x000E0040(Service::Interface* self) {
|
|
||||||
u32* cmd_buff = Kernel::GetCommandBuffer();
|
u32* cmd_buff = Kernel::GetCommandBuffer();
|
||||||
|
|
||||||
cmd_buff[1] = RESULT_SUCCESS.raw;
|
cmd_buff[1] = RESULT_SUCCESS.raw;
|
||||||
|
@ -23,14 +22,13 @@ static void unk_0x000E0040(Service::Interface* self) {
|
||||||
const Interface::FunctionInfo FunctionTable[] = {
|
const Interface::FunctionInfo FunctionTable[] = {
|
||||||
{0x00010183, nullptr, "Initialize"},
|
{0x00010183, nullptr, "Initialize"},
|
||||||
{0x00020000, nullptr, "Finalize"},
|
{0x00020000, nullptr, "Finalize"},
|
||||||
|
{0x000800C0, nullptr, "SendWirelessRebootPassphrase"},
|
||||||
{0x000E0040, unk_0x000E0040, "unk_0x000E0040"},
|
{0x000E0040, unk_0x000E0040, "unk_0x000E0040"},
|
||||||
};
|
};
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
DLP_SRVR_Interface::DLP_SRVR_Interface() {
|
||||||
// Interface class
|
|
||||||
|
|
||||||
Interface::Interface() {
|
|
||||||
Register(FunctionTable);
|
Register(FunctionTable);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace DLP
|
||||||
|
} // namespace Service
|
|
@ -6,18 +6,17 @@
|
||||||
|
|
||||||
#include "core/hle/service/service.h"
|
#include "core/hle/service/service.h"
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
namespace Service {
|
||||||
// Namespace DLP_SRVR
|
namespace DLP {
|
||||||
|
|
||||||
namespace DLP_SRVR {
|
class DLP_SRVR_Interface final : public Interface {
|
||||||
|
|
||||||
class Interface : public Service::Interface {
|
|
||||||
public:
|
public:
|
||||||
Interface();
|
DLP_SRVR_Interface();
|
||||||
|
|
||||||
std::string GetPortName() const override {
|
std::string GetPortName() const override {
|
||||||
return "dlp:SRVR";
|
return "dlp:SRVR";
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace
|
} // namespace DLP
|
||||||
|
} // namespace Service
|
|
@ -10,7 +10,6 @@
|
||||||
#include "core/hle/service/act_a.h"
|
#include "core/hle/service/act_a.h"
|
||||||
#include "core/hle/service/act_u.h"
|
#include "core/hle/service/act_u.h"
|
||||||
#include "core/hle/service/csnd_snd.h"
|
#include "core/hle/service/csnd_snd.h"
|
||||||
#include "core/hle/service/dlp_srvr.h"
|
|
||||||
#include "core/hle/service/dsp_dsp.h"
|
#include "core/hle/service/dsp_dsp.h"
|
||||||
#include "core/hle/service/err_f.h"
|
#include "core/hle/service/err_f.h"
|
||||||
#include "core/hle/service/gsp_gpu.h"
|
#include "core/hle/service/gsp_gpu.h"
|
||||||
|
@ -31,6 +30,7 @@
|
||||||
#include "core/hle/service/boss/boss.h"
|
#include "core/hle/service/boss/boss.h"
|
||||||
#include "core/hle/service/cam/cam.h"
|
#include "core/hle/service/cam/cam.h"
|
||||||
#include "core/hle/service/cecd/cecd.h"
|
#include "core/hle/service/cecd/cecd.h"
|
||||||
|
#include "core/hle/service/dlp/dlp.h"
|
||||||
#include "core/hle/service/frd/frd.h"
|
#include "core/hle/service/frd/frd.h"
|
||||||
#include "core/hle/service/fs/archive.h"
|
#include "core/hle/service/fs/archive.h"
|
||||||
#include "core/hle/service/cfg/cfg.h"
|
#include "core/hle/service/cfg/cfg.h"
|
||||||
|
@ -111,6 +111,7 @@ void Init() {
|
||||||
Service::CAM::Init();
|
Service::CAM::Init();
|
||||||
Service::CECD::Init();
|
Service::CECD::Init();
|
||||||
Service::CFG::Init();
|
Service::CFG::Init();
|
||||||
|
Service::DLP::Init();
|
||||||
Service::FRD::Init();
|
Service::FRD::Init();
|
||||||
Service::HID::Init();
|
Service::HID::Init();
|
||||||
Service::IR::Init();
|
Service::IR::Init();
|
||||||
|
@ -123,7 +124,6 @@ void Init() {
|
||||||
AddService(new ACT_A::Interface);
|
AddService(new ACT_A::Interface);
|
||||||
AddService(new ACT_U::Interface);
|
AddService(new ACT_U::Interface);
|
||||||
AddService(new CSND_SND::Interface);
|
AddService(new CSND_SND::Interface);
|
||||||
AddService(new DLP_SRVR::Interface);
|
|
||||||
AddService(new DSP_DSP::Interface);
|
AddService(new DSP_DSP::Interface);
|
||||||
AddService(new GSP_GPU::Interface);
|
AddService(new GSP_GPU::Interface);
|
||||||
AddService(new GSP_LCD::Interface);
|
AddService(new GSP_LCD::Interface);
|
||||||
|
@ -150,6 +150,7 @@ void Shutdown() {
|
||||||
Service::IR::Shutdown();
|
Service::IR::Shutdown();
|
||||||
Service::HID::Shutdown();
|
Service::HID::Shutdown();
|
||||||
Service::FRD::Shutdown();
|
Service::FRD::Shutdown();
|
||||||
|
Service::DLP::Shutdown();
|
||||||
Service::CFG::Shutdown();
|
Service::CFG::Shutdown();
|
||||||
Service::CECD::Shutdown();
|
Service::CECD::Shutdown();
|
||||||
Service::CAM::Shutdown();
|
Service::CAM::Shutdown();
|
||||||
|
|
Loading…
Reference in a new issue