From f63ccb45052dcd9d177a46522ff5b71921011695 Mon Sep 17 00:00:00 2001 From: Reiko Asakura Date: Tue, 1 Sep 2020 17:09:25 -0400 Subject: Add scePafCes functions --- include/user/paf.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) (limited to 'include') diff --git a/include/user/paf.h b/include/user/paf.h index 38bfc40..c351346 100644 --- a/include/user/paf.h +++ b/include/user/paf.h @@ -2,11 +2,26 @@ #define _PSP2_PAF_H_ #include +#include #ifdef __cplusplus extern "C" { #endif +typedef struct ScePafString { + char *data; + SceSize length; +} ScePafString; + +typedef struct ScePafWString { + SceWChar16 *data; + SceSize length; +} ScePafWString; + +/** + * std C functions + */ + void sce_paf_free(void *ptr); void *sce_paf_malloc(SceSize size); void *sce_paf_bzero(void *ptr, SceSize num); @@ -28,6 +43,39 @@ int sce_paf_strncmp(const char *str1, const char *str2, SceSize num); char *sce_paf_strncpy(char *destination, const char *source, SceSize num); char *sce_paf_strrchr(const char *str, int character); +/** + * CES functions + */ + +#define SCE_PAF_CES_ALLOW_ILLEGAL_CODE 0x2 +#define SCE_PAF_CES_ALLOW_OUT_OF_CODE_RANGE 0x4 +#define SCE_PAF_CES_ALLOW_INVALID_ENCODE 0x8 +#define SCE_PAF_CES_ALLOW_SRC_BUFFER_END 0x10 + +/* UTF8 to UTF16 */ + +SceSSize scePafCesUtf8ToUtf16(ScePafString *utf8, ScePafWString *utf16); + +SceSSize scePafCesUtf8ToUtf16WithFlag(ScePafString *utf8, ScePafWString *utf16, SceUInt32 flags); + +SceSSize scePafCesUtf8CharToUtf16(char *utf8, ScePafWString *utf16); + +SceSSize scePafCesUtf8CharToUtf16WithFlag(char *utf8, ScePafWString *utf16, SceUInt32 flags); + +ScePafWString *scePafCesUtf8CharToUtf16WithAlloc(char *utf8, ScePafWString *utf16); + +/* UTF16 to UTF8 */ + +SceSSize scePafCesUtf16ToUtf8(ScePafWString *utf16, ScePafString *utf8); + +SceSSize scePafCesUtf16ToUtf8WithFlag(ScePafWString *utf16, ScePafString *utf8, SceUInt32 flags); + +SceSSize scePafCesUtf16CharToUtf8(SceWChar16 *utf16, ScePafString *utf8); + +SceSSize scePafCesUtf16CharToUtf8WithFlag(SceWChar16 *utf16, ScePafString *utf8, SceUInt32 flags); + +ScePafString *scePafCesUtf16CharToUtf8WithAlloc(SceWChar16 *utf16, ScePafString *utf8); + #ifdef __cplusplus } #endif -- cgit v1.2.3