summaryrefslogtreecommitdiff
path: root/arm9/lib/include/OS_interrupt.h
diff options
context:
space:
mode:
authorred031000 <rubenru09@aol.com>2020-05-12 23:12:35 +0100
committerred031000 <rubenru09@aol.com>2020-05-12 23:12:35 +0100
commit59171916421e659bcb35b1b47eaf748fac2fea6d (patch)
treefd5886b4a76002766c94a5d33a1a42fd14335e0e /arm9/lib/include/OS_interrupt.h
parent26b7a78d02b261256e420f149bb7bae66e392ee7 (diff)
parentf4ea052ed0b4e3b0d6a3c12bce46ee53228a9bc0 (diff)
Merge branch 'master' of https://github.com/martmists/pokediamond into overlay69
Diffstat (limited to 'arm9/lib/include/OS_interrupt.h')
-rw-r--r--arm9/lib/include/OS_interrupt.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/arm9/lib/include/OS_interrupt.h b/arm9/lib/include/OS_interrupt.h
new file mode 100644
index 00000000..21ce2ea0
--- /dev/null
+++ b/arm9/lib/include/OS_interrupt.h
@@ -0,0 +1,30 @@
+//
+// Created by red031000 on 2020-05-07.
+//
+
+#ifndef POKEDIAMOND_OS_INTERRUPT_H
+#define POKEDIAMOND_OS_INTERRUPT_H
+
+#include "types.h"
+
+typedef void (*OSIrqFunction) (void);
+
+typedef struct
+{
+ void (*func) (void *);
+ u32 enable;
+ void* arg;
+} OSIrqCallbackInfo;
+
+typedef u32 OSIrqMask;
+
+extern OSIrqFunction OS_IRQTable[];
+extern OSIrqCallbackInfo OSi_IrqCallbackInfo[8];
+
+void OS_InitIrqTable();
+void OS_SetIrqFunction(OSIrqMask intrBit, OSIrqFunction function);
+OSIrqFunction OS_GetIrqFunction(OSIrqMask intrBit);
+void OSi_EnterDmaCallback(u32 dmaNo, void (*callback) (void *), void *arg);
+void OSi_EnterTimerCallback(u32 timerNo, void (*callback) (void *), void *arg);
+
+#endif //POKEDIAMOND_OS_INTERRUPT_H