Changes

41 bytes added ,  09:22, 28 May 2016
no edit summary
Line 6: Line 6:     
===LOADER_Entry(LoaderRequest* request)===
 
===LOADER_Entry(LoaderRequest* request)===
LOADER_Entry() receives a [[#LoaderRequest|loader request buffer]] from the coreinit OSDynLoad functions. These are copied to the matching LoaderEntry global variables at the start of this method. The dispatch code is looked up in a jumptable, and used to call the appropriate loader function. Once the function completes, it calls a kernel syscall to return to the caller's context.
+
LOADER_Entry() receives a [[#LoaderRequest|loader request buffer]] from the coreinit OSDynLoad functions. These are copied to the matching LoaderEntry global variables at the start of this method. The [[#Dispatch Codes| dispatchCode]] is looked up in a jumptable, and used to call the appropriate loader function. Once the function completes, it calls a kernel syscall to return to the caller's context.
    
==Structures==
 
==Structures==
 
===LoaderRequest===
 
===LoaderRequest===
This structure is a request buffer created by the OSDynLoad functions and sent to the loader. It contains the saved context of the caller, the identifying process information, and the function number and arguments. Dispatch codes are from 0-11 (inclusive). After processing the request, the loader sends it back with a return value.
+
This structure is a request buffer created by the OSDynLoad functions and sent to the loader. It contains the saved context of the caller, the identifying process information, and the function number and arguments. [[#Dispatch Codes| Dispatch Codes]] are from 0-11 (inclusive). After processing the request, the loader sends it back with a return value.
 
<syntaxhighlight lang="C">
 
<syntaxhighlight lang="C">
 
typedef struct
 
typedef struct
53

edits