mirror of https://github.com/zeldaret/tp.git
157 lines
3.8 KiB
C
157 lines
3.8 KiB
C
#ifndef _REVOLUTION_SC_H_
|
|
#define _REVOLUTION_SC_H_
|
|
|
|
#include <revolution/os.h>
|
|
#include <revolution/nand.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef u8 SCType;
|
|
|
|
typedef struct {
|
|
u8 mode;
|
|
u8 led;
|
|
} SCIdleModeInfo;
|
|
|
|
typedef struct {
|
|
union {
|
|
u8 type_u8;
|
|
s8 type_s8;
|
|
u16 type_u16;
|
|
s16 type_s16;
|
|
u32 type_u32;
|
|
s32 type_s32;
|
|
u64 type_u64;
|
|
s64 type_s64;
|
|
u8 longPrecision64[sizeof(u64)];
|
|
} integer;
|
|
|
|
SCType typeInteger;
|
|
SCType typeByteArray;
|
|
u32 nameLen;
|
|
u32 dataSize;
|
|
char* name;
|
|
u8* data;
|
|
u32 packedSize;
|
|
} SCItem;
|
|
|
|
typedef void (*SCReloadConfFileCallback)(s32 result);
|
|
typedef void (*SCFlushCallback)(u32 result);
|
|
|
|
typedef enum {
|
|
SC_ITEM_ID_IPL_COUNTER_BIAS,
|
|
SC_ITEM_ID_IPL_ASPECT_RATIO,
|
|
SC_ITEM_ID_IPL_AUTORUN_MODE,
|
|
SC_ITEM_ID_IPL_CONFIG_DONE,
|
|
SC_ITEM_ID_IPL_CONFIG_DONE2,
|
|
SC_ITEM_ID_IPL_DISPLAY_OFFSET_H,
|
|
SC_ITEM_ID_IPL_EURGB60_MODE,
|
|
SC_ITEM_ID_IPL_EULA,
|
|
SC_ITEM_ID_IPL_FREE_CHANNEL_APP_COUNT,
|
|
SC_ITEM_ID_IPL_IDLE_MODE,
|
|
SC_ITEM_ID_IPL_INSTALLED_CHANNEL_APP_COUNT,
|
|
SC_ITEM_ID_IPL_LANGUAGE,
|
|
SC_ITEM_ID_IPL_OWNER_NICKNAME,
|
|
SC_ITEM_ID_IPL_PARENTAL_CONTROL,
|
|
SC_ITEM_ID_IPL_PROGRESSIVE_MODE,
|
|
SC_ITEM_ID_IPL_SCREEN_SAVER_MODE,
|
|
SC_ITEM_ID_IPL_SIMPLE_ADDRESS,
|
|
SC_ITEM_ID_IPL_SOUND_MODE,
|
|
SC_ITEM_ID_IPL_UPDATE_TYPE,
|
|
SC_ITEM_ID_NET_CONFIG,
|
|
SC_ITEM_ID_NET_CONTENT_RESTRICTIONS,
|
|
SC_ITEM_ID_NET_PROFILE,
|
|
SC_ITEM_ID_NET_WC_RESTRICTION,
|
|
SC_ITEM_ID_NET_WC_FLAGS,
|
|
SC_ITEM_ID_DEV_BOOT_MODE,
|
|
SC_ITEM_ID_DEV_VIDEO_MODE,
|
|
SC_ITEM_ID_DEV_COUNTRY_CODE,
|
|
SC_ITEM_ID_DEV_DRIVESAVING_MODE,
|
|
SC_ITEM_ID_BT_DEVICE_INFO,
|
|
SC_ITEM_ID_BT_CMPDEV_INFO,
|
|
SC_ITEM_ID_BT_DPD_SENSIBILITY,
|
|
SC_ITEM_ID_BT_SPEAKER_VOLUME,
|
|
SC_ITEM_ID_BT_MOTOR_MODE,
|
|
SC_ITEM_ID_BT_SENSOR_BAR_POSITION,
|
|
SC_ITEM_ID_DVD_CONFIG,
|
|
SC_ITEM_ID_WWW_RESTRICTION,
|
|
SC_ITEM_ID_MOTION_PLUS_MOVIE,
|
|
SC_ITEM_ID_TEMPORARY_TITLE_ID,
|
|
|
|
SC_ITEM_ID_MAX_PLUS1
|
|
} SCItemID;
|
|
|
|
typedef struct {
|
|
OSThreadQueue threadQueue;
|
|
NANDFileInfo nandFileInfo;
|
|
NANDCommandBlock nandCommandBlock;
|
|
|
|
union {
|
|
u8 nandType;
|
|
NANDStatus nandStatus;
|
|
} u;
|
|
|
|
u8 nandStep;
|
|
u8 nandNeedClose;
|
|
u8 reloadFileCount;
|
|
SCReloadConfFileCallback reloadCallback;
|
|
s32 reloadResult;
|
|
const char* reloadFileName[2];
|
|
u8* reloadBufp[2];
|
|
u32 reloadSizeExpected[2];
|
|
u32 reloadedSize[2];
|
|
SCFlushCallback flushCallback;
|
|
u32 flushResult;
|
|
u32 flushSize;
|
|
} SCControl;
|
|
|
|
#define SC_LANG_JAPANESE 0u
|
|
#define SC_LANG_ENGLISH 1u
|
|
#define SC_LANG_GERMAN 2u
|
|
#define SC_LANG_FRENCH 3u
|
|
#define SC_LANG_SPANISH 4u
|
|
#define SC_LANG_ITALIAN 5u
|
|
#define SC_LANG_DUTCH 6u
|
|
#define SC_LANG_SIMP_CHINESE 7u
|
|
#define SC_LANG_TRAD_CHINESE 8u
|
|
#define SC_LANG_KOREAN 9u
|
|
|
|
// scapi
|
|
u8 SCGetAspectRatio(void);
|
|
s8 SCGetDisplayOffsetH(void);
|
|
u8 SCGetEuRgb60Mode(void);
|
|
BOOL SCGetIdleMode(SCIdleModeInfo* data);
|
|
u8 SCGetLanguage(void);
|
|
u8 SCGetProgressiveMode(void);
|
|
u8 SCGetScreenSaverMode(void);
|
|
u8 SCGetSoundMode(void);
|
|
u32 SCGetCounterBias(void);
|
|
|
|
// scapi_prdinfo
|
|
BOOL SCGetProductAreaString(char* buf, u32 bufSize);
|
|
s8 SCGetProductArea(void);
|
|
s8 SCGetProductGameRegion(void);
|
|
|
|
// scsystem
|
|
void SCInit(void);
|
|
BOOL SCFindByteArrayItem(void* data, u32 size, SCItemID id);
|
|
BOOL SCReplaceByteArrayItem(const void* data, u32 size, SCItemID id);
|
|
BOOL SCFindIntegerItem(void* data, SCItemID id, SCType type);
|
|
BOOL SCReplaceIntegerItem(const void* data, SCItemID id, SCType type);
|
|
BOOL SCFindU8Item(u8* data, SCItemID id);
|
|
BOOL SCFindS8Item(s8* data, SCItemID id);
|
|
BOOL SCFindU32Item(u32* data, SCItemID id);
|
|
BOOL SCReplaceU8Item(u8 data, SCItemID id);
|
|
u32 SCCheckStatus(void);
|
|
s32 SCReloadConfFileAsync(u8* bufp, u32 bufSize, SCReloadConfFileCallback callback);
|
|
|
|
BOOL SCFlush(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|