loader: update for new-ipc

This commit is contained in:
Michael Scire 2019-10-14 21:40:05 -07:00
parent ace60d0e3e
commit d81f97862a
5 changed files with 37 additions and 11 deletions

View File

@ -16,6 +16,7 @@
#pragma once
#include <switch.h>
#include "../os/os_common_types.hpp"
#include "../ncm/ncm_types.hpp"
namespace sts::cfg {

View File

@ -20,11 +20,12 @@
#include <switch.h>
#include "../svc/svc_types.hpp"
#include "../ncm/ncm_types.hpp"
#include "../sf/sf_buffer_tags.hpp"
namespace sts::ldr {
/* General types. */
struct ProgramInfo {
struct ProgramInfo : sf::LargeData {
u8 main_thread_priority;
u8 default_cpu_id;
u16 flags;
@ -36,7 +37,7 @@ namespace sts::ldr {
u32 aci_fah_size;
u8 ac_buffer[0x3E0];
};
static_assert(sizeof(ProgramInfo) == 0x400, "ProgramInfo definition!");
static_assert(std::is_pod<ProgramInfo>::value && sizeof(ProgramInfo) == 0x400, "ProgramInfo definition!");
enum ProgramInfoFlag {
ProgramInfoFlag_SystemModule = (0 << 0),

View File

@ -15,6 +15,8 @@
*/
#pragma once
#include <switch.h>
#include "../results.hpp"
#include "../util.hpp"
namespace sts::os {

View File

@ -0,0 +1,30 @@
/*
* Copyright (c) 2018-2019 Atmosphère-NX
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU General Public License,
* version 2, as published by the Free Software Foundation.
*
* This program is distributed in the hope it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
namespace sts::sf {
/* Helper structs for serialization of buffers. */
struct LargeData{};
struct PrefersMapAliasTransferMode{};
struct PrefersPointerTransferMode{};
struct PrefersAutoSelectTransferMode{};
}

View File

@ -18,6 +18,7 @@
#include "sf_common.hpp"
#include "sf_out.hpp"
#include "cmif/sf_cmif_pointer_and_size.hpp"
#include "sf_buffer_tags.hpp"
namespace sts::sf {
@ -47,15 +48,6 @@ namespace sts::sf {
}
/* Helper structs for serialization of buffers. */
struct LargeData{};
struct PrefersMapAliasTransferMode{};
struct PrefersPointerTransferMode{};
struct PrefersAutoSelectTransferMode{};
template<typename T>
constexpr inline bool IsLargeData = std::is_base_of<sf::LargeData, T>::value;