Link all of dolphin/os

This commit is contained in:
Cuyler36
2025-06-18 07:08:11 -04:00
parent b95c66be19
commit 1989cd28e6
36 changed files with 4767 additions and 197 deletions
+46 -46
View File
@@ -7,63 +7,63 @@
extern "C" {
#endif
typedef struct OSModuleInfo_s OSModuleInfo;
// typedef struct OSModuleInfo_s OSModuleInfo;
typedef struct OSModuleQueue_s {
OSModuleInfo* head;
OSModuleInfo* tail;
} OSModuleQueue;
// typedef struct OSModuleQueue_s {
// OSModuleInfo* head;
// OSModuleInfo* tail;
// } OSModuleQueue;
typedef struct OSModuleLink_s {
OSModuleInfo* next;
OSModuleInfo* prev;
} OSModuleLink;
// typedef struct OSModuleLink_s {
// OSModuleInfo* next;
// OSModuleInfo* prev;
// } OSModuleLink;
typedef struct OSModuleInfo_s {
u32 id;
OSModuleLink link;
u32 numSections;
u32 sectionInfoOfs;
u32 nameOfs;
u32 nameSize;
u32 version;
} OSModuleInfo;
// typedef struct OSModuleInfo_s {
// u32 id;
// OSModuleLink link;
// u32 numSections;
// u32 sectionInfoOfs;
// u32 nameOfs;
// u32 nameSize;
// u32 version;
// } OSModuleInfo;
typedef struct OSModuleHeader_s {
OSModuleInfo info;
u32 bssSize;
u32 relOfs;
u32 impOfs;
u32 impSize;
// typedef struct OSModuleHeader_s {
// OSModuleInfo info;
// u32 bssSize;
// u32 relOfs;
// u32 impOfs;
// u32 impSize;
u8 prologSection;
u8 epilogSection;
u8 unresolvedSection;
u8 bssSection;
// u8 prologSection;
// u8 epilogSection;
// u8 unresolvedSection;
// u8 bssSection;
u32 prolog;
u32 epilog;
u32 unresolved;
/* OS_MODULE_VERSION >= 2 */
// u32 prolog;
// u32 epilog;
// u32 unresolved;
// /* OS_MODULE_VERSION >= 2 */
u32 align;
u32 bssAlign;
} OSModuleHeader;
// u32 align;
// u32 bssAlign;
// } OSModuleHeader;
typedef struct OSSectionInfo_s {
u32 offset;
u32 size;
} OSSectionInfo;
// typedef struct OSSectionInfo_s {
// u32 offset;
// u32 size;
// } OSSectionInfo;
#define OSGetSectionInfo(module) \
((OSSectionInfo*) (((OSModuleInfo*) (module))->sectionInfoOfs))
// #define OSGetSectionInfo(module) \
// ((OSSectionInfo*) (((OSModuleInfo*) (module))->sectionInfoOfs))
#define OS_SECTIONINFO_EXEC 1
#define OS_SECTIONINFO_OFFSET(offset) ((offset) & ~OS_SECTIONINFO_EXEC)
// #define OS_SECTIONINFO_EXEC 1
// #define OS_SECTIONINFO_OFFSET(offset) ((offset) & ~OS_SECTIONINFO_EXEC)
void OSSetStringTable (const void* strTable);
BOOL OSLink(OSModuleInfo* module, void* bss);
BOOL OSUnlink(OSModuleInfo* module);
// void OSSetStringTable (const void* strTable);
// BOOL OSLink(OSModuleInfo* module, void* bss);
// BOOL OSUnlink(OSModuleInfo* module);
#ifdef __cplusplus
}