In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Difference between revisions of "Coreinit.rpl"

From WiiUBrew
Jump to navigation Jump to search
(Added main OSDynLoad functions)
(→‎Dynamic Linking: I would argue address should be void ** since it fills in the pointer at that location (though most properly intptr_t *). Strings probably don't get changed so added const. C99 has been out for 16 years now; use bool!)
Line 9: Line 9:
 
|-
 
|-
 
|OSDynLoad_Acquire
 
|OSDynLoad_Acquire
|void OSDynLoad_Acquire(char *rplname, u32 *handle);
+
|<code>void OSDynLoad_Acquire(const char *rplname, uint32_t *handle);</code>
 
|Acquire a handle to an RPL by name
 
|Acquire a handle to an RPL by name
 
|-
 
|-
 
|OSDynLoad_FindExport
 
|OSDynLoad_FindExport
|void OSDynLoad_FindExport(u32 handle, int isdata, char *symname, void *address);
+
|<code>void OSDynLoad_FindExport(uint32_t handle, bool isdata, const char *symname, void **address);</code>
 
|Get a symbol address from a loaded RPL
 
|Get a symbol address from a loaded RPL
 
|}
 
|}

Revision as of 23:10, 31 March 2015

coreinit.rpl is the the system library that provides direct access to Cafe OS services. It provides kernel calls, thread scheduling, memory management, and filesystem services. coreinit is the first RPL loaded by the loader, even before the main executable itself.

Functions

Dynamic Linking

Name Prototype Description
OSDynLoad_Acquire void OSDynLoad_Acquire(const char *rplname, uint32_t *handle); Acquire a handle to an RPL by name
OSDynLoad_FindExport void OSDynLoad_FindExport(uint32_t handle, bool isdata, const char *symname, void **address); Get a symbol address from a loaded RPL