diff options
| author | aerosoul94 <aerosoul94@hotmail.com> | 2017-04-09 00:35:32 -0500 |
|---|---|---|
| committer | aerosoul94 <aerosoul94@hotmail.com> | 2017-04-09 00:35:32 -0500 |
| commit | 592b0484b9c1e943093dd93b720428ebfaa116d2 (patch) | |
| tree | ecc226844a4131c67f720b74471eb097bd9f8926 /src/wiiu/cafe.h | |
| parent | 991de71c144a0d2b70034593b03b6b93a96a0791 (diff) | |
Add Wii U RPX/RPL loader src. Some bug fixes.
Diffstat (limited to 'src/wiiu/cafe.h')
| -rw-r--r-- | src/wiiu/cafe.h | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/src/wiiu/cafe.h b/src/wiiu/cafe.h new file mode 100644 index 0000000..8645426 --- /dev/null +++ b/src/wiiu/cafe.h @@ -0,0 +1,84 @@ + +#ifndef CAFE_H +#define CAFE_H + +#define ELF_IDENT_OS_CAFE 0xCA +#define ELF_IDENT_ABI_CAFE_RPL 0xFE + +#define ELF_FILETYPE_CAFE_RPL 0xfe01 + +#define ELF_SECTIONFLAGEX_CAFE_RPL_COMPZ 0x08000000 + +#define ELF_SECTIONTYPE_CAFE_RPL_EXPORTS 0x80000001 +#define ELF_SECTIONTYPE_CAFE_RPL_IMPORTS 0x80000002 +#define ELF_SECTIONTYPE_CAFE_RPL_CRCS 0x80000003 +#define ELF_SECTIONTYPE_CAFE_RPL_FILEINFO 0x80000004 + +typedef struct _CAFE_RPL_FILE_INFO_3_0 +{ + Elf32_Word mVersion; /* CAFE_RPL_FILE_INFO_VERSION */ + Elf32_Word mRegBytes_Text; + Elf32_Word mRegBytes_TextAlign; + Elf32_Word mRegBytes_Data; + Elf32_Word mRegBytes_DataAlign; + Elf32_Word mRegBytes_Read; + Elf32_Word mRegBytes_ReadAlign; + Elf32_Word mRegBytes_Temp; + Elf32_Word mTrampAdj; + Elf32_Word mSDABase; + Elf32_Word mSDA2Base; + Elf32_Word mSizeCoreStacks; + Elf32_Word mSrcFileNameOffset; /* from start of FILE_INFO */ + Elf32_Word mReserved[3]; +} CAFE_RPL_FILE_INFO_3_0; + +typedef struct _CAFE_RPL_FILE_INFO_4_1 +{ + Elf32_Word mVersion; + Elf32_Word mRegBytes_Text; + Elf32_Word mRegBytes_TexAlign; + Elf32_Word mRegBytes_Data; + Elf32_Word mRegBytes_DataAlign; + Elf32_Word mRegBytes_LoaderInfo; + Elf32_Word mRegBytes_LoaderInfoAlign; + Elf32_Word mRegBytes_Temp; + Elf32_Word mTrampAdj; + Elf32_Word mSDABase; + Elf32_Word mSDA2Base; + Elf32_Word mSizeCoreStacks; + Elf32_Word mSrcFileNameOffset; + Elf32_Word mFlags; + Elf32_Word mSysHeapBytes; + Elf32_Word mTagsOffset; +} CAFE_RPL_FILE_INFO_4_1; + +typedef struct _CAFE_RPL_FILE_INFO_4_2 +{ + Elf32_Word mVersion; + Elf32_Word mRegBytes_Text; + Elf32_Word mRegBytes_TextAlign; + Elf32_Word mRegBytes_Data; + Elf32_Word mRegBytes_DataAlign; + Elf32_Word mRegBytes_LoaderInfo; + Elf32_Word mRegBytes_LoaderInfoAlign; + Elf32_Word mRegBytes_Temp; + Elf32_Word mTrampAdj; + Elf32_Word mSDABase; + Elf32_Word mSDA2Base; + Elf32_Word mSizeCoreStacks; + Elf32_Word mSrcFileNameOffset; + Elf32_Word mFlags; + Elf32_Word mSysHeapBytes; + Elf32_Word mTagsOffset; + Elf32_Word mRPLMinSDKVersion; + Elf32_Word mCompressionLevel; + Elf32_Word mTrampAddition; + Elf32_Word mFileInfoPad; + Elf32_Word mSDKVersion; + Elf32_Word mSDKRevision; + Elf32_Word mTLSModuleIndex; + Elf32_Half mTLSAlignShift; + Elf32_Half mRuntimeFileInfoSize; +} CAFE_RPL_FILE_INFO_4_2; + +#endif /* CAFE_H */
\ No newline at end of file |
