wut v1.8.0
Wii U Toolchain
Loading...
Searching...
No Matches
coroutine.h
Go to the documentation of this file.
1#pragma once
2#include <wut.h>
3
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14typedef struct OSCoroutine OSCoroutine;
15
17{
18 uint32_t nia;
19 uint32_t cr;
20 uint32_t ugqr1;
21 uint32_t stack;
22 uint32_t sda2Base;
23 uint32_t sdaBase;
24 uint32_t gpr[18];
25 double fpr[18];
26 double psr[18];
27};
28WUT_CHECK_OFFSET(OSCoroutine, 0x00, nia);
29WUT_CHECK_OFFSET(OSCoroutine, 0x04, cr);
30WUT_CHECK_OFFSET(OSCoroutine, 0x08, ugqr1);
31WUT_CHECK_OFFSET(OSCoroutine, 0x0C, stack);
32WUT_CHECK_OFFSET(OSCoroutine, 0x10, sda2Base);
33WUT_CHECK_OFFSET(OSCoroutine, 0x14, sdaBase);
34WUT_CHECK_OFFSET(OSCoroutine, 0x18, gpr);
35WUT_CHECK_OFFSET(OSCoroutine, 0x60, fpr);
36WUT_CHECK_OFFSET(OSCoroutine, 0xF0, psr);
37WUT_CHECK_SIZE(OSCoroutine, 0x180);
38
39void
41 void *entry,
42 void *stack);
43
44uint32_t
46 uint32_t result);
47
48uint32_t
50
51void
53 OSCoroutine *to);
54
55#ifdef __cplusplus
56}
57#endif
58
double fpr[18]
Definition coroutine.h:25
uint32_t nia
Definition coroutine.h:18
uint32_t gpr[18]
Definition coroutine.h:24
uint32_t sdaBase
Definition coroutine.h:23
uint32_t cr
Definition coroutine.h:19
uint32_t sda2Base
Definition coroutine.h:22
uint32_t stack
Definition coroutine.h:21
uint32_t ugqr1
Definition coroutine.h:20
double psr[18]
Definition coroutine.h:26
uint32_t OSSaveCoroutine(OSCoroutine *coroutine)
uint32_t OSLoadCoroutine(OSCoroutine *coroutine, uint32_t result)
void OSInitCoroutine(OSCoroutine *coroutine, void *entry, void *stack)
void OSSwitchCoroutine(OSCoroutine *from, OSCoroutine *to)