summaryrefslogtreecommitdiff
path: root/libs/revolution/src/ax/AXAux.c
blob: 15396eac47021d1d694e2cd2d586b08d70cd0f9d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <revolution/ax.h>
#include <revolution/os.h>
#include <cstring>

static u8 __clearAuxA[3];

static AXAuxCallback __AXCallbackAuxA;
static void* __AXContextAuxA;

void AXRegisterAuxACallback(AXAuxCallback callback, void* context) {
#if SDK_AUG2010
    BOOL enabled = OSDisableInterrupts();
#endif

    __AXCallbackAuxA = callback;
    __AXContextAuxA = context;

#if SDK_AUG2010
    if (callback == NULL) {
        memset(&__clearAuxA, TRUE, 3);
    }

    OSRestoreInterrupts(enabled);
#endif
}

void AXGetAuxACallback(AXAuxCallback* callback, void** context) {
    *callback = __AXCallbackAuxA;
    *context = __AXContextAuxA;
}