summaryrefslogtreecommitdiff
path: root/include/SDK
diff options
context:
space:
mode:
authorMax <mparisi@stevens.edu>2020-10-27 16:13:32 -0400
committerMax <mparisi@stevens.edu>2020-10-27 16:13:32 -0400
commit126972af1a4ff9084cd48f9c57eb07f3951e5086 (patch)
tree55ac7ff81ee2656da6542fb2700452a15436a77b /include/SDK
parent69dd6927a2ec6791639065a70da615228ae362f6 (diff)
match up to func_801DC9CC
Diffstat (limited to 'include/SDK')
-rw-r--r--include/SDK/DVD/dvd.h9
-rw-r--r--include/SDK/DVD/dvdfs.h4
-rw-r--r--include/SDK/OS/OSSemaphore.h21
-rw-r--r--include/SDK/os.h1
4 files changed, 34 insertions, 1 deletions
diff --git a/include/SDK/DVD/dvd.h b/include/SDK/DVD/dvd.h
index f10826f..e9517dc 100644
--- a/include/SDK/DVD/dvd.h
+++ b/include/SDK/DVD/dvd.h
@@ -13,9 +13,18 @@ typedef struct DVDDiskID
u8 unk7;
} DVDDiskID;
+typedef struct DVDCommandBlock
+{
+ u8 unk0[0x30];
+} DVDCommandBlock;
+
+typedef void (*DVDCBCallback)(s32 result, DVDCommandBlock* block);
+
DVDDiskID* DVDGetCurrentDiskID(void);
void DVDInit(void);
s32 DVDGetDriveStatus(void);
+BOOL DVDCheckDiskAsync(DVDCommandBlock* block, DVDCBCallback callback);
+
#ifdef __cplusplus
}
diff --git a/include/SDK/DVD/dvdfs.h b/include/SDK/DVD/dvdfs.h
index 0597e82..0067c68 100644
--- a/include/SDK/DVD/dvdfs.h
+++ b/include/SDK/DVD/dvdfs.h
@@ -14,7 +14,7 @@ struct DVDFileInfo
u8 unk0[0x34];
u32 unk34;
u8 unk38[0x8];
- void (*unk40)(s32, void*); // TODO: not a DVDFileCallback bc an unkClass* is passed as 2nd param
+ void (*unk40)(s32, void*); // TODO: not a DVDFileCallback bc an unkClass* is passed as 2nd param?
void* unk44; //data cache start addr to invalidate
s32 unk48; // data cache region size
};
@@ -24,6 +24,8 @@ BOOL DVDClose(DVDFileInfo*);
s32 DVDConvertPathToEntrynum(const char* fileName);
s32 DVDReadPrio(DVDFileInfo* fileInfo, void* addr, s32 length, s32 offset, s32 prio);
s32 DVDReadAsyncPrio(DVDFileInfo* fileInfo, void* addr, s32 length, s32 offset, DVDCallback callback, s32 prio);
+s32 DVDSeekAsyncPrio(DVDFileInfo* fileInfo, s32 offset, DVDCallback callback, s32 prio);
+
#ifdef __cplusplus
diff --git a/include/SDK/OS/OSSemaphore.h b/include/SDK/OS/OSSemaphore.h
new file mode 100644
index 0000000..46e7e03
--- /dev/null
+++ b/include/SDK/OS/OSSemaphore.h
@@ -0,0 +1,21 @@
+#ifndef POKEREVO_OSSEMAPHORE_H
+#define POKEREVO_OSSEMAPHORE_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct OSSemaphore
+{
+ u8 unk0[0x10];
+} OSSemaphore;
+
+s32 OSSignalSemaphore(OSSemaphore* sem);
+void OSInitSemaphore(OSSemaphore* sem, s32 count);
+s32 OSWaitSemaphore(OSSemaphore* sem);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif //POKEREVO_OSSEMAPHORE_H
diff --git a/include/SDK/os.h b/include/SDK/os.h
index 0d31901..d2272f0 100644
--- a/include/SDK/os.h
+++ b/include/SDK/os.h
@@ -8,6 +8,7 @@ extern "C" {
#include "SDK/OS/OSAlloc.h"
#include "SDK/OS/OSCache.h"
#include "SDK/OS/OSInterrupt.h"
+#include "SDK/OS/OSSemaphore.h"
#ifdef __cplusplus
}