Browse Source
Merge pull request #889 from lioncash/fsp
service/filesystem: Add fsp:ldr and fsp:pr services
pull/15/merge
bunnei
8 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with
89 additions and
0 deletions
-
src/core/CMakeLists.txt
-
src/core/hle/service/filesystem/filesystem.cpp
-
src/core/hle/service/filesystem/fsp_ldr.cpp
-
src/core/hle/service/filesystem/fsp_ldr.h
-
src/core/hle/service/filesystem/fsp_pr.cpp
-
src/core/hle/service/filesystem/fsp_pr.h
|
|
|
@ -174,6 +174,10 @@ add_library(core STATIC |
|
|
|
hle/service/fatal/fatal_u.h |
|
|
|
hle/service/filesystem/filesystem.cpp |
|
|
|
hle/service/filesystem/filesystem.h |
|
|
|
hle/service/filesystem/fsp_ldr.cpp |
|
|
|
hle/service/filesystem/fsp_ldr.h |
|
|
|
hle/service/filesystem/fsp_pr.cpp |
|
|
|
hle/service/filesystem/fsp_pr.h |
|
|
|
hle/service/filesystem/fsp_srv.cpp |
|
|
|
hle/service/filesystem/fsp_srv.h |
|
|
|
hle/service/fgm/fgm.cpp |
|
|
|
|
|
|
|
@ -14,6 +14,8 @@ |
|
|
|
#include "core/file_sys/vfs_offset.h"
|
|
|
|
#include "core/file_sys/vfs_real.h"
|
|
|
|
#include "core/hle/service/filesystem/filesystem.h"
|
|
|
|
#include "core/hle/service/filesystem/fsp_ldr.h"
|
|
|
|
#include "core/hle/service/filesystem/fsp_pr.h"
|
|
|
|
#include "core/hle/service/filesystem/fsp_srv.h"
|
|
|
|
|
|
|
|
namespace Service::FileSystem { |
|
|
|
@ -298,6 +300,8 @@ void RegisterFileSystems() { |
|
|
|
|
|
|
|
void InstallInterfaces(SM::ServiceManager& service_manager) { |
|
|
|
RegisterFileSystems(); |
|
|
|
std::make_shared<FSP_LDR>()->InstallAsService(service_manager); |
|
|
|
std::make_shared<FSP_PR>()->InstallAsService(service_manager); |
|
|
|
std::make_shared<FSP_SRV>()->InstallAsService(service_manager); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -0,0 +1,24 @@ |
|
|
|
// Copyright 2018 yuzu emulator team
|
|
|
|
// Licensed under GPLv2 or any later version
|
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "core/hle/service/filesystem/fsp_ldr.h"
|
|
|
|
#include "core/hle/service/service.h"
|
|
|
|
|
|
|
|
namespace Service::FileSystem { |
|
|
|
|
|
|
|
FSP_LDR::FSP_LDR() : ServiceFramework{"fsp:ldr"} { |
|
|
|
// clang-format off
|
|
|
|
static const FunctionInfo functions[] = { |
|
|
|
{0, nullptr, "OpenCodeFileSystem"}, |
|
|
|
{1, nullptr, "IsArchivedProgram"}, |
|
|
|
{2, nullptr, "SetCurrentProcess"}, |
|
|
|
}; |
|
|
|
// clang-format on
|
|
|
|
|
|
|
|
RegisterHandlers(functions); |
|
|
|
} |
|
|
|
|
|
|
|
} // namespace Service::FileSystem
|
|
|
|
@ -0,0 +1,16 @@ |
|
|
|
// Copyright 2018 yuzu emulator team |
|
|
|
// Licensed under GPLv2 or any later version |
|
|
|
// Refer to the license.txt file included. |
|
|
|
|
|
|
|
#pragma once |
|
|
|
|
|
|
|
#include "core/hle/service/service.h" |
|
|
|
|
|
|
|
namespace Service::FileSystem { |
|
|
|
|
|
|
|
class FSP_LDR final : public ServiceFramework<FSP_LDR> { |
|
|
|
public: |
|
|
|
explicit FSP_LDR(); |
|
|
|
}; |
|
|
|
|
|
|
|
} // namespace Service::FileSystem |
|
|
|
@ -0,0 +1,25 @@ |
|
|
|
// Copyright 2018 yuzu emulator team
|
|
|
|
// Licensed under GPLv2 or any later version
|
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "core/hle/service/filesystem/fsp_pr.h"
|
|
|
|
#include "core/hle/service/service.h"
|
|
|
|
|
|
|
|
namespace Service::FileSystem { |
|
|
|
|
|
|
|
FSP_PR::FSP_PR() : ServiceFramework{"fsp:pr"} { |
|
|
|
// clang-format off
|
|
|
|
static const FunctionInfo functions[] = { |
|
|
|
{0, nullptr, "RegisterProgram"}, |
|
|
|
{1, nullptr, "UnregisterProgram"}, |
|
|
|
{2, nullptr, "SetCurrentProcess"}, |
|
|
|
{256, nullptr, "SetEnabledProgramVerification"}, |
|
|
|
}; |
|
|
|
// clang-format on
|
|
|
|
|
|
|
|
RegisterHandlers(functions); |
|
|
|
} |
|
|
|
|
|
|
|
} // namespace Service::FileSystem
|
|
|
|
@ -0,0 +1,16 @@ |
|
|
|
// Copyright 2018 yuzu emulator team |
|
|
|
// Licensed under GPLv2 or any later version |
|
|
|
// Refer to the license.txt file included. |
|
|
|
|
|
|
|
#pragma once |
|
|
|
|
|
|
|
#include "core/hle/service/service.h" |
|
|
|
|
|
|
|
namespace Service::FileSystem { |
|
|
|
|
|
|
|
class FSP_PR final : public ServiceFramework<FSP_PR> { |
|
|
|
public: |
|
|
|
explicit FSP_PR(); |
|
|
|
}; |
|
|
|
|
|
|
|
} // namespace Service::FileSystem |