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

Macros

#define ENQUEUE_INFO(info, queue)
#define DEQUEUE_INFO(info, queue)
#define ENQUEUE_INFO_PRIO(info, queue)

Functions

static int CallResetFunctions (int final)
static asm void Reset (unsigned long resetCode)
void OSRegisterResetFunction (struct OSResetFunctionInfo *info)
void OSUnregisterResetFunction (struct OSResetFunctionInfo *info)
int __PADDisableRecalibration (int)
static void CancelThreads (void)
void __OSDoHotReset (int arg0)
void OSResetSystem (int reset, unsigned long resetCode, int forceMenu)
unsigned long OSGetResetCode ()

Variables

static struct OSResetFunctionQueue ResetFunctionQueue
u8 unk

Macro Definition Documentation

◆ ENQUEUE_INFO

#define ENQUEUE_INFO ( info,
queue )
Value:
do { \
struct OSResetFunctionInfo* __prev = (queue)->tail; \
if (__prev == 0) { \
(queue)->head = (info); \
} else { \
__prev->next = (info); \
} \
(info)->prev = __prev; \
(info)->next = 0; \
(queue)->tail = (info); \
} while (0);
HSD_Pad prev
Definition dbinit.c:22
static u32 next
Definition rand.c:4
Definition OSReset.h:22
OSResetFunctionInfo * next
Definition OSReset.h:25

◆ DEQUEUE_INFO

#define DEQUEUE_INFO ( info,
queue )
Value:
do { \
struct OSResetFunctionInfo* __next = (info)->next; \
struct OSResetFunctionInfo* __prev = (info)->prev; \
if (__next == 0) { \
(queue)->tail = __prev; \
} else { \
__next->prev = __prev; \
} \
if (__prev == 0) { \
(queue)->head = __next; \
} else { \
__prev->next = __next; \
} \
} while (0);
OSResetFunctionInfo * prev
Definition OSReset.h:26

◆ ENQUEUE_INFO_PRIO

#define ENQUEUE_INFO_PRIO ( info,
queue )
Value:
do { \
struct OSResetFunctionInfo* __prev; \
struct OSResetFunctionInfo* __next; \
for (__next = (queue)->head; \
__next && (__next->priority <= (info)->priority); \
__next = __next->next); \
\
if (__next == 0) { \
ENQUEUE_INFO(info, queue); \
} else { \
(info)->next = __next; \
__prev = __next->prev; \
__next->prev = (info); \
(info)->prev = __prev; \
if (__prev == 0) { \
(queue)->head = (info); \
} else { \
__prev->next = (info); \
} \
} \
} while (0);
u32 priority
Definition OSReset.h:24

Function Documentation

◆ CallResetFunctions()

int CallResetFunctions ( int final)
static

◆ Reset()

asm void Reset ( unsigned long resetCode)
static

◆ OSRegisterResetFunction()

void OSRegisterResetFunction ( struct OSResetFunctionInfo * info)

◆ OSUnregisterResetFunction()

void OSUnregisterResetFunction ( struct OSResetFunctionInfo * info)

◆ __PADDisableRecalibration()

int __PADDisableRecalibration ( int arg0)

◆ CancelThreads()

void CancelThreads ( void )
static

◆ __OSDoHotReset()

void __OSDoHotReset ( int arg0)

◆ OSResetSystem()

void OSResetSystem ( int reset,
unsigned long resetCode,
int forceMenu )

◆ OSGetResetCode()

unsigned long OSGetResetCode ( )

Variable Documentation

◆ ResetFunctionQueue

struct OSResetFunctionQueue ResetFunctionQueue
static

◆ unk

u8 unk