diff --git a/libruntimeiospatch/API b/libruntimeiospatch/API deleted file mode 100644 index a4f5074..0000000 --- a/libruntimeiospatch/API +++ /dev/null @@ -1,131 +0,0 @@ -libruntimeiospatch function overview -==================================== - ->>>>>>>> libruntimeiospatch 1.3: <<<<<<<< - -===================== =================== -=== ERROR_AHBPROT === === ERROR_PATCH === -===================== =================== - -Use those to catch occuring errors - -****** -if (IosPatch_AHBPROT(false) == ERROR_AHBPROT) - printf("AHBPROT is still enabled!"); - -if (IosPatch_RUNTIME(true, false, false, false) == ERROR_PATCH) - printf("Patching IOS failed!"); - -======================== -=== AHBPROT_DISABLED === -======================== - -Returns true when HW_AHBPROT access can be applied - -****** -If(AHBPROT_DISABLED) { - do_something -} else { - do_something_else -} -****** - -=================================== -=== LIB_RUNTIMEIOSPATCH_VERSION === -=================================== - -Stores printable version of libruntimeiospatch. - ->>>>>>>> libruntimeiospatch 1.1: <<<<<<<< - -===================== -=== IosPatch_FULL === -===================== - -This function combines IosPatch_AHBPROT + IOS_ReloadIOS + IosPatch_RUNTIME - ->> Flags: [bool]wii (whether to apply Wii patches) - [bool]sciifii (whether to apply extra Sciifii patches) - [bool]vwii (whether to apply extra vWii patches) - [bool]verbose (whether to print messages on-screen) - [int]ios (which IOS to reload into) - ->> Return: --5: no HW_AHBPROT access --7: patching HW_AHBPROT access failed ->0: success (return equals to number of applied patches) - -****** -If(AHBPROT_DISABLED) { - IosPatch_FULL(true, false, false, false, 58); -} -****** - ->>>>>>>> libruntimeiospatch 1.0: <<<<<<<< - -======================== -=== IosPatch_AHBPROT === -======================== - -This function can be used to keep HW_AHBPROT access when going to reload IOS - ->> Flags: [bool]verbose (whether to print messages on-screen) - ->> Return: --5: no HW_AHBPROT access --7: patching HW_AHBPROT access failed ->0: success - -****** -if(AHBPROT_DISABLED) { - s32 ret; - ret = IosPatch_AHBPROT(false); - if (ret) { - IOS_ReloadIOS(36); - } else { - printf("IosPatch_AHBPROT failed."); - } -} -****** - -======================== -=== IosPatch_RUNTIME === -======================== - -This function applies patches on current IOS - ->> Flags: [bool]wii (whether to apply Wii patches) - [bool]sciifii (whether to apply extra Sciifii patches) - [bool]vwii (whether to apply extra vWii patches) - [bool]verbose (whether to print messages on-screen) - ->> Return: --5: no HW_AHBPROT access ->0: success (return equals to number of applied patches) - -<< Patchsets: -Wii: - * DI Readlimit - * ISFS Permissions - * ES SetUID - * ES SetIdentify - * Hash Check (aka Trucha) - * New Hash Check (aka New Trucha) - -Sciifii: - * MEM2 Prot - * ES OpenTitleContent 1 & 2 - * ES ReadContent Prot - * ES CloseContent - * ES TitleVersionCheck - * ES TitleDeleteCheck - -vWii: - * Kill Anti-SystemTitle-Install 1, 2, 3, 4 & 5 - - -****** -If(AHBPROT_DISABLED) { - IosPatch_RUNTIME(true, false, false, false); -} -****** diff --git a/libruntimeiospatch/source/runtimeiospatch.h b/libruntimeiospatch/source/runtimeiospatch.h index 31059ec..aa4f429 100644 --- a/libruntimeiospatch/source/runtimeiospatch.h +++ b/libruntimeiospatch/source/runtimeiospatch.h @@ -13,24 +13,128 @@ #ifndef _RUNTIMEIOSPATCH_H_ - #define _RUNTIMEIOSPATCH_H_ +#define _RUNTIMEIOSPATCH_H_ - #define LIB_RUNTIMEIOSPATCH_VERSION "1.3.0" +/** + * Version information for Libruntimeiospatch. + */ +#define LIB_RUNTIMEIOSPATCH_VERSION "1.3.0" - #define AHBPROT_DISABLED (*(vu32*)0xcd800064 == 0xFFFFFFFF) +//============================================================================== +// HW_RVL header +//============================================================================== +#if defined(HW_RVL) /* defined(HW_RVL) */ - #define ERROR_AHBPROT -5 - #define ERROR_PATCH -7 - #ifdef __cplusplus - extern "C" { - #endif +/** + *Returns true when HW_AHBPROT access can be applied + */ +#define AHBPROT_DISABLED (*(vu32*)0xcd800064 == 0xFFFFFFFF) - s32 IosPatch_AHBPROT(bool verbose); - s32 IosPatch_RUNTIME(bool wii, bool sciifii, bool vwii, bool verbose); - s32 IosPatch_FULL(bool wii, bool sciifii, bool vwii, bool verbose, int IOS); +//============================================================================== +// Error code definitions: +//============================================================================== +#define ERROR_AHBPROT -5 +#define ERROR_PATCH -7 - #ifdef __cplusplus - } - #endif +//============================================================================== +// C++ header +//============================================================================== +#ifdef __cplusplus +extern "C" { +#endif +/* __cplusplus */ + +//============================================================================== +// Patchsets: +//============================================================================== +/* +Wii: + * DI Readlimit + * ISFS Permissions + * ES SetUID + * ES SetIdentify + * Hash Check (aka Trucha) + * New Hash Check (aka New Trucha) + +Sciifii: + * MEM2 Prot + * ES OpenTitleContent 1 & 2 + * ES ReadContent Prot + * ES CloseContent + * ES TitleVersionCheck + * ES TitleDeleteCheck + +vWii: + * Kill Anti-SystemTitle-Install 1, 2, 3, 4 & 5 +*/ + + +//============================================================================== +// Functions: +//============================================================================== + +/** + * This function can be used to keep HW_AHBPROT access when going to reload IOS + * @param verbose Flag determing whether or not to print messages on-screen + * @example + * if(AHBPROT_DISABLED) { + * s32 ret; + * ret = IosPatch_AHBPROT(false); + * if (ret) { + * IOS_ReloadIOS(36); + * } else { + * printf("IosPatch_AHBPROT failed."); + * } + * } + * @return Signed 32bit integer representing code + * > 0 : Success - return equals to number of applied patches + * ERROR_AHBPROT : Error - No HW_AHBPROT access + */ +s32 IosPatch_AHBPROT(bool verbose); + + +/** + * This function applies patches on current IOS + * @see Patchsets + * @param wii Flag determing whether or not to apply Wii patches. + * @param sciifii Flag determing whether or not to apply extra Sciifii patches. + * @param vwii Flag determing whether or not to apply extra vWii patches. + * @param verbose Flag determing whether or not to print messages on-screen. + * @example if(AHBPROT_DISABLED) IosPatch_FULL(true, false, false, false); + * @return Signed 32bit integer representing code + * > 0 : Success - return equals to number of applied patches + * ERROR_AHBPROT : Error - No HW_AHBPROT access + * ERROR_PATCH : Error - Patching HW_AHBPROT access failed + */ +s32 IosPatch_RUNTIME(bool wii, bool sciifii, bool vwii, bool verbose); + + +/** + * This function combines IosPatch_AHBPROT + IOS_ReloadIOS + IosPatch_RUNTIME + * @see Patchsets + * @param wii Flag determing whether or not to apply Wii patches. + * @param sciifii Flag determing whether or not to apply extra Sciifii patches. + * @param vwii Flag determing whether or not to apply extra vWii patches. + * @param verbose Flag determing whether or not to print messages on-screen. + * @param IOS Which IOS to reload into. + * @example if(AHBPROT_DISABLED) IosPatch_FULL(true, false, false, false, 58); + * @return Signed 32bit integer representing code + * > 0 : Success - return equals to number of applied patches + * ERROR_AHBPROT : Error - No HW_AHBPROT access + * ERROR_PATCH : Error - Patching HW_AHBPROT access failed + */ +s32 IosPatch_FULL(bool wii, bool sciifii, bool vwii, bool verbose, int IOS); + +//============================================================================== +// C++ footer +//============================================================================== +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +//============================================================================== +// HW_RVL footer +//============================================================================== +#endif /* defined(HW_RVL) */ #endif