summaryrefslogtreecommitdiff
path: root/include/user/paf/misc.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/user/paf/misc.h')
-rw-r--r--include/user/paf/misc.h378
1 files changed, 339 insertions, 39 deletions
diff --git a/include/user/paf/misc.h b/include/user/paf/misc.h
index bf21a65..18925e0 100644
--- a/include/user/paf/misc.h
+++ b/include/user/paf/misc.h
@@ -12,7 +12,11 @@
namespace paf {
- static SceBool IsDolce();
+ namespace graphics {
+ class Texture;
+ }
+
+ class Allocator;
namespace datetime {
@@ -87,50 +91,89 @@ namespace paf {
}
+ class Http
+ {
+ public:
+
+ Http();
+
+ ~Http() {};
+
+ SceVoid SetUrl(const char *url);
+
+ SceVoid SetUrl(paf::String *url);
+
+ SceInt32 SetUnk(SceInt32 a1, SceInt32 a2);
+
+ private:
+
+ SceUChar8 m_work[0xB4];
+
+ };
+
namespace io {
enum Error
{
- SCE_PAF_ERROR_MISC_IO_INVALID_POINTER = 0x80AF5901
+ SCE_PAF_ERROR_MISC_IO_INVALID_POINTER = 0x80AF5901,
+ SCE_PAF_ERROR_MISC_IO_INVALID_ARGUMENT = 0x80AF5002,
+ SCE_PAF_ERROR_MISC_IO_OUT_OF_MEMORY = 0x80AF5003,
+ SCE_PAF_ERROR_MISC_IO_HTTP_NOT_SUPPORTED = 0x80AF5004,
+ SCE_PAF_ERROR_MISC_IO_MEM_NOT_SUPPORTED = 0x80AF5005,
+ SCE_PAF_ERROR_MISC_IO_FILE_NOT_FOUND = 0x80AF5022
};
- class File
+ enum Type
+ {
+ Type_Dir,
+ Type_File,
+ Type_Reg,
+ Type_Lnk
+ };
+
+ class AsyncResult
{
public:
- class AsyncResult
- {
- public:
+ SceInt32 result;
+ SceInt32 unk_04;
+ };
- SceInt32 result;
- SceInt32 unk_04;
- };
+ class File
+ {
+ public:
File();
virtual ~File();
- virtual SceInt32 Open(const char *filename, int flag, SceIoMode mode);
+ virtual SceInt32 Open(const char *filename, SceInt32 flag, SceIoMode mode);
virtual SceInt32 Close();
- virtual SceInt32 Read(void *buf, SceSize nbyte);
- virtual SceInt32 Write(const void *buf, SceSize nbyte);
- virtual SceInt32 Lseek(SceOff offset, int whence);
+ virtual SceInt32 Read(ScePVoid buf, SceSize nbyte);
+ virtual SceInt32 Write(const ScePVoid buf, SceSize nbyte);
+ virtual SceOff Lseek(SceOff offset, SceInt32 whence, SceIoAsyncParam* asyncParam = SCE_NULL);
virtual SceInt32 Sync();
- virtual SceInt32 OpenAsync(const char *filename, int flags, SceMode mode);
+ virtual SceInt32 OpenAsync(const char *filename, SceInt32 flag, SceMode mode);
virtual SceInt32 CloseAsync();
- virtual SceInt32 ReadAsync(void *buf, SceSize nbyte);
- virtual SceInt32 WriteAsync(const void *buf, SceSize nbyte);
- virtual SceInt32 LseekAsync(SceInt32 a1, int whence, SceIoAsyncParam* asyncParam);
+ virtual SceInt32 ReadAsync(ScePVoid buf, SceSize nbyte);
+ virtual SceInt32 WriteAsync(const ScePVoid buf, SceSize nbyte);
+ virtual SceInt32 LseekAsync(SceOff offset, SceInt32 whence, SceIoAsyncParam* asyncParam);
virtual SceInt32 SyncAsync();
virtual SceInt32 WaitAsync(AsyncResult *pResult);
virtual SceInt32 PollAsync(AsyncResult *pResult);
- virtual SceBool IsOpened();
- virtual SceInt32 unkFun_44();
+ virtual SceBool IsOpened();
+ virtual SceBool unkFun_44();
virtual SceInt32 CancelAsync();
- virtual SceOff GetSize();
- virtual SceInt32 GetStat(ScePVoid pafStat);
+ virtual SceOff GetSize();
+ virtual SceInt32 GetStat(SceIoStat *stat);
virtual SceInt32 SetPriority(SceUInt32 ioPriority);
+ static SceInt32 Rename(const char *oldname, const char *newname);
+
+ static SceInt32 Remove(const char *path);
+
+ static SceOff GetSize(const char *path);
+
private:
SceUChar8 m_work[0x2C];
@@ -145,7 +188,7 @@ namespace paf {
{
public:
- SceInt32 type;
+ Type type;
paf::String name;
SceInt32 size;
SceUInt32 creationYear;
@@ -165,26 +208,207 @@ namespace paf {
};
- static SceInt32 SetDefaultPriority(SceUInt32 ioPriority);
+ class Mem
+ {
+ public:
- static SceBool Exists(const char *path);
+ virtual SceInt32 unkFun_00();
+ virtual ScePVoid GetMembase();
+ virtual SceSize GetSize();
- static SceBool IsDir(const char *path);
+ virtual ~Mem();
- static SceInt32 Remove(const char *path);
+ private:
- static SceInt32 RemoveRecursive(const char *path);
+ Mem();
- static SceInt32 Mkdir(const char *dirname, SceIoMode mode);
+ SceUChar8 m_work[0x0C];
+ };
+
+ class Stat
+ {
+ public:
+
+ static SceInt32 GetStat(const char *path, Stat *buf);
+
+ static SceBool IsFileOrDir(const char *path);
+
+ static SceBool IsFile(const char *path);
+
+ static SceBool IsDir(const char *path);
+
+ SceIoMode st_mode;
+ SceUInt32 st_attr;
+ SceOff st_size;
+ datetime::DateTime ctime;
+ SceUChar8 pad1[3];
+ datetime::DateTime atime;
+ SceUChar8 pad2[3];
+ datetime::DateTime mtime;
+ };
+
+ class Misc
+ {
+ public:
+
+ static SceInt32 SetDefaultPriority(SceUInt32 ioPriority);
+
+ static SceBool Exists(const char *path);
+
+ static SceBool IsDir(const char *path);
- static SceInt32 MkdirRWSYS(const char *dirname);
+ static SceOff GetSize(const char *path);
- //dot-separated path list
- static SceInt32 MkdirMulti(const char *dirnameList, SceIoMode mode);
+ static SceInt32 Rename(const char *oldname, const char *newname);
- static SceInt32 MkdirMultiRWSYS(const char *dirnameList);
+ static SceInt32 Remove(const char *path);
+
+ static SceInt32 RemoveAny(const char *path);
+
+ static SceInt32 RemoveRecursive(const char *path);
+
+ static SceInt32 Mkdir(const char *dirname, SceIoMode mode);
+
+ static SceInt32 MkdirRWSYS(const char *dirname);
+
+ //dot-separated path list
+ static SceInt32 CreateRecursive(const char *dirnameList, SceIoMode mode);
+
+ static SceInt32 CreateRecursiveRWSYS(const char *dirnameList);
+ };
}
+ class LocalFile
+ {
+ public:
+
+ class OpenParam
+ {
+ public:
+
+ SceUInt32 ioType;
+ char *filename;
+ SceInt32 flag;
+ SceIoMode mode;
+ };
+
+ LocalFile();
+
+ LocalFile(paf::Allocator *allocator);
+
+ virtual SceInt32 GetType();
+ virtual SceInt32 unkFun_04();
+ virtual SceInt32 GetSize();
+ virtual SceInt32 Open(OpenParam *param);
+ virtual SceInt32 OpenAsync(OpenParam *param);
+ virtual SceInt32 Close();
+ virtual SceInt32 CloseAsync();
+ virtual SceBool IsOpened();
+ virtual SceBool unkFun_20();
+ virtual SceInt32 CancelAsync();
+ virtual SceInt32 Read(ScePVoid buf, SceSize nbyte);
+ virtual SceInt32 ReadAsync(ScePVoid buf, SceSize nbyte);
+ virtual SceInt32 Write(const ScePVoid buf, SceSize nbyte);
+ virtual SceInt32 WriteAsync(const ScePVoid buf, SceSize nbyte);
+ virtual SceOff Lseek(SceOff offset, SceInt32 whence, SceIoAsyncParam* asyncParam = SCE_NULL);
+ virtual SceInt32 LseekAsync(SceOff offset, SceInt32 whence, SceIoAsyncParam* asyncParam);
+ virtual SceInt32 Sync();
+ virtual SceInt32 SyncAsync();
+ virtual SceInt32 WaitAsync(io::AsyncResult *pResult);
+ virtual SceInt32 PollAsync(io::AsyncResult *pResult);
+ virtual SceInt32 GetStat(SceIoStat *stat);
+ virtual SceInt32 SetPriority(SceUInt32 ioPriority);
+
+ virtual ~LocalFile();
+
+ private:
+
+ SceUChar8 m_work[0x2C];
+ };
+
+ class MemFile
+ {
+ public:
+
+ class OpenParam
+ {
+ public:
+
+ SceUInt32 ioType;
+ ScePVoid ptr;
+ SceSize size;
+ };
+
+ MemFile();
+
+ virtual SceInt32 GetType();
+ virtual SceInt32 unkFun_04();
+ virtual SceUInt64 GetSize();
+ virtual SceInt32 Open(OpenParam *param);
+ virtual SceInt32 OpenAsync(OpenParam *param);
+ virtual SceInt32 Close();
+ virtual SceInt32 CloseAsync();
+ virtual SceBool IsOpened();
+ virtual SceBool unkFun_20();
+ virtual SceInt32 CancelAsync();
+ virtual SceInt32 Read(ScePVoid buf, SceSize nbyte);
+ virtual SceInt32 ReadAsync(ScePVoid buf, SceSize nbyte);
+ virtual SceInt32 Write(const ScePVoid buf, SceSize nbyte);
+ virtual SceInt32 WriteAsync(const ScePVoid buf, SceSize nbyte);
+ virtual SceInt32 Lseek(SceOff offset, SceInt32 whence, SceIoAsyncParam* asyncParam = SCE_NULL);
+ virtual SceInt32 LseekAsync(SceOff offset, SceInt32 whence, SceIoAsyncParam* asyncParam);
+ virtual SceInt32 Sync();
+ virtual SceInt32 SyncAsync();
+ virtual SceInt32 WaitAsync(io::AsyncResult *pResult);
+ virtual SceInt32 PollAsync(io::AsyncResult *pResult);
+ virtual SceInt32 GetStat(SceIoStat *stat); // not supported
+ virtual SceInt32 SetPriority(SceUInt32 ioPriority); // not supported
+
+ virtual ~MemFile();
+
+ private:
+
+ SceUChar8 m_work[0x4C];
+ };
+
+ class HttpFile
+ {
+ public:
+
+ HttpFile();
+
+ virtual SceInt32 GetType();
+ virtual SceInt32 unkFun_04();
+ virtual SceUInt64 GetSize();
+ virtual SceInt32 Open(Http *param);
+ virtual SceInt32 OpenAsync(Http *param);
+ virtual SceInt32 Close();
+ virtual SceInt32 CloseAsync();
+ virtual SceBool IsOpened();
+ virtual SceBool unkFun_20();
+ virtual SceInt32 CancelAsync();
+ virtual SceInt32 Read(ScePVoid buf, SceSize nbyte);
+ virtual SceInt32 ReadAsync(ScePVoid buf, SceSize nbyte);
+ virtual SceInt32 Write(const ScePVoid buf, SceSize nbyte); // not supported
+ virtual SceInt32 WriteAsync(const ScePVoid buf, SceSize nbyte); // not supported
+ virtual SceInt32 Lseek(SceOff offset, SceInt32 whence, SceIoAsyncParam* asyncParam = SCE_NULL);
+ virtual SceInt32 LseekAsync(SceOff offset, SceInt32 whence, SceIoAsyncParam* asyncParam);
+ virtual SceInt32 Sync();
+ virtual SceInt32 SyncAsync();
+ virtual SceInt32 WaitAsync(io::AsyncResult *pResult);
+ virtual SceInt32 PollAsync(io::AsyncResult *pResult);
+ virtual SceInt32 GetStat(SceIoStat *stat);
+ virtual SceInt32 SetPriority(SceUInt32 ioPriority);
+
+ virtual ~HttpFile();
+
+ static SceInt32 GetStat(const char *url, SceIoStat *stat);
+
+ private:
+
+ SceUChar8 m_work[0x4C];
+ };
+
class Module
{
public:
@@ -241,14 +465,16 @@ namespace paf {
Allocator(ScePVoid *membase, SceSize size, const char *name, Opt *pOpt = SCE_NULL);
+ virtual SceInt32 GetType();
+ virtual SceBool IsCdlgMemory();
+ virtual char* GetName();
+ virtual SceVoid GetInfo(ScePVoid **membase, SceSize *size);
+ virtual SceSize GetFreeSize();
+
virtual ~Allocator();
static Allocator *GetGlobalAllocator();
- SceSize GetSize();
-
- SceVoid GetMemBlockBase(ScePVoid *membase, ScePVoid *membaseTop);
-
SceVoid Deallocate(ScePVoid ptr);
ScePVoid Allocate(SceSize size);
@@ -271,7 +497,7 @@ namespace paf {
enum Type
{
- Type_0,
+ Type_AutoDetect,
Type_PNG,
Type_JPEG,
Type_TIFF,
@@ -282,7 +508,7 @@ namespace paf {
};
- class Result
+ class LoadResult
{
public:
@@ -290,15 +516,89 @@ namespace paf {
ScePVoid unk_04;
};
- static SceVoid Load(Result *pRes, const char *pPath, ScePVoid buf, SceInt32 a4, SceInt32 a5, SceInt32 a6, SceInt32 a7);
+ class Resolution
+ {
+ public:
+
+ SceUInt32 width;
+ SceUInt32 height;
+ };
+
+ //ScePafMisc_57AD1093
+ static Type GetTypeFromFile(const char *pPath, SceInt32 unused, SceOff offset, SceIoAsyncParam* asyncIoParam);
+
+ //ScePafMisc_D77AEA5F
+ static Type GetTypeFromMem(ScePVoid imageBuf, SceSize imageSize);
+
+ static SceVoid LoadFromFile(LoadResult *pRes, const char *pPath, paf::Allocator *allocator, Type type, SceOff offset, SceIoAsyncParam* asyncIoParam, SceSize sizeWithoutOffset);
+
+ //ScePafMisc_C341D895
+ static SceInt32 LoadFromMem(LoadResult *pRes, ScePVoid imageBuf, SceSize imageSize, paf::Allocator *allocator, Type type);
+
+ //ScePafMisc_29E8BCA7
+ static SceVoid Convert(LoadResult *pRes, Image *pSrc, SceUInt32 targetType, SceInt32 a4);
+
+ //ScePafMisc_502BC2CF
+ static SceVoid ToTexture(paf::graphics::Texture *pTex, Image *pImg, SceInt32 a3);
static SceInt32 GetLastError();
static SceBool SetLastError(SceInt32 errorCode);
+ static SceVoid GetResolution(Resolution *pRes, Image *img);
+
SceInt32 GetType();
SceInt32 GetPaletteColorNum();
+
+ //147115CE
+ SceUInt32 GetFormat();
+
+ //7B15112F
+ SceUInt32 GetOrderType();
+ };
+
+ class Misc
+ {
+ public:
+
+ class OpenResult
+ {
+ public:
+
+ union
+ {
+ LocalFile *localFile;
+ MemFile *memFile;
+ HttpFile *httpFile;
+ io::Mem *memory;
+ };
+
+ ScePVoid unk_04;
+ };
+
+ static SceVoid OpenMemDirect(OpenResult *res, ScePVoid ptr, SceSize size);
+
+ static SceVoid OpenFile(OpenResult *res, const char *path, SceInt32 flag, SceIoMode mode, SceInt32 *error);
+
+ static SceVoid OpenMem(OpenResult *res, ScePVoid ptr, SceSize size, SceInt32 *error);
+
+ static SceVoid OpenMem(OpenResult *res, OpenResult *memory, SceInt32 *error);
+
+ static SceVoid OpenHttp(OpenResult *res, const SceWChar16 *url, SceInt32 *error, SceInt32 timeout);
+
+ static SceVoid OpenHttp(OpenResult *res, const char *url, SceInt32 *error, SceInt32 timeout);
+
+ static SceBool IsDolce();
+
+ static SceVoid SuspendTouchInput(SceUInt32 port);
+
+ static SceVoid ResumeTouchInput(SceUInt32 port);
+
+ //ScePafMisc_5E39FCE1
+ static SceInt32 Decompress(ScePVoid memOut, SceSize origsize, ScePVoid memIn, SceSize size, SceInt32 libType = 1);
+
+ static SceInt32 Test1(char *path);
};
}