diff options
Diffstat (limited to 'include/user/paf/misc.h')
-rw-r--r-- | include/user/paf/misc.h | 378 |
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); }; } |