SSBM Decomp
Loading...
Searching...
No Matches
OSLink.c File Reference
#include <dolphin.h>
#include "__os.h"
#include <dolphin/os.h>

Macros

#define SHN_UNDEF   0
#define SHN_LORESERVE   0xff00
#define SHN_LOPROC   0xff00
#define SHN_HIPROC   0xff1f
#define SHN_ABS   0xfff1
#define SHN_COMMON   0xfff2
#define SHN_HIRESERVE   0xffff
#define ELF32_R_SYM(i)
#define ELF32_R_TYPE(i)
#define ELF32_R_INFO(s, t)
#define R_PPC_NONE   0
#define R_PPC_ADDR32   1
#define R_PPC_ADDR24   2
#define R_PPC_ADDR16   3
#define R_PPC_ADDR16_LO   4
#define R_PPC_ADDR16_HI   5
#define R_PPC_ADDR16_HA   6
#define R_PPC_ADDR14   7
#define R_PPC_ADDR14_BRTAKEN   8
#define R_PPC_ADDR14_BRNTAKEN   9
#define R_PPC_REL24   10
#define R_PPC_REL14   11
#define R_PPC_REL14_BRTAKEN   12
#define R_PPC_REL14_BRNTAKEN   13
#define R_PPC_GOT16   14
#define R_PPC_GOT16_LO   15
#define R_PPC_GOT16_HI   16
#define R_PPC_GOT16_HA   17
#define R_PPC_PLTREL24   18
#define R_PPC_COPY   19
#define R_PPC_GLOB_DAT   20
#define R_PPC_JMP_SLOT   21
#define R_PPC_RELATIVE   22
#define R_PPC_LOCAL24PC   23
#define R_PPC_UADDR32   24
#define R_PPC_UADDR16   25
#define R_PPC_REL32   26
#define R_PPC_PLT32   27
#define R_PPC_PLTREL32   28
#define R_PPC_PLT16_LO   29
#define R_PPL_PLT16_HI   30
#define R_PPC_PLT16_HA   31
#define R_PPC_SDAREL16   32
#define R_PPC_SECTOFF   33
#define R_PPC_SECTOFF_LO   34
#define R_PPC_SECTOFF_HI   35
#define R_PPC_SECTOFF_HA   36
#define R_PPC_ADDR30   37
#define R_PPC_EMB_NADDR32   101
#define R_PPC_EMB_NADDR16   102
#define R_PPC_EMB_NADDR16_LO   103
#define R_PPC_EMB_NADDR16_HI   104
#define R_PPC_EMB_NADDR16_HA   105
#define R_PPC_EMB_SDAI16   106
#define R_PPC_EMB_SDA2I16   107
#define R_PPC_EMB_SDA2REL   108
#define R_PPC_EMB_SDA21   109
#define R_PPC_EMB_MRKREF   110
#define R_PPC_EMB_RELSEC16   111
#define R_PPC_EMB_RELST_LO   112
#define R_PPC_EMB_RELST_HI   113
#define R_PPC_EMB_RELST_HA   114
#define R_PPC_EMB_BIT_FLD   115
#define R_PPC_EMB_RELSDA   116
#define ENQUEUE_INFO(queue, info, link)
#define DEQUEUE_INFO(info, queue, link)

Functions

void OSNotifyLink ()
void OSNotifyUnlink ()
void OSSetStringTable (const void *stringTable)
static BOOL Relocate (OSModuleHeader *newModule, OSModuleHeader *module)
BOOL OSLink (OSModuleInfo *newModule, void *bss)
static BOOL Undo (OSModuleHeader *newModule, OSModuleHeader *module)
BOOL OSUnlink (OSModuleInfo *oldModule)
void __OSModuleInit (void)

Variables

OSModuleQueue __OSModuleInfoList
const void * __OSStringTable

Macro Definition Documentation

◆ SHN_UNDEF

#define SHN_UNDEF   0

◆ SHN_LORESERVE

#define SHN_LORESERVE   0xff00

◆ SHN_LOPROC

#define SHN_LOPROC   0xff00

◆ SHN_HIPROC

#define SHN_HIPROC   0xff1f

◆ SHN_ABS

#define SHN_ABS   0xfff1

◆ SHN_COMMON

#define SHN_COMMON   0xfff2

◆ SHN_HIRESERVE

#define SHN_HIRESERVE   0xffff

◆ ELF32_R_SYM

#define ELF32_R_SYM ( i)
Value:
((i) >> 8)

◆ ELF32_R_TYPE

#define ELF32_R_TYPE ( i)
Value:
((unsigned char) (i))

◆ ELF32_R_INFO

#define ELF32_R_INFO ( s,
t )
Value:
(((s) << 8) + (unsigned char) (t))

◆ R_PPC_NONE

#define R_PPC_NONE   0

◆ R_PPC_ADDR32

#define R_PPC_ADDR32   1

◆ R_PPC_ADDR24

#define R_PPC_ADDR24   2

◆ R_PPC_ADDR16

#define R_PPC_ADDR16   3

◆ R_PPC_ADDR16_LO

#define R_PPC_ADDR16_LO   4

◆ R_PPC_ADDR16_HI

#define R_PPC_ADDR16_HI   5

◆ R_PPC_ADDR16_HA

#define R_PPC_ADDR16_HA   6

◆ R_PPC_ADDR14

#define R_PPC_ADDR14   7

◆ R_PPC_ADDR14_BRTAKEN

#define R_PPC_ADDR14_BRTAKEN   8

◆ R_PPC_ADDR14_BRNTAKEN

#define R_PPC_ADDR14_BRNTAKEN   9

◆ R_PPC_REL24

#define R_PPC_REL24   10

◆ R_PPC_REL14

#define R_PPC_REL14   11

◆ R_PPC_REL14_BRTAKEN

#define R_PPC_REL14_BRTAKEN   12

◆ R_PPC_REL14_BRNTAKEN

#define R_PPC_REL14_BRNTAKEN   13

◆ R_PPC_GOT16

#define R_PPC_GOT16   14

◆ R_PPC_GOT16_LO

#define R_PPC_GOT16_LO   15

◆ R_PPC_GOT16_HI

#define R_PPC_GOT16_HI   16

◆ R_PPC_GOT16_HA

#define R_PPC_GOT16_HA   17

◆ R_PPC_PLTREL24

#define R_PPC_PLTREL24   18

◆ R_PPC_COPY

#define R_PPC_COPY   19

◆ R_PPC_GLOB_DAT

#define R_PPC_GLOB_DAT   20

◆ R_PPC_JMP_SLOT

#define R_PPC_JMP_SLOT   21

◆ R_PPC_RELATIVE

#define R_PPC_RELATIVE   22

◆ R_PPC_LOCAL24PC

#define R_PPC_LOCAL24PC   23

◆ R_PPC_UADDR32

#define R_PPC_UADDR32   24

◆ R_PPC_UADDR16

#define R_PPC_UADDR16   25

◆ R_PPC_REL32

#define R_PPC_REL32   26

◆ R_PPC_PLT32

#define R_PPC_PLT32   27

◆ R_PPC_PLTREL32

#define R_PPC_PLTREL32   28

◆ R_PPC_PLT16_LO

#define R_PPC_PLT16_LO   29

◆ R_PPL_PLT16_HI

#define R_PPL_PLT16_HI   30

◆ R_PPC_PLT16_HA

#define R_PPC_PLT16_HA   31

◆ R_PPC_SDAREL16

#define R_PPC_SDAREL16   32

◆ R_PPC_SECTOFF

#define R_PPC_SECTOFF   33

◆ R_PPC_SECTOFF_LO

#define R_PPC_SECTOFF_LO   34

◆ R_PPC_SECTOFF_HI

#define R_PPC_SECTOFF_HI   35

◆ R_PPC_SECTOFF_HA

#define R_PPC_SECTOFF_HA   36

◆ R_PPC_ADDR30

#define R_PPC_ADDR30   37

◆ R_PPC_EMB_NADDR32

#define R_PPC_EMB_NADDR32   101

◆ R_PPC_EMB_NADDR16

#define R_PPC_EMB_NADDR16   102

◆ R_PPC_EMB_NADDR16_LO

#define R_PPC_EMB_NADDR16_LO   103

◆ R_PPC_EMB_NADDR16_HI

#define R_PPC_EMB_NADDR16_HI   104

◆ R_PPC_EMB_NADDR16_HA

#define R_PPC_EMB_NADDR16_HA   105

◆ R_PPC_EMB_SDAI16

#define R_PPC_EMB_SDAI16   106

◆ R_PPC_EMB_SDA2I16

#define R_PPC_EMB_SDA2I16   107

◆ R_PPC_EMB_SDA2REL

#define R_PPC_EMB_SDA2REL   108

◆ R_PPC_EMB_SDA21

#define R_PPC_EMB_SDA21   109

◆ R_PPC_EMB_MRKREF

#define R_PPC_EMB_MRKREF   110

◆ R_PPC_EMB_RELSEC16

#define R_PPC_EMB_RELSEC16   111

◆ R_PPC_EMB_RELST_LO

#define R_PPC_EMB_RELST_LO   112

◆ R_PPC_EMB_RELST_HI

#define R_PPC_EMB_RELST_HI   113

◆ R_PPC_EMB_RELST_HA

#define R_PPC_EMB_RELST_HA   114

◆ R_PPC_EMB_BIT_FLD

#define R_PPC_EMB_BIT_FLD   115

◆ R_PPC_EMB_RELSDA

#define R_PPC_EMB_RELSDA   116

◆ ENQUEUE_INFO

#define ENQUEUE_INFO ( queue,
info,
link )
Value:
do { \
OSModuleInfo* __prev; \
\
__prev = (queue)->tail; \
if (__prev == NULL) \
(queue)->head = (info); \
else \
__prev->link.next = (info); \
(info)->link.prev = __prev; \
(info)->link.next = NULL; \
(queue)->tail = (info); \
} while (0)
#define NULL
Definition stddef.h:19
Definition OSModule.h:31
OSModuleLink link
Definition OSModule.h:33

◆ DEQUEUE_INFO

#define DEQUEUE_INFO ( info,
queue,
link )
Value:
do { \
OSModuleInfo* __next; \
OSModuleInfo* __prev; \
\
__next = (info)->link.next; \
__prev = (info)->link.prev; \
\
if (__next == NULL) \
(queue)->tail = __prev; \
else \
__next->link.prev = __prev; \
\
if (__prev == NULL) \
(queue)->head = __next; \
else \
__prev->link.next = __next; \
} while (0)

Function Documentation

◆ OSNotifyLink()

void OSNotifyLink ( void )

◆ OSNotifyUnlink()

void OSNotifyUnlink ( void )

◆ OSSetStringTable()

void OSSetStringTable ( const void * stringTable)

◆ Relocate()

BOOL Relocate ( OSModuleHeader * newModule,
OSModuleHeader * module )
static

◆ OSLink()

BOOL OSLink ( OSModuleInfo * newModule,
void * bss )

◆ Undo()

BOOL Undo ( OSModuleHeader * newModule,
OSModuleHeader * module )
static

◆ OSUnlink()

BOOL OSUnlink ( OSModuleInfo * oldModule)

◆ __OSModuleInit()

void __OSModuleInit ( void )

Variable Documentation

◆ __OSModuleInfoList

OSModuleQueue __OSModuleInfoList

◆ __OSStringTable

const void* __OSStringTable