Decompile `nuSiCallBackAdd`

This commit is contained in:
gijs 2023-10-21 20:04:22 +02:00
parent 3fed6ce22a
commit 9ace1366f9
1 changed files with 22 additions and 1 deletions

View File

@ -1,3 +1,24 @@
#include "common.h"
INCLUDE_ASM(const s32, "nu/nusicallbackadd", nuSiCallBackAdd);
#include "nu/nusys.h"
void nuSiCallBackAdd(NUCallBackList* list) {
OSIntMask mask;
NUCallBackList** siCallBackListPtr = &nuSiCallBackList;
u32 i;
while (*siCallBackListPtr != NULL) {
if ((*siCallBackListPtr)->majorNo == list->majorNo) {
return;
}
siCallBackListPtr = &(*siCallBackListPtr)->next;
}
for (i = 1; list->func[i] != NULL; i++);
mask = osSetIntMask(OS_IM_NONE);
*siCallBackListPtr = list;
list->next = NULL;
list->funcNum = i;
osSetIntMask(mask);
}