diff options
author | GrapheneCt | 2021-04-17 12:13:59 -0400 |
---|---|---|
committer | Reiko Asakura | 2021-04-17 14:32:37 -0400 |
commit | 9c2c72f154499a5083cba60974722fb5b971730c (patch) | |
tree | f8b3cef185a4bb2c6b23fb8a0a0d377df0f9982b /include/user/paf/misc.h | |
parent | Add kernel/npdrm.h (diff) | |
download | vds-libraries-9c2c72f154499a5083cba60974722fb5b971730c.tar.gz |
Update ScePaf NIDs and headers
Diffstat (limited to 'include/user/paf/misc.h')
-rw-r--r-- | include/user/paf/misc.h | 282 |
1 files changed, 271 insertions, 11 deletions
diff --git a/include/user/paf/misc.h b/include/user/paf/misc.h index 8b0d8db..bf21a65 100644 --- a/include/user/paf/misc.h +++ b/include/user/paf/misc.h @@ -6,40 +6,300 @@ #define _VDSUITE_USER_PAF_MISC_H #include <libsha1.h> +#include <kernel.h> +#include <rtc.h> +#include <paf/common.h> namespace paf { - namespace misc { + static SceBool IsDolce(); - class Misc + namespace datetime { + + class DateTime { public: - Misc(); + DateTime + ( + SceUInt16 year, + SceUInt16 month, + SceUInt16 day, + SceUInt16 hour, + SceUInt16 minute, + SceUInt16 second, + SceUInt32 microsecond + ); + + DateTime() { }; + + ~DateTime(); + + static SceInt32 IsLeapYear(SceInt32 year); + + static SceInt32 GetDaysInMonth(SceInt32 year, SceInt32 month); + + static SceInt32 GetCurrentTick(SceRtcTick *tick); + + static SceInt32 ConvertUtcToLoacalTime(const SceRtcTick *utc, SceRtcTick *localTime); + + static SceInt32 GetCurrentTickLocalTime(SceRtcTick *tick); + + static SceInt32 GetCurrentNetworkTick(SceRtcTick *tick); + + static SceInt32 ConvertLocalTimeToUtc(const SceRtcTick *localTime, SceRtcTick *utc); + + static SceInt32 FormatRFC3339(char *pszDateTime, SceRtcTick *tick, SceInt32 iTimeZoneMinutes); + + static SceInt32 FormatRFC3339LocalTime(char *pszDateTime, SceRtcTick *tick); + + static SceInt32 ParseRFC3339(SceRtcTick *tick, const char *pszDateTime); - ~Misc(); + SceVoid SetFromTick(SceRtcTick *tick); + + SceVoid SetFromRFC3339(const char *pszDateTime); + + SceVoid GetCurrentClockUtc(); + + SceVoid GetCurrentClockLocalTime(); + + SceVoid GetCurrentNetworkClock(); + + SceRtcTick ToRtcTick(); + + SceVoid ToRtcTick(SceRtcTick *tick); + + SceVoid Sum(const DateTime *s1, const DateTime *s2); + + SceBool operator<(const DateTime *pDt); + + SceUInt16 year; + SceUInt16 month; + SceUInt16 day; + SceUInt16 hour; + SceUInt16 minute; + SceUInt16 second; + SceUInt32 microsecond; + SceUInt32 unk_10; + SceUInt8 unk_14; - static SceBool IsDolce(); }; - class Sha1 + } + + namespace io { + + enum Error + { + SCE_PAF_ERROR_MISC_IO_INVALID_POINTER = 0x80AF5901 + }; + + class File { public: - Sha1(); + class AsyncResult + { + public: - ~Sha1() { }; + SceInt32 result; + SceInt32 unk_04; + }; - SceInt32 BlockUpdate(const ScePVoid plain, SceUInt32 len); + File(); - SceInt32 BlockResult(SceUChar8 *digest); + virtual ~File(); + + virtual SceInt32 Open(const char *filename, int 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 Sync(); + virtual SceInt32 OpenAsync(const char *filename, int flags, 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 SyncAsync(); + virtual SceInt32 WaitAsync(AsyncResult *pResult); + virtual SceInt32 PollAsync(AsyncResult *pResult); + virtual SceBool IsOpened(); + virtual SceInt32 unkFun_44(); + virtual SceInt32 CancelAsync(); + virtual SceOff GetSize(); + virtual SceInt32 GetStat(ScePVoid pafStat); + virtual SceInt32 SetPriority(SceUInt32 ioPriority); private: - SceSha1Context m_sha; + SceUChar8 m_work[0x2C]; }; + + class Dir + { + public: + + class Dirent + { + public: + + SceInt32 type; + paf::String name; + SceInt32 size; + SceUInt32 creationYear; + }; + + Dir() : uid(SCE_UID_INVALID_UID) { }; + + ~Dir() { }; + + SceInt32 Open(const char *dirname); + + SceInt32 Close(); + + SceInt32 Read(Dirent *stat); + + SceUID uid; + + }; + + static SceInt32 SetDefaultPriority(SceUInt32 ioPriority); + + static SceBool Exists(const char *path); + + static SceBool IsDir(const char *path); + + static SceInt32 Remove(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 MkdirMulti(const char *dirnameList, SceIoMode mode); + + static SceInt32 MkdirMultiRWSYS(const char *dirnameList); } + + class Module + { + public: + + Module(const char *pPath, SceInt32 unused_a2, SceUInt32 flags, SceInt32 unused_a4); + + ~Module(); + + private: + + SceUChar8 m_work[0x4]; + + }; + + class Sha1 + { + public: + + Sha1(); + + ~Sha1() { }; + + SceInt32 BlockUpdate(const ScePVoid plain, SceUInt32 len); + + SceInt32 BlockResult(SceUChar8 *digest); + + private: + + SceSha1Context m_sha; + + }; + + class Allocator + { + public: + + class Opt + { + public: + + Opt() { }; + + ~Opt() { }; + + int a1; + int a2; + SceUInt8 a3_0; + SceUInt8 a3_1; + SceUInt8 a3_2; + SceUInt8 a3_3; + SceBool useCdlgMemory; + SceSize alignment; + }; + + Allocator(ScePVoid *membase, SceSize size, const char *name, Opt *pOpt = SCE_NULL); + + virtual ~Allocator(); + + static Allocator *GetGlobalAllocator(); + + SceSize GetSize(); + + SceVoid GetMemBlockBase(ScePVoid *membase, ScePVoid *membaseTop); + + SceVoid Deallocate(ScePVoid ptr); + + ScePVoid Allocate(SceSize size); + + ScePVoid AllocateAligned(SceSize alignment, SceSize size); + + private: + + SceUChar8 m_work[0x5C]; + + }; + + class Image + { + public: + + Image(); + + ~Image(); + + enum Type + { + Type_0, + Type_PNG, + Type_JPEG, + Type_TIFF, + Type_GIF, + Type_BMP, + Type_GIM, + Type_DDS + }; + + + class Result + { + public: + + Image *img; + ScePVoid unk_04; + }; + + static SceVoid Load(Result *pRes, const char *pPath, ScePVoid buf, SceInt32 a4, SceInt32 a5, SceInt32 a6, SceInt32 a7); + + static SceInt32 GetLastError(); + + static SceBool SetLastError(SceInt32 errorCode); + + SceInt32 GetType(); + + SceInt32 GetPaletteColorNum(); + }; } #endif /* _VDSUITE_USER_PAF_MISC_H */ |