summaryrefslogtreecommitdiff
path: root/arm9/lib/src/SND_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/lib/src/SND_main.c')
-rw-r--r--arm9/lib/src/SND_main.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/arm9/lib/src/SND_main.c b/arm9/lib/src/SND_main.c
new file mode 100644
index 00000000..f533b87c
--- /dev/null
+++ b/arm9/lib/src/SND_main.c
@@ -0,0 +1,28 @@
+#include "SND_main.h"
+
+#include "global.h"
+#include "OS_mutex.h"
+
+static struct OSMutex sSndMutex;
+static s32 sSndInitialized;
+
+// TODO remove these declarations once we have the functions in the headers
+void OS_UnlockMutex(struct OSMutex *);
+void OS_LockMutex(struct OSMutex *);
+
+ARM_FUNC void SND_Init(void) {
+ if (sSndInitialized)
+ return;
+ sSndInitialized = 1;
+ OS_InitMutex(&sSndMutex);
+ SND_CommandInit();
+ SND_AlarmInit();
+}
+
+ARM_FUNC void SNDi_LockMutex(void) {
+ OS_LockMutex(&sSndMutex);
+}
+
+ARM_FUNC void SNDi_UnlockMutex(void) {
+ OS_UnlockMutex(&sSndMutex);
+}