diff options
Diffstat (limited to 'arm9/lib/include')
-rw-r--r-- | arm9/lib/include/OS_init.h | 2 | ||||
-rw-r--r-- | arm9/lib/include/OS_interrupt.h | 29 | ||||
-rw-r--r-- | arm9/lib/include/OS_terminate_proc.h | 11 | ||||
-rw-r--r-- | arm9/lib/include/OS_thread.h | 1 |
4 files changed, 43 insertions, 0 deletions
diff --git a/arm9/lib/include/OS_init.h b/arm9/lib/include/OS_init.h index 0c74035d..dd2b20c7 100644 --- a/arm9/lib/include/OS_init.h +++ b/arm9/lib/include/OS_init.h @@ -16,6 +16,8 @@ #include "OS_arena.h" #include "OS_alloc.h" #include "OS_system.h" +#include "OS_terminate_proc.h" +#include "OS_interrupt.h" #include "OS_reset.h" void OS_Init(); diff --git a/arm9/lib/include/OS_interrupt.h b/arm9/lib/include/OS_interrupt.h new file mode 100644 index 00000000..b8425b4e --- /dev/null +++ b/arm9/lib/include/OS_interrupt.h @@ -0,0 +1,29 @@ +// +// 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[7+1]; + +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); + +#endif //POKEDIAMOND_OS_INTERRUPT_H diff --git a/arm9/lib/include/OS_terminate_proc.h b/arm9/lib/include/OS_terminate_proc.h new file mode 100644 index 00000000..26741e5d --- /dev/null +++ b/arm9/lib/include/OS_terminate_proc.h @@ -0,0 +1,11 @@ +// +// Created by red031000 on 2020-05-07. +// + +#ifndef POKEDIAMOND_OS_TERMINATE_PROC_H +#define POKEDIAMOND_OS_TERMINATE_PROC_H + +void OS_Terminate(); +void OS_Halt(); + +#endif //POKEDIAMOND_OS_TERMINATE_PROC_H diff --git a/arm9/lib/include/OS_thread.h b/arm9/lib/include/OS_thread.h index c5602559..15cec0c9 100644 --- a/arm9/lib/include/OS_thread.h +++ b/arm9/lib/include/OS_thread.h @@ -30,6 +30,7 @@ struct _OSThread void OS_SleepThread(OSThreadQueue * queue); void OS_WakeupThread(OSThreadQueue * queue); + static inline void OS_InitThreadQueue(OSThreadQueue * queue) { queue->head = queue->tail = NULL; |