diff options
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 |
