summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--include/user/paf.h48
-rw-r--r--nids/360/ScePaf.yml13
2 files changed, 61 insertions, 0 deletions
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 <psp2/types.h>
+#include <psp2/ces/error.h>
#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
diff --git a/nids/360/ScePaf.yml b/nids/360/ScePaf.yml
index 8b9e5d4..6b01c3a 100644
--- a/nids/360/ScePaf.yml
+++ b/nids/360/ScePaf.yml
@@ -2,9 +2,22 @@ modules:
ScePaf:
nid: 0xCD679177
libraries:
+ ScePafCommon:
+ nid: 0x3C1965CD
+ functions:
+ scePafCesUtf16CharToUtf8: 0x8E009780
+ scePafCesUtf16CharToUtf8WithFlag: 0x5FAAAE1C
+ scePafCesUtf16ToUtf8: 0x06C015C6
+ scePafCesUtf16ToUtf8WithFlag: 0x683BC8E8
+ scePafCesUtf8CharToUtf16: 0x950C3AA0
+ scePafCesUtf8CharToUtf16WithFlag: 0xA9ED25D9
+ scePafCesUtf8ToUtf16: 0x3CFEB1EB
+ scePafCesUtf8ToUtf16WithFlag: 0x23A39B05
ScePafMisc:
nid: 0x3D643CE8
functions:
+ scePafCesUtf16CharToUtf8WithAlloc: 0xE690F751
+ scePafCesUtf8CharToUtf16WithAlloc: 0xA6ABC0B2
sce_paf_misc_does_file_exist: 0x95F14046
ScePafResource:
nid: 0x2836DC9B