diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/kernel/audioout.h | 21 | ||||
-rw-r--r-- | include/kernel/display.h | 12 | ||||
-rw-r--r-- | include/kernel/kernel/processmgr.h | 6 | ||||
-rw-r--r-- | include/kernel/kernel/sysmem.h | 5 | ||||
-rw-r--r-- | include/kernel/kernel/threadmgr.h | 64 | ||||
-rw-r--r-- | include/kernel/lowio/iftu.h | 26 | ||||
-rw-r--r-- | include/kernel/power.h | 19 | ||||
-rw-r--r-- | include/kernel/sblacmgr.h | 1 | ||||
-rw-r--r-- | include/kernel/udcd.h | 2 | ||||
-rw-r--r-- | include/user/appmgr.h | 38 | ||||
-rw-r--r-- | include/user/incoming_dialog.h | 83 | ||||
-rw-r--r-- | include/user/kernel/clib.h | 5 | ||||
-rw-r--r-- | include/user/kernel/processmgr.h | 3 | ||||
-rw-r--r-- | include/user/kernel/threadmgr.h | 3 | ||||
-rw-r--r-- | include/user/notification_util.h | 80 | ||||
-rw-r--r-- | include/user/registrymgr.h | 4 | ||||
-rw-r--r-- | include/user/shellutil.h | 93 |
17 files changed, 438 insertions, 27 deletions
diff --git a/include/kernel/audioout.h b/include/kernel/audioout.h new file mode 100644 index 0000000..c1381ee --- /dev/null +++ b/include/kernel/audioout.h @@ -0,0 +1,21 @@ +#ifndef _PSP2_KERNEL_AUDIOOUT_H_ +#define _PSP2_KERNEL_AUDIOOUT_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum SceAudioOutPortType { + //! Used for main audio output, freq must be set to 48000 Hz + SCE_AUDIO_OUT_PORT_TYPE_MAIN = 0, + //! Used for Background Music port + SCE_AUDIO_OUT_PORT_TYPE_BGM = 1, + //! Used for voice chat port + SCE_AUDIO_OUT_PORT_TYPE_VOICE = 2 +} SceAudioOutPortType; + +#ifdef __cplusplus +} +#endif + +#endif /* _PSP2_KERNEL_AUDIOOUT_H_ */ diff --git a/include/kernel/display.h b/include/kernel/display.h index 18800c5..5cfdc9a 100644 --- a/include/kernel/display.h +++ b/include/kernel/display.h @@ -277,6 +277,18 @@ int sceDisplaySetInvertColors(int display, int enable); */ int sceDisplaySetOwner(int head, int index, SceUID pid); +/** + * Set display scaling configuration + * + * @param[in] scale - Scaling factor between 0.80000001 and 1.20000005 + * @param[in] head - Use 0 for OLED/LCD and 1 for HDMI + * @param[in] index - Can be 0 or 1 + * @param[in] flags - Returns error if ((flags & 1) && (flags & 0xC0)) + * + * @return 0 on success, < 0 on error. +*/ +int sceDisplaySetScaleConf(float scale, int head, int index, int flags); + #ifdef __cplusplus } #endif diff --git a/include/kernel/kernel/processmgr.h b/include/kernel/kernel/processmgr.h index e0209f9..465066e 100644 --- a/include/kernel/kernel/processmgr.h +++ b/include/kernel/kernel/processmgr.h @@ -7,6 +7,12 @@ extern "C" { #endif +/** UID of the current process */ +#define SCE_KERNEL_PROCESS_ID_SELF 0 + +/** UID of the kernel process */ +#define SCE_KERNEL_PROCESS_ID_KERNEL 0x10005 + typedef struct SceKernelProcessInfo { SceSize size; //!< size of this struct, make sure it's 0xE8 SceUID pid; //!< our process ID diff --git a/include/kernel/kernel/sysmem.h b/include/kernel/kernel/sysmem.h index 978db42..3b3ebc0 100644 --- a/include/kernel/kernel/sysmem.h +++ b/include/kernel/kernel/sysmem.h @@ -1,6 +1,7 @@ #ifndef _PSP2_KERNEL_SYSMEM_H_ #define _PSP2_KERNEL_SYSMEM_H_ +#include <stdarg.h> #include <psp2kern/types.h> #ifdef __cplusplus @@ -439,7 +440,9 @@ typedef struct kernel_message_ctx // msg_type_flag : 0 or 0xB int sceDebugPrintf2(int msg_type_flag, kernel_message_ctx *msg_ctx, const char *fmt, ...); - + +int sceDebugVprintf(const char *fmt, va_list args); + int sceDebugPrintKernelPanic(kernel_message_ctx *msg_ctx, void *some_address); int sceDebugPrintfKernelPanic(kernel_message_ctx *msg_ctx, void *some_address, char* format, ...); diff --git a/include/kernel/kernel/threadmgr.h b/include/kernel/kernel/threadmgr.h index 61f96b3..d1a260d 100644 --- a/include/kernel/kernel/threadmgr.h +++ b/include/kernel/kernel/threadmgr.h @@ -14,6 +14,9 @@ typedef SceUInt64 SceKernelSysClock; /* Threads. */ +/** UID of the current thread */ +#define SCE_KERNEL_THREAD_ID_SELF 0 + typedef int (*SceKernelThreadEntry)(SceSize args, void *argp); /** Additional options used when creating threads. */ @@ -449,18 +452,61 @@ int sceKernelCancelMutex(SceUID mutexid, int newCount, int *numWaitThreads); */ int sceKernelGetMutexInfo(SceUID mutexid, SceKernelMutexInfo *info); -typedef struct SceKernelLwMutexWork { - SceInt64 data[4]; -} SceKernelLwMutexWork; +/* Fast mutex */ + +typedef struct SceKernelFastMutexWork { + SceInt64 data[8]; +} SceKernelFastMutexWork; -typedef struct SceKernelLwMutexOptParam { +typedef enum SceKernelFastMutexAttr { + SCE_KERNEL_FAST_MUTEX_ATTR_RECURSIVE = 0x00000002, + SCE_KERNEL_FAST_MUTEX_ATTR_CEILING = 0x00000004, + SCE_KERNEL_FAST_MUTEX_ATTR_UNK_3 = 0x00000008, + SCE_KERNEL_FAST_MUTEX_ATTR_TH_FIFO = 0x00000000, + SCE_KERNEL_FAST_MUTEX_ATTR_TH_PRIO = 0x00002000, + SCE_KERNEL_FAST_MUTEX_ATTR_UNK_15 = 0x00008000, + // All other flags are invalid +} SceKernelFastMutexAttr; + +typedef struct SceKernelFastMutexOptParam { SceSize size; -} SceKernelLwMutexOptParam; + SceInt32 ceilingPriority; +} SceKernelFastMutexOptParam; + +SceInt32 sceKernelInitializeFastMutex( + SceKernelFastMutexWork *pWork, + const char *pName, + SceKernelFastMutexAttr attr, + const SceKernelFastMutexOptParam *pOptParam); -int sceKernelInitializeFastMutex(void *mutex, const char *name, int unk0, int unk1); -int sceKernelLockFastMutex(void *mutex); -int sceKernelUnlockFastMutex(void *mutex); -int sceKernelDeleteFastMutex(void *mutex); +SceInt32 sceKernelLockFastMutex(SceKernelFastMutexWork *pWork); + +SceInt32 sceKernelTryLockFastMutex(SceKernelFastMutexWork *pWork); + +SceInt32 sceKernelUnlockFastMutex(SceKernelFastMutexWork *pWork); + +SceInt32 sceKernelFinalizeFastMutex(SceKernelFastMutexWork *pWork); + +typedef struct SceKernelFastMutexInfo { +// 0x00 + SceSize size; + SceUID uid; + char name[SCE_UID_NAMELEN + 1]; + SceKernelFastMutexAttr attr; + SceKernelFastMutexWork *pWork; +// 0x30 + SceInt32 currentCount; + SceUID currentOwnerId; + SceInt32 ceilingPriority; + SceInt32 unk3C; +// 0x40 + SceUInt32 numWaitThreads; +// 0x44 +} SceKernelFastMutexInfo; + +SceInt32 sceKernelGetFastMutexInfo(SceKernelFastMutexWork *pWork, SceKernelFastMutexInfo *pInfo); + +SceInt32 sceKernelGetFastMutexInfoById(SceUID uid, SceKernelFastMutexInfo *pInfo); /* Event flags. */ diff --git a/include/kernel/lowio/iftu.h b/include/kernel/lowio/iftu.h index 29b233f..a03d221 100644 --- a/include/kernel/lowio/iftu.h +++ b/include/kernel/lowio/iftu.h @@ -69,19 +69,19 @@ typedef struct SceIftuFrameBuf { typedef struct SceIftuPlaneState { SceIftuFrameBuf fb; - unsigned int unk20; - unsigned int src_x; /* In (0x10000 / 960) multiples */ - unsigned int src_y; /* in (0x10000 / 544) multiples */ - unsigned int src_w; /* in (0x10000 / 960) multiples */ - unsigned int src_h; /* in (0x10000 / 544) multiples */ - unsigned int dst_x; - unsigned int dst_y; - unsigned int dst_w; - unsigned int dst_h; - unsigned int vtop_padding; - unsigned int vbot_padding; /* h - aligned_h */ - unsigned int hleft_padding; - unsigned int hright_padding; /* w - aligned_w */ + unsigned int unk20; /* not observed to be non-zero */ + unsigned int unk24; /* not observed to be non-zero */ + unsigned int unk28; /* not observed to be non-zero */ + unsigned int src_w; /* inverse scaling factor in 16.16 fixed point, greater than or equal to 0.25 */ + unsigned int src_h; /* inverse scaling factor in 16.16 fixed point, greater than or equal to 0.25 */ + unsigned int dst_x; /* offset into the destination buffer */ + unsigned int dst_y; /* offset into the destination buffer */ + unsigned int src_x; /* offset into the source buffer in 8.8 fixed point, strictly less than 4.0 */ + unsigned int src_y; /* offset into the source buffer in 8.8 fixed point, strictly less than 4.0 */ + unsigned int crop_top; + unsigned int crop_bot; + unsigned int crop_left; + unsigned int crop_right; } SceIftuPlaneState; int sceIftuCsc(SceIftuFrameBuf *dst, SceIftuPlaneState *src, SceIftuConvParams *params); diff --git a/include/kernel/power.h b/include/kernel/power.h index 105535a..b56731b 100644 --- a/include/kernel/power.h +++ b/include/kernel/power.h @@ -246,6 +246,25 @@ int scePowerSetGpuClockFrequency(int freq); */ int scePowerSetGpuXbarClockFrequency(int freq); +/** + * Sets the time before idle callback is notified. + * + * @param callback_slot - Callback slot from 0 to 7. + * @param time - Time in microseconds. + * + * @return 0 on success, < 0 on error + */ +int scePowerSetIdleTimer(int callback_slot, SceUInt64 time); + +/** + * Sets the PS button hold time for showing the quick menu. + * + * @param time - Time in microseconds. + * + * @return 0 always + */ +int scePowerSetPsButtonPushTime(int time); + #ifdef __cplusplus } #endif diff --git a/include/kernel/sblacmgr.h b/include/kernel/sblacmgr.h index 99621dc..04a182c 100644 --- a/include/kernel/sblacmgr.h +++ b/include/kernel/sblacmgr.h @@ -8,6 +8,7 @@ extern "C" { #endif int sceSblACMgrIsShell(SceUID pid); +int sceSblACMgrIsPspEmu(SceUID pid); int sceSblACMgrIsGameProgram(SceUID pid); int sceSblACMgrIsNonGameProgram(SceUID pid); int sceSblACMgrIsDevelopmentMode(void); diff --git a/include/kernel/udcd.h b/include/kernel/udcd.h index f23024f..25d1e2a 100644 --- a/include/kernel/udcd.h +++ b/include/kernel/udcd.h @@ -2,7 +2,7 @@ #define _PSP2_KERNEL_UDCD_H_ #include <psp2kern/types.h> -#include <vitasdk/align.h> +#include <dolcesdk/align.h> #ifdef __cplusplus extern "C" { diff --git a/include/user/appmgr.h b/include/user/appmgr.h index ae0f6c9..b55859a 100644 --- a/include/user/appmgr.h +++ b/include/user/appmgr.h @@ -96,6 +96,34 @@ typedef struct sceAppMgrLoadExecOptParam { #define SCE_APPMGR_MAX_APP_NAME_LENGTH (31) +typedef struct SceAppMgrBudgetInfo { +// 0x00 + SceSize size; + SceUInt32 mode; + SceUInt32 unk_8; + SceUInt32 budgetLPDDR2; +// 0x10 + SceUInt32 freeLPDDR2; + SceUInt32 allow0x0E208060; + SceUInt32 unk_14; + SceUInt32 budget0x0E208060; +// 0x20 + SceUInt32 free0x0E208060; + SceUInt32 unk_24; + SceUInt32 unk_28; + SceUInt32 budgetPHYCONT; +// 0x30 + SceUInt32 freePHYCONT; + SceUInt32 allow; + SceUChar8 unk_38[0x20]; + SceUInt32 unk_58; + SceUInt32 budgetCDRAM; +// 0x60 + SceUInt32 freeCDRAM; + SceUChar8 reserved_64[0x24]; +// 0x88 +} SceAppMgrBudgetInfo; + /** * Save data on savedata0: partition * @@ -487,7 +515,15 @@ int _sceAppMgrGetRawPath(char *path, char *resolved_path, int resolved_path_size * @return 0 on success. */ int _sceAppMgrGetRawPathOfApp0ByAppIdForShell(int appId, char resolved_path[292]); - + +/** + * Get application memory budget info. + * + * @return 0 on success, < 0 on error. + * + */ +int sceAppMgrGetBudgetInfo(SceAppMgrBudgetInfo *info); + #ifdef __cplusplus } #endif diff --git a/include/user/incoming_dialog.h b/include/user/incoming_dialog.h new file mode 100644 index 0000000..c110cf0 --- /dev/null +++ b/include/user/incoming_dialog.h @@ -0,0 +1,83 @@ +#ifndef _DOLCESDK_PSP2_INCOMING_DIALOG_H_ +#define _DOLCESDK_PSP2_INCOMING_DIALOG_H_ + +#include <psp2/kernel/clib.h> +#include <psp2/scebase.h> +#include <psp2/types.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Dialog status + */ +typedef enum SceIncomingDialogStatus { + SCE_INCOMING_DIALOG_NOT_RUNNING, + SCE_INCOMING_DIALOG_BUSY, + SCE_INCOMING_DIALOG_RUNNING, + SCE_INCOMING_DIALOG_ACCEPTED, + SCE_INCOMING_DIALOG_REJECTED, + SCE_INCOMING_DIALOG_CLOSED, + SCE_INCOMING_DIALOG_TIMEOUT, +} SceIncomingDialogStatus; + +/** + * Errors + */ +#define SCE_INCOMINGDIALOG_ERROR_INVALID_ARG 0x80106202; + +typedef struct SceIncomingDialogParam { + SceInt32 sdkVersion; + SceChar8 titleid[0x10]; // TitleId of the application to open when "accept" button has been pressed. Can be all zero. + SceChar8 audioPath[0x80]; // Path to audio file that will be played during dialog, .mp3, .at9, m4a. Can be all zero. + SceUInt32 dialogTimer; // Time to show dialog in seconds + SceInt32 unk_BC; // Can be set to 0 + SceChar8 reserved1[0x3E]; + SceWChar16 buttonRightText[0x20]; // Text for "accept" button. Must be null-terminated. + SceWChar16 buttonLeftText[0x20]; // Text for "reject" button. Must be null-terminated. If all zero, only "accept" button will be created. + SceWChar16 dialogText[0x81]; // Text for dialog window, also shared with notification. Must be null-terminated. +} SceIncomingDialogParam; + +/** + * Initialize incoming dialog library, initType must be 0. + */ +SceInt32 sceIncomingDialogInitialize(int initType); + +/** + * Open incoming dialog. + */ +SceInt32 sceIncomingDialogOpen(SceIncomingDialogParam* dialogParam); + +/** + * Returns current status of incoming dialog. + */ +SceInt32 sceIncomingDialogGetStatus(void); + +/** + * Force exit to LiveArea and show dialog window + */ +SceInt32 sceIncomingDialogSwitchToDialog(void); + +/** + * Close incoming dialog. + */ +SceInt32 sceIncomingDialogClose(void); + +/** + * Finalize incoming dialog library + */ +SceInt32 sceIncomingDialogFinalize(void); + +static inline +void sceIncomingDialogParamInit(SceIncomingDialogParam* dialogParam) +{ + sceClibMemset(dialogParam, 0x0, sizeof(SceIncomingDialogParam)); + dialogParam->sdkVersion = SCE_PSP2_SDK_VERSION; +} + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* _DOLCESDK_PSP2_INCOMING_DIALOG_H_ */ diff --git a/include/user/kernel/clib.h b/include/user/kernel/clib.h index a7aa75e..b22eb3f 100644 --- a/include/user/kernel/clib.h +++ b/include/user/kernel/clib.h @@ -21,6 +21,7 @@ int sceClibTolower(char ch); int sceClibToupper(char ch); int sceClibPrintf(const char *fmt, ...); +int sceClibVprintf(const char *fmt, va_list args); int sceClibSnprintf(char *dst, SceSize dst_max_size, const char *fmt, ...); int sceClibVsnprintf(char *dst, SceSize dst_max_size, const char *fmt, va_list args); @@ -45,6 +46,10 @@ int sceClibMemcmp(const void *s1, const void *s2, SceSize len); void *sceClibMemchr(const void *src, int ch, SceSize len); +void *sceClibMspaceCreate(void *base, SceSize size); +void *sceClibMspaceMalloc(void *space, SceSize size); +void sceClibMspaceFree(void *space, void *ptr); + #ifdef __cplusplus } #endif diff --git a/include/user/kernel/processmgr.h b/include/user/kernel/processmgr.h index 272fe51..70e50b6 100644 --- a/include/user/kernel/processmgr.h +++ b/include/user/kernel/processmgr.h @@ -8,6 +8,9 @@ extern "C" { #endif +/** UID of the current process */ +#define SCE_KERNEL_PROCESS_ID_SELF 0 + typedef enum SceKernelProcessPrioritySystem { SCE_KERNEL_PROCESS_PRIORITY_SYSTEM_HIGH = 32, SCE_KERNEL_PROCESS_PRIORITY_SYSTEM_DEFAULT = 96, diff --git a/include/user/kernel/threadmgr.h b/include/user/kernel/threadmgr.h index c5d93b7..9d42eb4 100644 --- a/include/user/kernel/threadmgr.h +++ b/include/user/kernel/threadmgr.h @@ -12,6 +12,9 @@ typedef SceUInt64 SceKernelSysClock; /* Threads. */ +/** UID of the current thread */ +#define SCE_KERNEL_THREAD_ID_SELF 0 + typedef int (*SceKernelThreadEntry)(SceSize args, void *argp); /** Additional options used when creating threads. */ diff --git a/include/user/notification_util.h b/include/user/notification_util.h new file mode 100644 index 0000000..e9a5298 --- /dev/null +++ b/include/user/notification_util.h @@ -0,0 +1,80 @@ +#ifndef _DOLCESDK_PSP2_NOTIFICATION_UTIL_H_ +#define _DOLCESDK_PSP2_NOTIFICATION_UTIL_H_ + +#include <psp2/types.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Errors + */ +#define SCE_NOTIFICATIONUTIL_ERROR_INTERNAL 0x80106301 + +/** + * BGDL-type notification event handler function + */ +typedef void (*SceNotificationUtilProgressEventHandler)(SceUInt32 eventId); + +typedef struct SceNotificationUtilProgressInitParam { + SceWChar16 notificationText[0x40]; // must be null-terminated + SceWChar16 notificationSubText[0x40]; // must be null-terminated + SceChar8 unk[0x3E6]; + SceNotificationUtilProgressEventHandler eventHandler; + SceInt32 unk_4EC; // can be set to 0 + SceWChar16 cancelDialogText[0x40]; // must be null-terminated +} SceNotificationUtilProgressInitParam; + +typedef struct SceNotificationUtilProgressUpdateParam { + SceWChar16 notificationText[0x40]; // must be null-terminated + SceWChar16 notificationSubText[0x40]; // must be null-terminated + SceFloat targetProgress; + SceChar8 reserved[0x38]; +} SceNotificationUtilProgressUpdateParam; + +typedef struct SceNotificationUtilProgressFinishParam { + SceWChar16 notificationText[0x40]; // must be null-terminated + SceWChar16 notificationSubText[0x40]; // must be null-terminated + SceChar8 path[0x3E8]; +} SceNotificationUtilProgressFinishParam; + +/** + * Initialize notification util for use with BG application. + * + * Does not need to be called for normal applications. + */ +SceInt32 sceNotificationUtilBgAppInitialize(void); + +/** + * Send notification. + * + * Text buffer size must be 0x470. + */ +SceInt32 sceNotificationUtilSendNotification(const SceWChar16* text); + +/** + * Clean notifications for calling app from notification history. + */ +SceInt32 sceNotificationUtilCleanHistory(void); + +/** + * Start BGDL-type notification. + */ +SceInt32 sceNotificationUtilProgressBegin(SceNotificationUtilProgressInitParam* initParam); + +/** + * Update BGDL-type notification. + */ +SceInt32 sceNotificationUtilProgressUpdate(SceNotificationUtilProgressUpdateParam* updateParam); + +/** + * Finish BGDL-type notification. + */ +SceInt32 sceNotificationUtilProgressFinish(SceNotificationUtilProgressFinishParam* finishParam); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* _DOLCESDK_PSP2_NOTIFICATION_UTIL_H_ */ diff --git a/include/user/registrymgr.h b/include/user/registrymgr.h index cc363b5..dbf4946 100644 --- a/include/user/registrymgr.h +++ b/include/user/registrymgr.h @@ -59,11 +59,11 @@ int sceRegMgrSetKeyBin(const char *category, const char *name, void *buf, int si * * @param category - The path to the directory to be opened (e.g. /CONFIG/SYSTEM) * @param name - Name of the key - * @param buf - Pointer to an int buffer to hold the value + * @param value - Value to set to * * @return 0 on success, < 0 on error */ -int sceRegMgrSetKeyInt(const char* category, const char* name, int buf); +int sceRegMgrSetKeyInt(const char* category, const char* name, int value); /** * Set a key's information by category and name diff --git a/include/user/shellutil.h b/include/user/shellutil.h index 61d602b..0d84ff6 100644 --- a/include/user/shellutil.h +++ b/include/user/shellutil.h @@ -1,6 +1,8 @@ #ifndef _PSP2_SHELLUTIL_H_ #define _PSP2_SHELLUTIL_H_ +#include <psp2/types.h> + #ifdef __cplusplus extern "C" { #endif @@ -65,6 +67,97 @@ int sceShellUtilLock(SceShellUtilLockType type); */ int sceShellUtilUnlock(SceShellUtilLockType type); +/** + * Reboot the device + * + * @param[in] unk - pass 0 + */ +void sceShellUtilRequestColdReset(int unk); + +/** + * Poweroff the device + * + * @param[in] unk - pass 0 + */ +void sceShellUtilRequestStandby(int unk); + +/** + * Show "A serious error has occured" message and reboot + * + * @param[in] safeModeType - sets type of safemode to reboot into, 0 to reboot normally + * @param[in] errorCode - error code to display in the message + * @param[in] errorMessageType - ex. 0 "Contact technical support" + */ +void sceShellUtilRequestColdResetWithError(int safeModeType, int errorCode, int errorMessageType); + +/** + * SceTextClipboardStorage is cached memory block with usable size of 0x1FFD bytes + * allocated by SceShellSvc on startup. Normally you would access this storage with + * clipboard sysmodule, however it can also be accessed directly with SceShellSvc + * functions. This memory can be accesed from any part of the system and is managed + * by SceShell. For example, you can write to it in one application and access + * written data from the other. Or you can write to it in application and access + * written data from the plugin. + * + * @param[in] data - pointer to the data to write + * @param[in] size - size of data to write. Must not exceed 0x1FFD. + */ + +SceInt32 sceShellUtilTextClipboardWrite(const void* data, SceSize size); + +/** + * Read from text clipboard + * + * @param[in] data - pointer to the buffer where the read data will be placed + * @param[in] size - size of data to read + * @param[out] textlen - length actually read + */ + +SceInt32 sceShellUtilTextClipboardRead(void* data, SceSize size, SceSize *textlen); + +/** + * Returns size of the data that was written to clipboard with + * sceShellUtilTextClipboardWrite + */ + +SceUInt32 sceShellUtilTextClipboardGetUsedSize(void); + +/** + * Sets text in time display, UTF-16 (remains until reboot?) + */ + +SceInt32 sceShellUtilSetTimeText(SceWChar16* unk, SceWChar16* text); + +/** + * Set airplane icon visibility + * + * @param[in] mode - 0 to hide, 1 to show + */ + +SceInt32 sceShellUtilSetAirplaneIconMode(SceUInt32 mode); + +/** + * Set Bluetooth icon visibility + * + * @param[in] mode - 0 to hide, 1 to show + */ + +SceInt32 sceShellUtilSetBtIconMode(SceUInt32 mode); + +/** + * Set BGM mode + * + * @param[in] mode - 0 to disable, 1 to enable + */ + +SceInt32 sceShellUtilSetBGMMode(SceUInt32 mode); + +/** + * Set system language. Takes about 5 sec to apply. + */ + +SceInt32 sceShellUtilSetSystemLanguage(SceUInt32 languageId); + #ifdef __cplusplus } #endif |