diff options
| author | Jonathan Wase <jonathan@familjenwase.se> | 2020-12-06 06:40:34 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-12-06 00:40:34 -0500 |
| commit | 59a3d0020959bbb765e98c80e01eb13963fa74ec (patch) | |
| tree | d6a07b16e77e63c352898803808f8eecfd695e91 /include/JSystem | |
| parent | 89385fe8fd3832541f5e8182afdf60d6b644916f (diff) | |
OS.h and JKRDvdFile (#19)
* OS header
* JKRFile and JKRDvdFile
Diffstat (limited to 'include/JSystem')
| -rw-r--r-- | include/JSystem/JKernel/JKRDvdFile/JKRDvdFile.h | 20 | ||||
| -rw-r--r-- | include/JSystem/JKernel/JKRFile/JKRFile.h | 8 | ||||
| -rw-r--r-- | include/JSystem/JKernel/JKRHeap/JKRHeap.h | 6 | ||||
| -rw-r--r-- | include/JSystem/JKernel/JKRThread/JKRThread.h | 18 |
4 files changed, 20 insertions, 32 deletions
diff --git a/include/JSystem/JKernel/JKRDvdFile/JKRDvdFile.h b/include/JSystem/JKernel/JKRDvdFile/JKRDvdFile.h index d0870c3033..47eae12215 100644 --- a/include/JSystem/JKernel/JKRDvdFile/JKRDvdFile.h +++ b/include/JSystem/JKernel/JKRDvdFile/JKRDvdFile.h @@ -14,12 +14,12 @@ class JKRDvdFile : public JKRFile { ~JKRDvdFile(); void initiate(void); - void sync(void); + s32 sync(void); static void doneProcess(long, DVDFileInfo*); virtual bool open(char const*); virtual void close(void); - virtual void readData(void*, long, long); + virtual s32 readData(void*, long, long); virtual s32 writeData(void const*, long, long); virtual s32 getFileSize(void) const; virtual bool open(long); @@ -36,9 +36,9 @@ class JKRDvdFile : public JKRFile { return DVDGetCommandBlockStatus(&this->mDvdCommandBlock[0]); } - public: - u8 mMutex1[24]; - u8 mMutex2[24]; + protected: + OSMutex mMutex1; + OSMutex mMutex2; u32 field_0x4c; u32 field_0x50; u32 field_0x54; @@ -48,12 +48,12 @@ class JKRDvdFile : public JKRFile { s32 mFileSize; u32 field_0x94; JKRDvdFile* mDvdFile; - u8 mQueue1[32]; - void* mMessages1[1]; - u8 mQueue2[32]; - void* mMessages2[1]; + OSMessageQueue mQueue1; + OSMessage mMessages1[1]; + OSMessageQueue mQueue2; + OSMessage mMessages2[1]; JSULink<JKRDvdFile> mDvdLink; - void* mOSThread; + OSThread* mOSThread; }; #endif diff --git a/include/JSystem/JKernel/JKRFile/JKRFile.h b/include/JSystem/JKernel/JKRFile/JKRFile.h index 3594b48126..bc1e850481 100644 --- a/include/JSystem/JKernel/JKRFile/JKRFile.h +++ b/include/JSystem/JKernel/JKRFile/JKRFile.h @@ -6,19 +6,19 @@ class JKRFile : public JKRDisposer { public: - JKRFile(); - virtual ~JKRFile(); + JKRFile() : mIsOpen(false) {} + virtual ~JKRFile() {} virtual bool open(const char*); virtual void close(); - virtual void readData(void*, long, long); + virtual s32 readData(void*, long, long); virtual s32 writeData(const void*, long, long); virtual s32 getFileSize(); virtual bool open(long); s32 read(void*, long, long); - private: + protected: bool mIsOpen; u8 field_0x19[3]; }; diff --git a/include/JSystem/JKernel/JKRHeap/JKRHeap.h b/include/JSystem/JKernel/JKRHeap/JKRHeap.h index 48364f52af..1c1d043328 100644 --- a/include/JSystem/JKernel/JKRHeap/JKRHeap.h +++ b/include/JSystem/JKernel/JKRHeap/JKRHeap.h @@ -127,11 +127,11 @@ class JKRHeap : public JKRDisposer { } void lock() { - OSLockMutex(this->mMutex); + OSLockMutex(&this->mMutex); } void unlock() { - OSUnlockMutex(this->mMutex); + OSUnlockMutex(&this->mMutex); } public: @@ -158,7 +158,7 @@ class JKRHeap : public JKRDisposer { virtual void state_dump(); public: - u8 mMutex[24]; + OSMutex mMutex; u32 mStart; u32 mEnd; u32 mSize; diff --git a/include/JSystem/JKernel/JKRThread/JKRThread.h b/include/JSystem/JKernel/JKRThread/JKRThread.h index f5b3d6cfa6..9efba043c4 100644 --- a/include/JSystem/JKernel/JKRThread/JKRThread.h +++ b/include/JSystem/JKernel/JKRThread/JKRThread.h @@ -3,19 +3,7 @@ #include "dolphin/types.h" #include "JSystem/JKernel/JKRDisposer/JKRDisposer.h" - -struct OSThread { - u8 unkn[0x318]; -}; - -struct OSMessageQueue { - u8 unkn[0x20]; -}; - -typedef void* OSMessage; - -class JKRThread; -extern JSUList<JKRThread> lbl_8043428C; // JSUList<JKRThread> JKRThread::sThreadList +#include "global.h" class JKRThreadName_; class JUTConsole; @@ -31,7 +19,7 @@ class JKRThread : JKRDisposer { void setCommon_heapSpecified(JKRHeap* heap, u32 stack_size, int param_3); OSThread* getThreadRecord() { - return this->mOsThread; + return this->mOSThread; } static void* start(void* param_1); @@ -45,7 +33,7 @@ class JKRThread : JKRDisposer { public: JSULink<JKRThread> mThreadListLink; JKRHeap* mHeap; - OSThread* mOsThread; + OSThread* mOSThread; OSMessageQueue mQueue; OSMessage* mMessages; int mMessageCount; |
