Match most of DynamicLink

This commit is contained in:
jdflyer
2022-01-03 21:05:34 -07:00
parent 6c681c985c
commit 346215bd49
9 changed files with 663 additions and 465 deletions
+32 -26
View File
@@ -3,34 +3,40 @@
#include "dolphin/types.h"
struct OSModuleInfo {
u32 id;
OSModuleInfo* next;
OSModuleInfo* prev;
u32 num_sections;
u32 section_info_offset;
u32 name_offset;
u32 name_size;
u32 version;
u32 bss_size;
u32 rel_offset;
u32 imp_offset;
u32 imp_size;
u8 prolog_section;
u8 epilog_section;
u8 unresolved_section;
u8 bss_section;
u32 prolog;
u32 epilog;
u32 unresolved;
u32 align;
u32 bss_align;
u32 fix_size;
struct OSSectionInfo {
u32 mOffset;
u32 mSize;
};
struct OSSectionInfo {
u32 offset;
u32 size;
struct OSModuleInfo {
u32 mId;
OSModuleInfo* mNext;
OSModuleInfo* mPrev;
u32 mNumSections;
struct { //Needed to get an assert corret; very likely bigger
u32 sectionInfoOffset;
} info;
u32 mModuleNameOffset;
u32 mModuleNameSize;
u32 mModuleVersion;
u32 mBssSize;
u32 mRelocationTableOffset;
u32 mImportTableOffset;
u32 mImportTableSize;
u8 mPrologSection;
u8 mEpilogSection;
u8 mUnresolvedSection;
u8 mBssSection;
u32 (*prolog)();
void(*epilog)();
u32 mUnresolvedFuncOffset;
u32 mModuleAlignment;
u32 mBssAlignment;
u32 fixSize;
};
extern "C" BOOL OSLink(OSModuleInfo*);
extern "C" BOOL OSLinkFixed(OSModuleInfo*,u32);
extern "C" BOOL OSUnlink(OSModuleInfo*);
#endif /* OSLINK_H */