summaryrefslogtreecommitdiff
path: root/include/user/paf/misc.h
diff options
context:
space:
mode:
authorGrapheneCt2021-04-17 12:13:59 -0400
committerReiko Asakura2021-04-17 14:32:37 -0400
commit9c2c72f154499a5083cba60974722fb5b971730c (patch)
treef8b3cef185a4bb2c6b23fb8a0a0d377df0f9982b /include/user/paf/misc.h
parentAdd kernel/npdrm.h (diff)
downloadvds-libraries-9c2c72f154499a5083cba60974722fb5b971730c.tar.gz
Update ScePaf NIDs and headers
Diffstat (limited to 'include/user/paf/misc.h')
-rw-r--r--include/user/paf/misc.h282
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 */