diff options
author | Sergi Granell | 2017-12-03 13:25:40 +0100 |
---|---|---|
committer | devnoname120 | 2017-12-03 13:36:56 +0100 |
commit | 83704967daa09b69cff3649e2321f6180d8e2002 (patch) | |
tree | f50126ec8afbe422b939625e2ed53c4b32ba5952 /include | |
parent | Add missing sceKernelTryLockLwMutex (diff) | |
download | vds-libraries-83704967daa09b69cff3649e2321f6180d8e2002.tar.gz |
Add ksceKernelFindClassByName, update SceClass
Diffstat (limited to 'include')
-rw-r--r-- | include/kernel/kernel/sysmem.h | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/include/kernel/kernel/sysmem.h b/include/kernel/kernel/sysmem.h index b9fdac3..badc879 100644 --- a/include/kernel/kernel/sysmem.h +++ b/include/kernel/kernel/sysmem.h @@ -95,8 +95,19 @@ typedef enum SceKernelModel { } SceKernelModel; typedef struct SceClass { - char data[0x2C]; -} SceClass; + struct SceClass *next; + struct SceClass *root; + struct SceClass *prev; + const char *name; + struct SceClass *uidclass; + unsigned int attributes; + unsigned short itemsize; + unsigned short unk1A; + unsigned int unk1C; + SceClassCallback create_cb; + SceClassCallback destroy_cb; + unsigned int magic; /* 0xABCE9DA5 */ +} SceClass; /* size = 0x2C */ typedef struct SceObjectBase { uint32_t sce_reserved[2]; @@ -235,11 +246,13 @@ int sceKernelUidRetain(SceUID uid); */ int sceKernelUidRelease(SceUID uid); -SceClass *sceKernelGetUidClass(void); typedef int (*SceClassCallback)(void *item); + +SceClass *sceKernelGetUidClass(void); int sceKernelCreateClass(SceClass *cls, const char *name, void *uidclass, size_t itemsize, SceClassCallback create, SceClassCallback destroy); int sceKernelDeleteUserUid(SceUID pid, SceUID user_uid); int sceKernelDeleteUid(SceUID uid); +int sceKernelFindClassByName(const char name, SceClass **cls); int sceKernelSwitchVmaForPid(SceUID pid); |