Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
os.h
Go to the documentation of this file.
1#ifndef _REVOLUTION_OS_H_
2#define _REVOLUTION_OS_H_
3
4#include <cstdio>
5
6#include <revolution/types.h>
8void OSReportInit(void);
9void OSVAttention(const char* fmt, va_list args);
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15typedef s64 OSTime;
16typedef u32 OSTick;
17
31#include <revolution/os/OSRtc.h>
35#include <revolution/os/OSDC.h>
36#include <revolution/os/OSIC.h>
37#include <revolution/os/OSLC.h>
38#include <revolution/os/OSL2.h>
43#include <revolution/os/OSUtf.h>
47#include <revolution/os/OSIpc.h>
49#include <revolution/os/OSNet.h>
50
51// private macro, maybe shouldn't be defined here?
52#define OFFSET(addr, align) (((u32)(addr) & ((align)-1)))
53
54#define DOLPHIN_ALIGNMENT 32
55
56// Upper words of the masks, since UIMM is only 16 bits
57#define OS_CACHED_REGION_PREFIX 0x8000
58#define OS_UNCACHED_REGION_PREFIX 0xC000
59#define OS_PHYSICAL_MASK 0x3FFF
60
61#define OS_BASE_CACHED (OS_CACHED_REGION_PREFIX << 16)
62#define OS_BASE_UNCACHED (OS_UNCACHED_REGION_PREFIX << 16)
63
64#ifdef __MWERKS__
65u32 __OSPhysicalMemSize AT_ADDRESS(OS_BASE_CACHED | 0x0028);
66volatile int __OSTVMode AT_ADDRESS(OS_BASE_CACHED | 0x00CC);
67OSThreadQueue __OSActiveThreadQueue AT_ADDRESS(OS_BASE_CACHED | 0x00DC);
68OSThread* __OSCurrentThread AT_ADDRESS(OS_BASE_CACHED | 0x00E4);
69u32 __OSSimulatedMemSize AT_ADDRESS(OS_BASE_CACHED | 0x00F0);
70u32 __OSBusClock AT_ADDRESS(OS_BASE_CACHED | 0x00F8);
71u32 __OSCoreClock AT_ADDRESS(OS_BASE_CACHED | 0x00FC);
72vu16 __OSDeviceCode AT_ADDRESS(OS_BASE_CACHED | 0x30E6);
73vu8 __OSLockedFlag AT_ADDRESS(OS_BASE_CACHED | 0x3187);
74u16 __OSWirelessPadFixMode AT_ADDRESS(OS_BASE_CACHED | 0x30E0);
75vu32 __OSLaunchPartitionType AT_ADDRESS(OS_BASE_CACHED | 0x3194);
76vu8 __OSDeviceCheckCode AT_ADDRESS(OS_BASE_CACHED | 0x319C);
77
78// unknowns
79OSThread* __gUnkThread1 AT_ADDRESS(OS_BASE_CACHED | 0x00D8);
80int __gUnknown800030C0[2] AT_ADDRESS(OS_BASE_CACHED | 0x30C0);
81u8 __gUnknown800030E3 AT_ADDRESS(OS_BASE_CACHED | 0x30E3);
82#else
83#define __OSPhysicalMemSize (*(u32*)(OS_BASE_CACHED | 0x0028))
84#define __OSTVMode (*(volatile int*)(OS_BASE_CACHED | 0x00CC))
85#define __OSActiveThreadQueue (*(OSThreadQueue*)(OS_BASE_CACHED | 0x00DC))
86#define __OSCurrentThread ((OSThread*)(OS_BASE_CACHED | 0x00E4))
87#define __OSSimulatedMemSize (*(u32*)(OS_BASE_CACHED | 0x00F0))
88#define __OSBusClock (*(u32*)(OS_BASE_CACHED | 0x00F8))
89#define __OSCoreClock (*(u32*)(OS_BASE_CACHED | 0x00FC))
90#define __OSDeviceCode (*(vu16*)(OS_BASE_CACHED | 0x30E6))
91#define __OSLockedFlag (*(vu8*)(OS_BASE_CACHED | 0x3187))
92#define __OSWirelessPadFixMode (*(u16*)(OS_BASE_CACHED | 0x30E0))
93#define __OSLaunchPartitionType (*(vu32*)(OS_BASE_CACHED | 0x3194))
94#define __OSDeviceCheckCode (*(vu8*)(OS_BASE_CACHED | 0x319C))
95#endif
96
97#define OS_BUS_CLOCK __OSBusClock
98#define OS_CORE_CLOCK __OSCoreClock
99#define OS_TIMER_CLOCK (OS_BUS_CLOCK/4)
100
101#define OSTicksToSeconds(ticks) ((ticks) / (OS_TIMER_CLOCK))
102#define OSTicksToMilliseconds(ticks) ((ticks) / (OS_TIMER_CLOCK/1000))
103#define OSTicksToMicroseconds(ticks) ((ticks) * 8 / (OS_TIMER_CLOCK/125000))
104#define OSSecondsToTicks(sec) ((sec) * (OS_TIMER_CLOCK))
105#define OSMillisecondsToTicks(msec) ((msec) * (OS_TIMER_CLOCK / 1000))
106#define OSNanosecondsToTicks(nsec) (((nsec) * (OS_TIMER_CLOCK / 125000)) / 8000)
107#define OSMicrosecondsToTicks(usec) (((usec) * (OS_TIMER_CLOCK / 125000)) / 8)
108#define OSTicksDelta(x, y) ((s32)x, (s32)y)
109
111void OSInit(void);
112void OSRegisterVersion(const char* id);
113const char* OSGetAppGamename(void);
114
115void* OSGetArenaHi(void);
116void* OSGetArenaLo(void);
117void OSSetArenaHi(void* newHi);
118void OSSetArenaLo(void* newLo);
119
120void OSSetMEM1ArenaHi(void* newHi);
121void OSSetMEM1ArenaLo(void* newLo);
122void OSSetMEM2ArenaHi(void* newHi);
123void OSSetMEM2ArenaLo(void* newLo);
124
125void* OSGetMEM1ArenaLo(void);
126void* OSGetMEM1ArenaHi(void);
127void* OSGetMEM2ArenaLo(void);
128void* OSGetMEM2ArenaHi(void);
129
130void* OSAllocFromMEM1ArenaLo(u32 size, u32 align);
131void* OSAllocFromMEM1ArenaHi(u32 size, u32 align);
132
133void __OSPSInit(void);
134void __OSFPRInit(void);
135u32 __OSGetDIConfig(void);
136
138
139typedef struct OSCalendarTime {
140 /* 0x00 */ int sec;
141 /* 0x04 */ int min;
142 /* 0x08 */ int hour;
143 /* 0x0C */ int mday;
144 /* 0x10 */ int mon;
145 /* 0x14 */ int year;
146 /* 0x18 */ int wday;
147 /* 0x1C */ int yday;
148 /* 0x20 */ int msec;
149 /* 0x24 */ int usec;
151
152#include <revolution/dvd.h>
153typedef struct OSBootInfo_s {
155 u32 magic;
156 u32 version;
159 void* arenaLo;
160 void* arenaHi;
161 void* FSTLocation;
164
174
175typedef struct OSStopwatch {
176 char* name;
177 u32 hits;
179 OSTime min;
180 OSTime max;
181 OSTime last;
185
186void OSInitStopwatch(OSStopwatch* sw, char* name);
192
193OSTick OSGetTick(void);
194OSTime OSGetTime(void);
200
201#define OS_CONSOLE_MASK 0xF0000000
202#define OS_CONSOLE_RETAIL 0x00000000
203#define OS_CONSOLE_DEVELOPMENT 0x10000000
204#define OS_CONSOLE_TDEV 0x20000000
205
206#define OS_CONSOLE_RETAIL4 0x00000004
207#define OS_CONSOLE_RETAIL3 0x00000003
208#define OS_CONSOLE_RETAIL2 0x00000002
209#define OS_CONSOLE_RETAIL1 0x00000001
210#define OS_CONSOLE_TDEVHW4 0x20000007
211#define OS_CONSOLE_TDEVHW3 0x20000006
212#define OS_CONSOLE_TDEVHW2 0x20000005
213#define OS_CONSOLE_TDEVHW1 0x20000004
214#define OS_CONSOLE_DEVHW4 0x10000007
215#define OS_CONSOLE_DEVHW3 0x10000006
216#define OS_CONSOLE_DEVHW2 0x10000005
217#define OS_CONSOLE_DEVHW1 0x10000004
218#define OS_CONSOLE_MINNOW 0x10000003
219#define OS_CONSOLE_ARTHUR 0x10000002
220#define OS_CONSOLE_PC_EMULATOR 0x10000001
221#define OS_CONSOLE_EMULATOR 0x10000000
222
223#define OS_SOUND_MODE_MONO 0
224#define OS_SOUND_MODE_STEREO 1
225
226u32 OSGetSoundMode(void);
228
229u8 OSGetAppType(void);
230
231DECL_WEAK void OSReport(const char* msg, ...);
232DECL_WEAK void OSVReport(const char* msg, va_list list);
233DECL_WEAK void OSPanic(const char* file, int line, const char* msg, ...);
234void OSFatal(GXColor fg, GXColor bg, const char* msg);
235
236// do these belong here?
237DECL_WEAK void OSAttention(const char* msg, ...);
238DECL_WEAK void OSReport_Error(const char* fmt, ...);
239DECL_WEAK void OSReport_FatalError(const char* fmt, ...);
240DECL_WEAK void OSReport_System(const char* fmt, ...);
241DECL_WEAK void OSReport_Warning(const char* fmt, ...);
242DECL_WEAK void OSReportDisable(void);
243DECL_WEAK void OSReportEnable(void);
244DECL_WEAK void OSReportForceEnableOff(void);
245DECL_WEAK void OSReportForceEnableOn(void);
246DECL_WEAK void OSVReport(const char* format, va_list list);
247
248DECL_WEAK void OSSwitchFiberEx(u32, u32, u32, u32, u32, u32);
249
250#if DEBUG
251#define OS_REPORT(...) OSReport(__VA_ARGS__)
252#define OS_WARNING(...) OSReport_Warning(__VA_ARGS__)
253#define OS_REPORT_ERROR(...) OSReport_Error(__VA_ARGS__)
254#define OS_PANIC(line, msg) OSPanic(__FILE__, line, msg)
255#else
256#define OS_REPORT(...)
257#define OS_WARNING(...)
258#define OS_REPORT_ERROR(...)
259#define OS_PANIC(...)
260#endif
261
266extern u8 __OSReport_enable;
267
268#define OSRoundUp32B(x) (((u32)(x) + 32 - 1) & ~(32 - 1))
269#define OSRoundDown32B(x) (((u32)(x)) & ~(32 - 1))
270
271void* OSPhysicalToCached(u32 paddr);
272void* OSPhysicalToUncached(u32 paddr);
273u32 OSCachedToPhysical(void* caddr);
274u32 OSUncachedToPhysical(void* ucaddr);
275void* OSCachedToUncached(void* caddr);
276void* OSUncachedToCached(void* ucaddr);
277
278#if !DEBUG
279#define OSPhysicalToCached(paddr) ((void*) ((u32)(OS_BASE_CACHED + (u32)(paddr))))
280#define OSPhysicalToUncached(paddr) ((void*) ((u32)(OS_BASE_UNCACHED + (u32)(paddr))))
281#define OSCachedToPhysical(caddr) ((u32) ((u32)(caddr) - OS_BASE_CACHED))
282#define OSUncachedToPhysical(ucaddr) ((u32) ((u32)(ucaddr) - OS_BASE_UNCACHED))
283#define OSCachedToUncached(caddr) ((void*) ((u8*)(caddr) + (OS_BASE_UNCACHED - OS_BASE_CACHED)))
284#define OSUncachedToCached(ucaddr) ((void*) ((u8*)(ucaddr) - (OS_BASE_UNCACHED - OS_BASE_CACHED)))
285#endif
286
287#define OSIsMEM1Region(addr) (((u32)(addr) & 0x30000000) == 0x00000000)
288#define OSIsMEM2Region(addr) (((u32)(addr) & 0x30000000) == 0x10000000)
289
290// unsorted externs
291extern OSTime __OSGetSystemTime(void);
292DECL_WEAK extern int __OSIsGcam;
294extern OSTime __OSStartTime;
295extern int __OSInIPL;
296extern BOOL __OSInReboot;
297
298#if DEBUG
299#define ASSERTLINE(line, cond) \
300 ((cond) || (OSPanic(__FILE__, line, "Failed assertion " #cond), 0))
301
302#define ASSERTMSGLINE(line, cond, msg) \
303 ((cond) || (OSPanic(__FILE__, line, msg), 0))
304
305// This is dumb but we dont have a Metrowerks way to do variadic macros in the macro to make this done in a not scrubby way.
306#define ASSERTMSG1LINE(line, cond, msg, arg1) \
307 ((cond) || (OSPanic(__FILE__, line, msg, arg1), 0))
308
309#define ASSERTMSG2LINE(line, cond, msg, arg1, arg2) \
310 ((cond) || (OSPanic(__FILE__, line, msg, arg1, arg2), 0))
311
312#define ASSERTMSGLINEV(line, cond, ...) \
313 ((cond) || (OSPanic(__FILE__, line, __VA_ARGS__), 0))
314
315#else
316#define ASSERTLINE(line, cond) (void)0
317#define ASSERTMSGLINE(line, cond, msg) (void)0
318#define ASSERTMSG1LINE(line, cond, msg, arg1) (void)0
319#define ASSERTMSG2LINE(line, cond, msg, arg1, arg2) (void)0
320#define ASSERTMSGLINEV(line, cond, ...) (void)0
321#endif
322
323#define ASSERT(cond) ASSERTLINE(__LINE__, cond)
324
325static inline u8 __OSf32tou8(__REGISTER f32 in) {
326 f32 a;
327 __REGISTER f32* ptr = &a;
328 u8 r;
329
330#if defined(__MWERKS__)
331 asm { psq_st in, 0(ptr), 1, 2 };
332#else
333# pragma unused(in)
334#endif
335
336 r = *(u8 *)ptr;
337
338 return r;
339}
340
341static inline u16 __OSf32tou16(__REGISTER f32 in) {
342 f32 a;
343 __REGISTER f32* ptr = &a;
344 u16 r;
345
346#if defined(__MWERKS__)
347 asm { psq_st in, 0(ptr), 1, 3 };
348#else
349# pragma unused(in)
350#endif
351
352 r = *(u16 *)ptr;
353
354 return r;
355}
356
357static inline s16 __OSf32tos16(__REGISTER f32 in) {
358 f32 a;
359 __REGISTER f32* ptr = &a;
360 s16 r;
361
362#if defined(__MWERKS__)
363 asm { psq_st in, 0(ptr), 1, 5 };
364#else
365# pragma unused(in)
366#endif
367
368 r = *(s16*)ptr;
369
370 return r;
371}
372
373static inline f32 __OSu16tof32(__REGISTER u16 const* arg) {
374 __REGISTER f32 ret;
375
376#if defined(__MWERKS__)
377 asm { psq_l ret, 0(arg), 1, 3 };
378#else
379# pragma unused(arg)
380 ret = 0;
381#endif
382
383 return ret;
384}
385
386static inline f32 __OSs16tof32(__REGISTER s16 const* arg) {
387 __REGISTER f32 ret;
388
389#if defined(__MWERKS__)
390 asm { psq_l ret, 0(arg), 1, 5 };
391#else
392# pragma unused(arg)
393 ret = 0;
394#endif
395
396 return ret;
397}
398
399static inline void OSf32tou8(f32 const* in, u8* out) {
400 *out = __OSf32tou8(*in);
401}
402
403static inline void OSf32tou16(f32 const* in, u16* out) {
404 *out = __OSf32tou16(*in);
405}
406
407static inline void OSf32tos16(f32 const* in, s16* out) {
408 *out = __OSf32tos16(*in);
409}
410
411static inline void OSs16tof32(s16 const* in, f32* out) {
412 *out = __OSs16tof32(in);
413}
414
415static inline void OSu16tof32(u16 const* in, f32* out) {
416 *out = __OSu16tof32(in);
417}
418
419static inline void OSInitFastCast(void) {
420 // clang-format off
421#ifdef __MWERKS__
422 asm {
423 li r3, 4
424 oris r3, r3, 4
425 mtspr 0x392, r3
426 li r3, 5
427 oris r3, r3, 5
428 mtspr 0x393, r3
429 li r3, 6
430 oris r3, r3, 6
431 mtspr 0x394, r3
432 li r3, 7
433 oris r3, r3, 7
434 mtspr 0x395, r3
435 }
436#endif
437 // clang-format on
438}
439
440#ifdef __cplusplus
441}
442#endif
443
444#endif
s16 name
Definition d_a_e_pz.cpp:1757
u32 mode
Definition GXTev.c:56
u8 __OSException
Definition OSException.h:34
unsigned int size
Definition __os.h:106
BOOL OSDisableInterrupts(void)
Definition OSInterrupt.c:85
void OSf32tos16(f32 *f, s16 *out)
Definition os.h:307
DECL_WEAK int __OSIsGcam
Definition OS.c:63
void OSReportInit(void)
Definition m_Do_printf.cpp:103
OSTime OSGetTime(void)
Definition OSTime.c:14
BOOL OSRestoreInterrupts(BOOL level)
void OSFatal(GXColor fg, GXColor bg, const char *msg)
Definition OSFatal.c:159
void __OSPSInit(void)
Definition OS.c:605
DECL_WEAK void OSReportForceEnableOff(void)
Definition m_Do_printf.cpp:76
u32 OSUncachedToPhysical(void *ucaddr)
Definition OSAddress.c:26
OSExecParams __OSRebootParams
Definition OS.c:43
void OSTicksToCalendarTime(OSTime ticks, OSCalendarTime *td)
Definition OSTime.c:137
u8 __OSReport_System_disable
Definition m_Do_printf.cpp:17
struct OSCalendarTime OSCalendarTime
s64 OSTime
Definition os.h:19
void OSSetSoundMode(u32 mode)
Definition OSRtc.c:306
BOOL OSEnableInterrupts(void)
Definition OSInterrupt.c:96
OSTime __OSStartTime
Definition OS.c:57
void * OSCachedToUncached(void *caddr)
Definition OSAddress.c:31
DECL_WEAK void OSReport_Error(const char *fmt,...)
Definition m_Do_printf.cpp:215
u8 __OSf32tou8(__REGISTER f32 inF)
Definition os.h:311
void OSResetStopwatch(OSStopwatch *sw)
Definition OSStopwatch.c:44
void OSRegisterVersion(const char *id)
Definition OS.c:629
DECL_WEAK void OSReport_System(const char *fmt,...)
Definition m_Do_printf.cpp:262
DECL_WEAK void OSReport(const char *msg,...)
Definition OSError.c:12
u32 OSGetSoundMode(void)
Definition OSRtc.c:298
u32 OSTick
Definition os.h:20
void * OSPhysicalToCached(u32 paddr)
Definition OSAddress.c:11
OSTime OSCheckStopwatch(OSStopwatch *sw)
Definition OSStopwatch.c:34
u32 __OSPhysicalMemSize AT_ADDRESS(OS_BASE_CACHED|0x0028)
void OSStopStopwatch(OSStopwatch *sw)
Definition OSStopwatch.c:17
u8 __OSReport_Warning_disable
Definition m_Do_printf.cpp:15
u8 __OSReport_disable
Definition m_Do_printf.cpp:11
void * OSPhysicalToUncached(u32 paddr)
Definition OSAddress.c:16
void OSInitStopwatch(OSStopwatch *sw, char *name)
Definition OSStopwatch.c:4
DECL_WEAK void OSVReport(const char *msg, va_list list)
Definition OSError.c:19
void __OSFPRInit(void)
Definition OS.c:86
DECL_WEAK void OSPanic(const char *file, int line, const char *msg,...)
Definition OSError.c:23
void OSVAttention(const char *fmt, va_list args)
Definition m_Do_printf.cpp:53
DECL_WEAK void OSReportDisable(void)
Definition m_Do_printf.cpp:64
void * OSGetArenaLo(void)
Definition OSArena.c:16
u32 OSGetConsoleType(void)
Definition OS.c:181
s16 __OSf32tos16(__REGISTER f32 inF)
Definition os.h:291
void OSSwitchFiberEx(u32, u32, u32, u32, u32, u32)
DECL_WEAK void OSReportForceEnableOn(void)
Definition m_Do_printf.cpp:72
void OSStartStopwatch(OSStopwatch *sw)
Definition OSStopwatch.c:12
u32 OSCachedToPhysical(void *caddr)
Definition OSAddress.c:21
struct OSBootInfo_s OSBootInfo
DECL_WEAK void OSReport_Warning(const char *fmt,...)
Definition m_Do_printf.cpp:245
OSTick OSGetTick(void)
Definition OSTime.c:29
void OSSetArenaHi(void *newHi)
Definition OSArena.c:22
int __OSInIPL
Definition OS.c:58
void * OSGetArenaHi(void)
Definition OSArena.c:10
u8 __OSReport_enable
Definition m_Do_printf.cpp:19
OSTime OSCalendarTimeToTicks(OSCalendarTime *td)
Definition OSTime.c:173
struct OSStopwatch OSStopwatch
void OSSetArenaLo(void *newLo)
Definition OSArena.c:26
u32 __OSGetDIConfig(void)
Definition OS.c:625
DECL_WEAK void OSReportEnable(void)
Definition m_Do_printf.cpp:68
OSTime __OSGetSystemTime(void)
Definition OSTime.c:59
void OSf32tou8(f32 *f, u8 *out)
Definition os.h:327
DECL_WEAK void OSReport_FatalError(const char *fmt,...)
Definition m_Do_printf.cpp:200
void OSDefaultExceptionHandler(__OSException exception, OSContext *context)
void OSDumpStopwatch(OSStopwatch *sw)
Definition OSStopwatch.c:48
void * OSUncachedToCached(void *ucaddr)
Definition OSAddress.c:36
static void OSInitFastCast(void)
Definition os.h:331
u8 __OSReport_Error_disable
Definition m_Do_printf.cpp:13
DECL_WEAK void OSAttention(const char *msg,...)
Definition m_Do_printf.cpp:57
void OSInit(void)
Definition OS.c:230
r
Definition e_acos.c:105
int BOOL
Definition types.h:33
volatile u8 vu8
Definition types.h:16
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
signed long long int s64
Definition types.h:13
float f32
Definition types.h:25
volatile u16 vu16
Definition types.h:17
unsigned short int u16
Definition types.h:10
volatile u32 vu32
Definition types.h:18
unsigned char u8
Definition types.h:8
a
Definition k_cos.c:89
void OSSetMEM1ArenaHi(void *newHi)
Definition OSArena.c:41
static f32 __OSu16tof32(__REGISTER u16 const *arg)
Definition os.h:373
void * OSGetMEM2ArenaLo(void)
Definition OSArena.c:33
void * OSGetMEM1ArenaLo(void)
Definition OSArena.c:27
void * OSGetMEM1ArenaHi(void)
Definition OSArena.c:13
static f32 __OSs16tof32(__REGISTER s16 const *arg)
Definition os.h:386
u8 OSGetAppType(void)
Definition OS.c:999
static void OSu16tof32(u16 const *in, f32 *out)
Definition os.h:415
static void OSs16tof32(s16 const *in, f32 *out)
Definition os.h:411
void OSSetMEM1ArenaLo(void *newLo)
Definition OSArena.c:53
static void OSf32tou16(f32 const *in, u16 *out)
Definition os.h:403
void * OSAllocFromMEM1ArenaLo(u32 size, u32 align)
Definition OSArena.c:65
struct OSIOSRev OSIOSRev
BOOL __OSInReboot
Definition OSExec.c:20
static u16 __OSf32tou16(__REGISTER f32 in)
Definition os.h:341
void OSSetMEM2ArenaHi(void *newHi)
Definition OSArena.c:45
const char * OSGetAppGamename(void)
Definition OS.c:983
void OSSetMEM2ArenaLo(void *newLo)
Definition OSArena.c:57
void * OSGetMEM2ArenaHi(void)
Definition OSArena.c:19
void * OSAllocFromMEM1ArenaHi(u32 size, u32 align)
Definition OSArena.c:77
Definition dvd.h:71
Definition os.h:128
u32 version
Definition os.h:131
u32 FSTMaxLength
Definition os.h:137
DVDDiskID DVDDiskID
Definition os.h:129
void * arenaLo
Definition os.h:134
void * FSTLocation
Definition os.h:136
u32 magic
Definition os.h:130
void * arenaHi
Definition os.h:135
u32 consoleType
Definition os.h:133
u32 memorySize
Definition os.h:132
Definition os.h:114
int msec
Definition os.h:123
int mday
Definition os.h:118
int sec
Definition os.h:115
int yday
Definition os.h:122
int mon
Definition os.h:119
int wday
Definition os.h:121
int year
Definition os.h:120
int usec
Definition os.h:124
int min
Definition os.h:116
int hour
Definition os.h:117
Definition OSContext.h:140
Definition OSExec.h:13
Definition os.h:165
u8 major
Definition os.h:167
u8 month
Definition os.h:170
u8 date
Definition os.h:171
u8 micro
Definition os.h:169
u8 minor
Definition os.h:168
u16 year
Definition os.h:172
u8 reserved
Definition os.h:166
Definition os.h:140
OSTime min
Definition os.h:144
OSTime last
Definition os.h:146
char * name
Definition os.h:141
u32 hits
Definition os.h:142
OSTime max
Definition os.h:145
u32 _padding
Definition os.h:148
BOOL running
Definition os.h:147
OSTime total
Definition os.h:143
Definition OSThread.h:22
Definition OSThread.h:42
Definition GXStruct.h:30
Definition fdlibm.h:75