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
(→‎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!)
(→‎Functions: Added OSFatal() and __os_snprintf())
Line 2: Line 2:
  
 
==Functions==
 
==Functions==
 +
===Error===
 +
{| class="wikitable"
 +
!Name
 +
!Prototype
 +
!Description
 +
|-
 +
|OSFatal
 +
|<code>void OSFatal(const char *msg);</code>
 +
|Print a message to the screen and halt the system
 +
|}
 +
 +
===Internal===
 +
{| class="wikitable"
 +
!Name
 +
!Prototype
 +
!Description
 +
|-
 +
|__os_snprintf
 +
|<code>int __os_snprintf(char *buf, size_t nchar, const char * format, ... )</code>
 +
|Format a string and place it in a buffer
 +
|}
 +
 
===Dynamic Linking===
 
===Dynamic Linking===
 
{| class="wikitable"
 
{| class="wikitable"

Revision as of 01:51, 1 April 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

Error

Name Prototype Description
OSFatal void OSFatal(const char *msg); Print a message to the screen and halt the system

Internal

Name Prototype Description
__os_snprintf int __os_snprintf(char *buf, size_t nchar, const char * format, ... ) Format a string and place it in a buffer

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