summaryrefslogtreecommitdiff
path: root/include/ultra64
diff options
context:
space:
mode:
Diffstat (limited to 'include/ultra64')
-rw-r--r--include/ultra64/sptask.h10
-rw-r--r--include/ultra64/sptaskoff.h23
2 files changed, 33 insertions, 0 deletions
diff --git a/include/ultra64/sptask.h b/include/ultra64/sptask.h
index 5218c64ca..56e3a306a 100644
--- a/include/ultra64/sptask.h
+++ b/include/ultra64/sptask.h
@@ -28,6 +28,14 @@
#define OS_YIELD_DATA_SIZE 0xC00
+#ifdef _LANGUAGE_ASSEMBLY
+#include "sptaskoff.h"
+#endif
+
+#ifdef _LANGUAGE_C
+
+#include "ultratypes.h"
+
typedef struct OSTask_t {
/* 0x00 */ u32 type;
/* 0x04 */ u32 flags;
@@ -66,3 +74,5 @@ typedef u32 OSYieldResult;
osSpTaskStartGo(p);
#endif
+
+#endif
diff --git a/include/ultra64/sptaskoff.h b/include/ultra64/sptaskoff.h
new file mode 100644
index 000000000..172b720fa
--- /dev/null
+++ b/include/ultra64/sptaskoff.h
@@ -0,0 +1,23 @@
+#ifndef ULTRA64_SPTASKOFF_H
+#define ULTRA64_SPTASKOFF_H
+
+#define OS_TASK_SIZE 0x40 /* sizeof(OSTask) */
+
+#define OS_TASK_OFF_TYPE 0x00
+#define OS_TASK_OFF_FLAGS 0x04
+#define OS_TASK_OFF_UBOOT 0x08
+#define OS_TASK_OFF_UBOOT_SZ 0x0C
+#define OS_TASK_OFF_UCODE 0x10
+#define OS_TASK_OFF_UCODE_SZ 0x14
+#define OS_TASK_OFF_UDATA 0x18
+#define OS_TASK_OFF_UDATA_SZ 0x1C
+#define OS_TASK_OFF_STACK 0x20
+#define OS_TASK_OFF_STACK_SZ 0x24
+#define OS_TASK_OFF_OUTBUFF 0x28
+#define OS_TASK_OFF_OUTBUFF_SZ 0x2C
+#define OS_TASK_OFF_DATA 0x30
+#define OS_TASK_OFF_DATA_SZ 0x34
+#define OS_TASK_OFF_YIELD 0x38
+#define OS_TASK_OFF_YIELD_SZ 0x3C
+
+#endif