nstool/lib/libhac/include/nn/hac/nro.h

45 lines
859 B
C
Raw Permalink Normal View History

2018-06-04 04:00:28 +00:00
#pragma once
#include <fnd/types.h>
2018-08-07 07:17:51 +00:00
#include <nn/hac/macro.h>
2018-06-04 04:00:28 +00:00
2018-08-07 07:17:51 +00:00
namespace nn
{
namespace hac
2018-06-04 04:00:28 +00:00
{
namespace nro
{
static const uint32_t kNroStructMagic = _MAKE_STRUCT_MAGIC_U32("NRO0");
2018-06-04 04:00:28 +00:00
static const uint32_t kDefaultFormatVersion = 0;
static const size_t kRoCrtSize = 8;
static const size_t kModuleIdSize = 32;
}
#pragma pack(push,1)
struct sNroSection
{
le_uint32_t memory_offset;
le_uint32_t size;
};
struct sNroHeader
{
byte_t ro_crt[nro::kRoCrtSize];
byte_t reserved_0[8];
le_uint32_t st_magic;
2018-06-04 04:00:28 +00:00
le_uint32_t format_version;
le_uint32_t size;
le_uint32_t flags;
sNroSection text;
sNroSection ro;
sNroSection data;
le_uint32_t bss_size;
byte_t reserved_1[4];
byte_t module_id[nro::kModuleIdSize];
byte_t reserved_2[8];
sNroSection embedded;
sNroSection dyn_str;
sNroSection dyn_sym;
};
#pragma pack(pop)
}
2018-08-07 07:17:51 +00:00
}