summaryrefslogtreecommitdiff
path: root/src/wiiu/cafe.h
blob: 8645426cc6d815bbf440197780c86bf0b1e86bf1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
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 */