2009-10-21 01:00:19 +02:00
|
|
|
//small group of functions to manipulate the HBC stub
|
|
|
|
//brought to you by giantpune
|
|
|
|
|
|
|
|
#ifndef _LSTUB_H_
|
|
|
|
#define _LSTUB_H_
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
2010-02-09 11:59:55 +01:00
|
|
|
|
2009-10-21 01:00:19 +02:00
|
|
|
//to set the "return to" stub for a certain ID
|
|
|
|
//!reqID is the Requested ID to return to
|
|
|
|
//!returns WII_EINTERNAL if it cant get the list of installed titles with ES functions
|
|
|
|
//!retuns -69 if the ID is not installed
|
|
|
|
//!1 if successful
|
2010-02-09 11:59:55 +01:00
|
|
|
s32 Set_Stub(u64 reqID);
|
2009-10-21 01:00:19 +02:00
|
|
|
|
|
|
|
//!same as the above function, but expects a type and 4 char channel ID
|
2010-02-09 11:59:55 +01:00
|
|
|
s32 Set_Stub_Split(u32 type, const char* reqID);
|
2009-10-21 01:00:19 +02:00
|
|
|
|
|
|
|
//load the default HBC stub into memory. as long as nothing writes to the 0x80001800
|
|
|
|
// +0xDC7 memory block it will stay there. by default it has 0x00010001/JODI.
|
2010-02-09 11:59:55 +01:00
|
|
|
void loadStub();
|
2009-10-21 01:00:19 +02:00
|
|
|
|
|
|
|
//get whatever ID the stub is set to load
|
|
|
|
//!returns 0 if no stub is loaded into memory (must be the HBC stub at 0x800018000)
|
2010-02-09 11:59:55 +01:00
|
|
|
//!otherwise returns the ID set to return to
|
|
|
|
u64 getStubDest();
|
2009-10-21 01:00:19 +02:00
|
|
|
|
2009-12-10 21:27:36 +01:00
|
|
|
//returns 0 or 1 depending on wether the stub is available
|
2010-02-09 11:59:55 +01:00
|
|
|
u8 hbcStubAvailable();
|
2009-10-21 01:00:19 +02:00
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|