mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-06-19 06:27:04 -04:00
44 lines
1.1 KiB
C
44 lines
1.1 KiB
C
#ifndef PPC_EABI_INIT_H
|
|
#define PPC_EABI_INIT_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"{
|
|
#endif
|
|
|
|
typedef void (*voidfunctionptr)(void); // pointer to function returning void
|
|
__declspec(section ".ctors") extern voidfunctionptr _ctors[];
|
|
__declspec(section ".dtors") extern voidfunctionptr _dtors[];
|
|
|
|
void __init_hardware(void);
|
|
void __flush_cache(void*, size_t);
|
|
void __init_user(void);
|
|
void __fini_cpp(void);
|
|
void _ExitProcess(void);
|
|
|
|
typedef struct RomSection {
|
|
void* romOfs; // at 0x4
|
|
void* virtualOfs; // at 0x0
|
|
size_t size; // at 0x8
|
|
} RomSection;
|
|
|
|
typedef struct BssSection {
|
|
void* virtualOfs; // at 0x0
|
|
size_t size; // at 0x8
|
|
} BssSection;
|
|
|
|
typedef struct ExtabIndexInfo {
|
|
void* etiStart; // at 0x0
|
|
void* etiEnd; // at 0x4
|
|
void* codeStart; // at 0x8
|
|
u32 codeSize; // at 0x10
|
|
} ExtabIndexInfo;
|
|
|
|
__declspec(section ".init") extern RomSection _rom_copy_info[];
|
|
__declspec(section ".init") extern BssSection _bss_init_info[];
|
|
__declspec(section ".init") extern ExtabIndexInfo _eti_init_info[];
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|