Loading [MathJax]/extensions/tex2jax.js
Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
card.h
Go to the documentation of this file.
1#ifndef _DOLPHIN_CARD_H_
2#define _DOLPHIN_CARD_H_
3
4#include <dolphin/os.h>
5#include <dolphin/dsp.h>
6#include <dolphin/dvd.h>
7
8#ifdef __cplusplus
9extern "C" {
10#endif
11
12#define CARD_FILENAME_MAX 32
13#define CARD_MAX_FILE 127
14#define CARD_ICON_MAX 8
15
16typedef void (*CARDCallback)(s32 chan, s32 result);
17
25
26typedef struct CARDDir {
31 u8 fileName[CARD_FILENAME_MAX];
32 u32 time; // seconds since 01/01/2000 midnight
33 u32 iconAddr; // 0xffffffff if not used
41 u32 commentAddr; // 0xffffffff if not used
43
44typedef struct CARDControl {
45 /* 0x000 */ BOOL attached;
46 /* 0x004 */ s32 result;
47 /* 0x008 */ u16 size;
48 /* 0x00A */ u16 pageSize;
49 /* 0x00C */ s32 sectorSize;
50 /* 0x010 */ u16 cBlock;
51 /* 0x012 */ u16 vendorID;
52 /* 0x014 */ s32 latency;
53 /* 0x018 */ u8 id[12];
54 /* 0x024 */ int mountStep;
55 /* 0x028 */ int formatStep;
56 /* 0x028 */ u32 scramble;
57 /* 0x02C */ DSPTaskInfo task;
58 /* 0x080 */ void* workArea;
59 /* 0x084 */ CARDDir *currentDir;
60 /* 0x088 */ u16* currentFat;
62 /* 0x094 */ u8 cmd[9];
63 /* 0x0A0 */ s32 cmdlen;
64 /* 0x0A4 */ volatile u32 mode;
65 /* 0x0A8 */ int retry;
66 /* 0x0AC */ int repeat;
67 /* 0x0B0 */ u32 addr;
68 /* 0x0B4 */ void* buffer;
69 /* 0x0B8 */ s32 xferred;
70 /* 0x0BC */ u16 freeNo;
71 /* 0x0BE */ u16 startBlock;
72 /* 0x0C0 */ CARDFileInfo* fileInfo;
80 /* 0x0E0 */ OSAlarm alarm;
81 /* 0x108 */ u32 cid;
82 /* 0x10C */ const DVDDiskID* diskID;
84
85typedef struct CARDDecParam {
86 /* 0x00 */ u8* inputAddr;
87 /* 0x04 */ u32 inputLength;
88 /* 0x08 */ u32 aramAddr;
89 /* 0x0C */ u8* outputAddr;
91
92typedef struct CARDID {
93 /* 0x000 */ u8 serial[32];
94 /* 0x020 */ u16 deviceID;
95 /* 0x022 */ u16 size;
96 /* 0x024 */ u16 encode;
97 /* 0x026 */ u8 padding[470];
98 /* 0x1FC */ u16 checkSum;
99 /* 0x1FE */ u16 checkSumInv;
101
102typedef struct CARDDirCheck {
103 /* 0x00 */ u8 padding0[56];
104 /* 0x38 */ u16 padding1;
105 /* 0x3A */ s16 checkCode;
106 /* 0x3C */ u16 checkSum;
107 /* 0x3E */ u16 checkSumInv;
109
110typedef struct CARDStat {
111 /* 0x00 */ char fileName[CARD_FILENAME_MAX];
112 /* 0x20 */ u32 length;
113 /* 0x24 */ u32 time;
114 /* 0x28 */ u8 gameName[4];
115 /* 0x2C */ u8 company[2];
116 /* 0x2E */ u8 bannerFormat;
117 /* 0x30 */ u32 iconAddr;
118 /* 0x34 */ u16 iconFormat;
119 /* 0x36 */ u16 iconSpeed;
120 /* 0x38 */ u32 commentAddr;
121 /* 0x3C */ u32 offsetBanner;
123 /* 0x44 */ u32 offsetIcon[CARD_ICON_MAX];
124 /* 0x64 */ u32 offsetIconTlut;
125 /* 0x68 */ u32 offsetData;
127
128#define CARD_ATTR_PUBLIC 0x04u
129#define CARD_ATTR_NO_COPY 0x08u
130#define CARD_ATTR_NO_MOVE 0x10u
131#define CARD_ATTR_GLOBAL 0x20u
132#define CARD_ATTR_COMPANY 0x40u
133
134#define CARD_FAT_AVAIL 0x0000u
135#define CARD_FAT_CHECKSUM 0x0000u
136#define CARD_FAT_CHECKSUMINV 0x0001u
137#define CARD_FAT_CHECKCODE 0x0002u
138#define CARD_FAT_FREEBLOCKS 0x0003u
139#define CARD_FAT_LASTSLOT 0x0004u
140
141#define CARD_WORKAREA_SIZE (5 * 8 * 1024)
142
143#define CARD_SEG_SIZE 0x200u
144#define CARD_PAGE_SIZE 0x80u
145#define CARD_MAX_SIZE 0x01000000U
146
147#define CARD_NUM_SYSTEM_BLOCK 5
148#define CARD_SYSTEM_BLOCK_SIZE (8 * 1024u)
149
150#define CARD_MAX_MOUNT_STEP (CARD_NUM_SYSTEM_BLOCK + 2)
151
152#define CARD_STAT_SPEED_END 0
153#define CARD_STAT_SPEED_FAST 1
154#define CARD_STAT_SPEED_MIDDLE 2
155#define CARD_STAT_SPEED_SLOW 3
156#define CARD_STAT_SPEED_MASK 3
157
158#define CARD_STAT_ANIM_LOOP 0
159#define CARD_STAT_ANIM_BOUNCE 4
160#define CARD_STAT_ANIM_MASK 0x4
161
162#define CARD_RESULT_UNLOCKED 1
163#define CARD_RESULT_READY 0
164#define CARD_RESULT_BUSY -1
165#define CARD_RESULT_WRONGDEVICE -2
166#define CARD_RESULT_NOCARD -3
167#define CARD_RESULT_NOFILE -4
168#define CARD_RESULT_IOERROR -5
169#define CARD_RESULT_BROKEN -6
170#define CARD_RESULT_EXIST -7
171#define CARD_RESULT_NOENT -8
172#define CARD_RESULT_INSSPACE -9
173#define CARD_RESULT_NOPERM -10
174#define CARD_RESULT_LIMIT -11
175#define CARD_RESULT_NAMETOOLONG -12
176#define CARD_RESULT_ENCODING -13
177#define CARD_RESULT_CANCELED -14
178#define CARD_RESULT_FATAL_ERROR -128
179
180#define CARDIsValidBlockNo(card, blockNo) ((blockNo) >= CARD_NUM_SYSTEM_BLOCK && (blockNo) < (card)->cBlock)
181
182#define CARD_READ_SIZE 512
183#define CARD_COMMENT_SIZE 64
184
185#define CARD_ICON_WIDTH 32
186#define CARD_ICON_HEIGHT 32
187
188#define CARD_BANNER_WIDTH 96
189#define CARD_BANNER_HEIGHT 32
190
191#define CARD_STAT_ICON_NONE 0
192#define CARD_STAT_ICON_C8 1
193#define CARD_STAT_ICON_RGB5A3 2
194#define CARD_STAT_ICON_MASK 3
195
196#define CARD_STAT_BANNER_NONE 0
197#define CARD_STAT_BANNER_C8 1
198#define CARD_STAT_BANNER_RGB5A3 2
199#define CARD_STAT_BANNER_MASK 3
200
201#define CARD_ENCODE_ANSI 0
202#define CARD_ENCODE_SJIS 1
203
204#define CARDGetDirCheck(dir) ((CARDDirCheck*)&(dir)[CARD_MAX_FILE])
205#define CARDGetBannerFormat(stat) (((stat)->bannerFormat) & CARD_STAT_BANNER_MASK)
206#define CARDGetIconAnim(stat) (((stat)->bannerFormat) & CARD_STAT_ANIM_MASK)
207#define CARDGetIconFormat(stat, n) (((stat)->iconFormat >> (2 * (n))) & CARD_STAT_ICON_MASK)
208#define CARDGetIconSpeed(stat, n) (((stat)->iconSpeed >> (2 * (n))) & CARD_STAT_SPEED_MASK)
209#define CARDSetBannerFormat(stat, f) \
210 ((stat)->bannerFormat = (u8)(((stat)->bannerFormat & ~CARD_STAT_BANNER_MASK) | (f)))
211#define CARDSetIconAnim(stat, f) \
212 ((stat)->bannerFormat = (u8)(((stat)->bannerFormat & ~CARD_STAT_ANIM_MASK) | (f)))
213#define CARDSetIconFormat(stat, n, f) \
214 ((stat)->iconFormat = \
215 (u16)(((stat)->iconFormat & ~(CARD_STAT_ICON_MASK << (2 * (n)))) | ((f) << (2 * (n)))))
216#define CARDSetIconSpeed(stat, n, f) \
217 ((stat)->iconSpeed = \
218 (u16)(((stat)->iconSpeed & ~(CARD_STAT_SPEED_MASK << (2 * (n)))) | ((f) << (2 * (n)))))
219#define CARDSetIconAddress(stat, addr) ((stat)->iconAddr = (u32)(addr))
220#define CARDSetCommentAddress(stat, addr) ((stat)->commentAddr = (u32)(addr))
221#define CARDGetFileNo(fileInfo) ((fileInfo)->fileNo)
222
223extern u32 __CARDFreq;
224
225#if DEBUG
226#define CARDFreq __CARDFreq
227#else
228#define CARDFreq EXI_FREQ_16M
229#endif
230
231void CARDInit(void);
233s32 CARDCheckAsync(s32 chan, CARDCallback callback);
234s32 CARDFreeBlocks(s32 chan, s32* byteNotUsed, s32* filesNotUsed);
235s32 CARDRenameAsync(s32 chan, const char* oldName, const char* newName, CARDCallback callback);
236
237// CARDBios
238void CARDInit(void);
240s32 CARDFreeBlocks(s32 chan, s32* byteNotUsed, s32* filesNotUsed);
241s32 CARDGetEncoding(s32 chan, u16* encode);
244const DVDDiskID* CARDGetDiskID(s32 chan);
245s32 CARDSetDiskID(s32 chan, const DVDDiskID* diskID);
249
250// CARDCheck
251s32 CARDCheckExAsync(s32 chan, s32* xferBytes, CARDCallback callback);
252s32 CARDCheckAsync(s32 chan, CARDCallback callback);
253s32 CARDCheckEx(s32 chan, s32* xferBytes);
254s32 CARDCheck(s32 chan);
255
256// CARDCreate
257s32 CARDCreateAsync(s32 chan, const char* fileName, u32 size, CARDFileInfo* fileInfo, CARDCallback callback);
258s32 CARDCreate(s32 chan, const char* fileName, u32 size, CARDFileInfo* fileInfo);
259
260// CARDDelete
261s32 CARDFastDeleteAsync(s32 chan, s32 fileNo, CARDCallback callback);
262s32 CARDFastDelete(s32 chan, s32 fileNo);
263s32 CARDDeleteAsync(s32 chan, const char* fileName, CARDCallback callback);
264s32 CARDDelete(s32 chan, const char* fileName);
265
266// CARDErase
267s32 CARDEraseAsync(CARDFileInfo* fileInfo, s32 length, s32 offset, CARDCallback callback);
268s32 CARDErase(CARDFileInfo* fileInfo, s32 length, s32 offset);
269
270// CARDFormat
271s32 CARDFormat(s32 chan);
272
273// CARDMount
274int CARDProbe(s32 chan);
275s32 CARDProbeEx(s32 chan, s32* memSize, s32* sectorSize);
276s32 CARDMountAsync(s32 chan, void* workArea, CARDCallback detachCallback, CARDCallback attachCallback);
277s32 CARDMount(s32 chan, void* workArea, CARDCallback detachCallback);
278s32 CARDUnmount(s32 chan);
279
280// CARDNet
281u16 CARDSetVendorID(u16 vendorID);
283s32 CARDGetSerialNo(s32 chan, u64* serialNo);
284s32 CARDGetUniqueCode(s32 chan, u64* uniqueCode);
285s32 CARDGetAttributes(s32 chan, s32 fileNo, u8* attr);
286s32 CARDSetAttributesAsync(s32 chan, s32 fileNo, u8 attr, CARDCallback callback);
287s32 CARDSetAttributes(s32 chan, s32 fileNo, u8 attr);
288
289// CARDOpen
290s32 CARDFastOpen(s32 chan, s32 fileNo, CARDFileInfo* fileInfo);
291s32 CARDOpen(s32 chan, const char* fileName, CARDFileInfo* fileInfo);
292s32 CARDClose(CARDFileInfo* fileInfo);
293
294// CARDProgram
295s32 CARDProgramAsync(CARDFileInfo* fileInfo, void* buf, s32 length, s32 offset, CARDCallback callback);
296s32 CARDProgram(CARDFileInfo* fileInfo, void* buf, s32 length, s32 offset);
297
298// CARDRdwr
300
301// CARDRead
302s32 CARDReadAsync(CARDFileInfo* fileInfo, void* buf, s32 length, s32 offset, CARDCallback callback);
303s32 CARDRead(CARDFileInfo* fileInfo, void* buf, s32 length, s32 offset);
304s32 CARDCancel(CARDFileInfo* fileInfo);
305
306// CARDRename
307s32 CARDRename(s32 chan, const char* oldName, const char* newName);
308
309// CARDStat
310s32 CARDGetStatus(s32 chan, s32 fileNo, CARDStat* stat);
311s32 CARDSetStatusAsync(s32 chan, s32 fileNo, CARDStat* stat, CARDCallback callback);
312s32 CARDSetStatus(s32 chan, s32 fileNo, CARDStat* stat);
313
314// CARDWrite
315s32 CARDWriteAsync(CARDFileInfo* fileInfo, void* buf, s32 length, s32 offset, CARDCallback callback);
316s32 CARDWrite(CARDFileInfo* fileInfo, void* buf, s32 length, s32 offset);
317
318#ifdef __cplusplus
319}
320#endif
321
322#endif
u32 mode
Definition GXTev.c:56
unsigned int size
Definition __os.h:106
s32 CARDMount(s32 chan, void *workArea, CARDCallback detachCallback)
Definition CARDMount.c:355
BOOL CARDSetFastMode(BOOL enable)
Definition CARDBios.c:825
s32 CARDCreate(s32 chan, const char *fileName, u32 size, CARDFileInfo *fileInfo)
Definition CARDCreate.c:119
void CARDInit(void)
Definition CARDBios.c:596
s32 CARDCancel(CARDFileInfo *fileInfo)
Definition CARDRead.c:153
s32 CARDProbeEx(s32 chan, s32 *memSize, s32 *sectorSize)
Definition CARDMount.c:75
s32 CARDGetMemSize(s32 chan, u16 *size)
Definition CARDBios.c:774
const DVDDiskID * CARDGetDiskID(s32 chan)
Definition CARDBios.c:644
BOOL CARDGetFastMode(void)
Definition CARDBios.c:832
s32 CARDGetResultCode(s32 chan)
Definition CARDBios.c:711
s32 CARDGetStatus(s32 chan, s32 fileNo, CARDStat *stat)
Definition CARDStat.c:63
s32 CARDCheckExAsync(s32 chan, s32 *xferBytes, CARDCallback callback)
Definition CARDCheck.c:184
struct CARDID CARDID
int CARDProbe(s32 chan)
Definition CARDMount.c:67
s32 CARDSetStatus(s32 chan, s32 fileNo, CARDStat *stat)
Definition CARDStat.c:149
s32 CARDReadAsync(CARDFileInfo *fileInfo, void *buf, s32 length, s32 offset, CARDCallback callback)
Definition CARDRead.c:110
s32 CARDDelete(s32 chan, const char *fileName)
Definition CARDDelete.c:102
s32 CARDProgramAsync(CARDFileInfo *fileInfo, void *buf, s32 length, s32 offset, CARDCallback callback)
Definition CARDProgram.c:54
s32 CARDOpen(s32 chan, const char *fileName, CARDFileInfo *fileInfo)
Definition CARDOpen.c:126
s32 CARDGetEncoding(s32 chan, u16 *encode)
Definition CARDBios.c:759
s32 CARDSetAttributesAsync(s32 chan, s32 fileNo, u8 attr, CARDCallback callback)
Definition CARDNet.c:83
s32 CARDProgram(CARDFileInfo *fileInfo, void *buf, s32 length, s32 offset)
Definition CARDProgram.c:94
s32 CARDClose(CARDFileInfo *fileInfo)
Definition CARDOpen.c:157
u32 __CARDFreq
Definition CARDBios.c:11
s32 CARDErase(CARDFileInfo *fileInfo, s32 length, s32 offset)
Definition CARDErase.c:95
s32 CARDCheck(s32 chan)
Definition CARDCheck.c:340
s32 CARDFastDelete(s32 chan, s32 fileNo)
Definition CARDDelete.c:65
s32 CARDCreateAsync(s32 chan, const char *fileName, u32 size, CARDFileInfo *fileInfo, CARDCallback callback)
Definition CARDCreate.c:51
s32 CARDWriteAsync(CARDFileInfo *fileInfo, void *buf, s32 length, s32 offset, CARDCallback callback)
Definition CARDWrite.c:80
s32 CARDGetSectorSize(s32 chan, u32 *size)
Definition CARDBios.c:787
s32 CARDFastDeleteAsync(s32 chan, s32 fileNo, CARDCallback callback)
Definition CARDDelete.c:30
s32 CARDSetStatusAsync(s32 chan, s32 fileNo, CARDStat *stat, CARDCallback callback)
Definition CARDStat.c:102
void(* CARDCallback)(s32 chan, s32 result)
Definition card.h:16
s32 CARDEraseAsync(CARDFileInfo *fileInfo, s32 length, s32 offset, CARDCallback callback)
Definition CARDErase.c:58
s32 CARDGetAttributes(s32 chan, s32 fileNo, u8 *attr)
Definition CARDNet.c:69
s32 CARDWrite(CARDFileInfo *fileInfo, void *buf, s32 length, s32 offset)
Definition CARDWrite.c:116
s32 CARDGetCurrentMode(s32 chan, u32 *mode)
Definition CARDBios.c:836
s32 CARDGetXferredBytes(s32 chan)
Definition CARDRdwr.c:102
s32 CARDCheckEx(s32 chan, s32 *xferBytes)
Definition CARDCheck.c:331
s32 CARDFastOpen(s32 chan, s32 fileNo, CARDFileInfo *fileInfo)
Definition CARDOpen.c:93
s32 CARDCheckAsync(s32 chan, CARDCallback callback)
Definition CARDCheck.c:326
struct CARDStat CARDStat
s32 CARDGetUniqueCode(s32 chan, u64 *uniqueCode)
Definition CARDNet.c:47
s32 CARDMountAsync(s32 chan, void *workArea, CARDCallback detachCallback, CARDCallback attachCallback)
Definition CARDMount.c:298
s32 CARDRenameAsync(s32 chan, const char *oldName, const char *newName, CARDCallback callback)
Definition CARDRename.c:5
s32 CARDSetAttributes(s32 chan, s32 fileNo, u8 attr)
Definition CARDNet.c:108
struct CARDFileInfo CARDFileInfo
Definition m_Do_MemCardRWmng.h:6
struct CARDDir CARDDir
s32 CARDFreeBlocks(s32 chan, s32 *byteNotUsed, s32 *filesNotUsed)
Definition CARDBios.c:723
u16 CARDGetVendorID()
Definition CARDNet.c:16
s32 CARDRename(s32 chan, const char *oldName, const char *newName)
Definition CARDRename.c:64
s32 CARDGetSerialNo(s32 chan, u64 *serialNo)
Definition CARDNet.c:20
s32 CARDUnmount(s32 chan)
Definition CARDMount.c:382
u16 CARDSetVendorID(u16 vendorID)
Definition CARDNet.c:9
s32 CARDFormat(s32 chan)
Definition CARDFormat.c:130
struct CARDControl CARDControl
struct CARDDecParam CARDDecParam
s32 CARDRead(CARDFileInfo *fileInfo, void *buf, s32 length, s32 offset)
Definition CARDRead.c:144
s32 CARDDeleteAsync(s32 chan, const char *fileName, CARDCallback callback)
Definition CARDDelete.c:74
s32 CARDSetDiskID(s32 chan, const DVDDiskID *diskID)
Definition CARDBios.c:649
struct CARDDirCheck CARDDirCheck
static const Attr & attr()
Definition d_a_obj_ladder.cpp:135
Definition card.h:44
const DVDDiskID * diskID
Definition card.h:82
CARDCallback extCallback
Definition card.h:73
void * workArea
Definition card.h:58
volatile u32 mode
Definition card.h:64
CARDCallback exiCallback
Definition card.h:75
u32 cid
Definition card.h:81
CARDCallback eraseCallback
Definition card.h:78
u16 vendorID
Definition card.h:51
int formatStep
Definition card.h:55
CARDCallback xferCallback
Definition card.h:77
u16 startBlock
Definition card.h:71
s32 cmdlen
Definition card.h:63
u32 addr
Definition card.h:67
CARDDir * currentDir
Definition card.h:59
u16 freeNo
Definition card.h:70
u16 cBlock
Definition card.h:50
s32 result
Definition card.h:46
OSAlarm alarm
Definition card.h:80
void * buffer
Definition card.h:68
int mountStep
Definition card.h:54
int retry
Definition card.h:65
u32 scramble
Definition card.h:56
s32 xferred
Definition card.h:69
CARDFileInfo * fileInfo
Definition card.h:72
u16 pageSize
Definition card.h:48
DSPTaskInfo task
Definition card.h:57
s32 latency
Definition card.h:52
u16 size
Definition card.h:47
int repeat
Definition card.h:66
CARDCallback unlockCallback
Definition card.h:79
u16 * currentFat
Definition card.h:60
s32 sectorSize
Definition card.h:49
CARDCallback txCallback
Definition card.h:74
BOOL attached
Definition card.h:45
OSThreadQueue threadQueue
Definition card.h:61
u8 cmd[9]
Definition card.h:62
CARDCallback apiCallback
Definition card.h:76
Definition card.h:85
u8 * outputAddr
Definition card.h:89
u32 inputLength
Definition card.h:87
u32 aramAddr
Definition card.h:88
u8 * inputAddr
Definition card.h:86
Definition card.h:102
s16 checkCode
Definition card.h:105
u16 checkSum
Definition card.h:106
u8 padding0[56]
Definition card.h:103
u16 checkSumInv
Definition card.h:107
u16 padding1
Definition card.h:104
Definition card.h:26
u8 _padding1[2]
Definition card.h:40
u8 company[2]
Definition card.h:28
u8 _padding0
Definition card.h:29
u16 startBlock
Definition card.h:38
u32 time
Definition card.h:32
u16 length
Definition card.h:39
u16 iconFormat
Definition card.h:34
u32 iconAddr
Definition card.h:33
u8 fileName[CARD_FILENAME_MAX]
Definition card.h:31
u8 gameName[4]
Definition card.h:27
u8 bannerFormat
Definition card.h:30
u8 permission
Definition card.h:36
u16 iconSpeed
Definition card.h:35
u32 commentAddr
Definition card.h:41
u8 copyTimes
Definition card.h:37
Definition card.h:18
s32 length
Definition card.h:22
s32 offset
Definition card.h:21
s32 fileNo
Definition card.h:20
s32 chan
Definition card.h:19
u16 iBlock
Definition card.h:23
Definition card.h:92
u16 encode
Definition card.h:96
u16 size
Definition card.h:95
u16 deviceID
Definition card.h:94
u16 checkSumInv
Definition card.h:99
u16 checkSum
Definition card.h:98
u8 serial[32]
Definition card.h:93
u8 padding[470]
Definition card.h:97
Definition card.h:110
u8 bannerFormat
Definition card.h:116
u32 offsetBannerTlut
Definition card.h:122
u32 length
Definition card.h:112
u32 offsetIconTlut
Definition card.h:124
u32 time
Definition card.h:113
u8 gameName[4]
Definition card.h:114
u32 offsetIcon[CARD_ICON_MAX]
Definition card.h:123
char fileName[CARD_FILENAME_MAX]
Definition card.h:111
u32 offsetData
Definition card.h:125
u16 iconSpeed
Definition card.h:119
u16 iconFormat
Definition card.h:118
u32 iconAddr
Definition card.h:117
u32 offsetBanner
Definition card.h:121
u32 commentAddr
Definition card.h:120
u8 company[2]
Definition card.h:115
Definition dvd.h:68
Definition OSAlarm.h:12
Definition OSThread.h:19
Definition dsp.h:13
int BOOL
Definition types.h:30
unsigned long u32
Definition types.h:9
signed short int s16
Definition types.h:6
unsigned short int u16
Definition types.h:7
unsigned long long int u64
Definition types.h:11
signed long s32
Definition types.h:8
unsigned char u8
Definition types.h:5