Module
Known NIDs
Version |
Name |
World |
Privilege |
NID
|
1.69 |
ScePfsMgr |
Non-secure |
Kernel |
0x3CF10F0
|
3.60 |
ScePfsMgr |
? |
Kernel |
0x538BA86B
|
Libraries
Known NIDs
Types
struct pfs_pmi_buffer_list_ctx
{
buffer_list* blist;
uint32_t unk_4;
SceUID ScePfsPmi_mutex_id; // 0x08
char original_path[0x3F]; // 0xC
char unk_data0[0x3C];
char mount_point1[0x22]; // 0x4C - /%s
char mount_point2[0x23]; // 0x6E - %s0:
char unk_91;
uint16_t type; //0x92
uint16_t unk_94; //0x94 = 0
char klicensee[0x10]; //0x96
uint16_t unk_A6; // = 0
uint32_t unk_A8; // = 0
uint32_t unk_AC; // = 0
SceUID ScePfsFilesDb_mutex_id; // 0xB0
char unk_data1[0xBC]; // 0xB4
uint32_t unk_170;
char unk_data2[0x84]; //0x174
vfs_block_dev_info block_dev; 0x1F8
uint32_t unk_20C;
//further fields are unknown
} pfs_pmi_buffer_list_ctx;
struct buffer_list
{
SceUID mutex_id;
uint32_t unk_4;
uint32_t unk_8;
uint32_t unk_C;
uint32_t unk_10;
void* ctx; //0x14 - one of versions is pfs_pmi_buffer_list_ctx
}buffer_list;
Data segment layout
Address |
Size |
Description
|
0x0000 |
0x20 |
vfs_add_data PFS_REDIRECT_INF node (Redirect Pseudo Drive. )
|
0x0020 |
0x20 |
vfs_add_data PFS_GDSD_INF node (Gamedata/Savedata Pseudo Drive. )
|
0x0040 |
0x20 |
vfs_add_data PFS_AC_INF node (AC Pseudo Drive. )
|
0x0060 |
0x20 |
unknown
|
0x0080 |
0x4 |
mutex SceUID ScePfsFiBufferList
|
0x0084 |
0x4 |
memblock SceUID ScePfsFiBufferList
|
0x0088 |
0x4 |
char* ScePfsFiBufferList
|
0x008C |
0x4 |
some offset or size
|
0x0090 |
0x4 |
some offset or size
|
0x0094 |
0x4 |
void*
|
0x0098 |
0x4 |
mutex SceUID ScePfsVdBufferList
|
0x009C |
0x4 |
memblock SceUID ScePfsVdBufferList
|
0x00A0 |
0x4 |
char* ScePfsVdBufferList
|
0x00A4 |
0x4 |
some offset or size
|
0x00A8 |
0x4 |
some offset or size
|
0x00AC |
0x4 |
void*
|
0x00B0 |
0x4 |
mutex SceUID ScePfsLruPoolBufferList
|
0x00B4 |
0x4 |
memblock SceUID ScePfsLruPoolBufferList
|
0x00B8 |
0x4 |
char* ScePfsLruPoolBufferList
|
0x00BC |
0x4 |
some offset or size
|
0x00C0 |
0x4 |
some offset or size
|
0x00C4 |
0x4 |
void*
|
0x00C8 |
0x4 |
mutex SceUID ScePfsLruTblHdrBufferList
|
0x00CC |
0x4 |
memblock SceUID ScePfsLruTblHdrBufferList
|
0x00D0 |
0x4 |
char* ScePfsLruTblHdrBufferList
|
0x00D4 |
0x4 |
some offset or size
|
0x00D8 |
0x4 |
some offset or size
|
0x00DC |
0x4 |
void*
|
0x00E0 |
0x30 |
unknown
|
0x0110 |
0x4 |
mutex SceUID ScePfsThePmi
|
0x0114 |
0x4 |
unknown
|
0x0118 |
0x4 |
buffer_list_ctx* root
|
0x011C |
0x4 |
unknown
|
0x0120 |
0x4 |
buffer_list* with mutex SceUID ScePfsPmiBufferList
|
0x0124 |
0x4 |
memblock SceUID ScePfsPmiBufferList
|
0x0128 |
0x4 |
char* ScePfsPmiBufferList
|
0x012C |
0x4 |
some offset or size
|
0x0130 |
0x4 |
some offset or size
|
0x0134 |
0x4 |
void*
|
0x0138 |
0x4 |
unknown
|
0x013C |
0x4 |
unknown
|
0x0140 |
0x4 |
0
|
0x0144 |
0x4 |
thread SceUID ScePfsCryptEngineThread
|
0x0148 |
0x4 |
mutex SceUID ScePfsCryptEngineTodoMtx
|
0x014C |
0x4 |
cond SceUID ScePfsCryptEngineTodoCnd
|
0x0150 |
0x4 |
mutex SceUID ScePfsCryptEngineDoneMtx
|
0x0154 |
0x4 |
cond SceUID ScePfsCryptEngineDoneCnd
|
0x0158 |
0x4 |
pointer to 0x158
|
0x015C |
0x4 |
pointer to 0x158
|
0x0160 |
0x4 |
pointer to 0x160
|
0x0164 |
0x4 |
pointer to 0x160
|
0x0168 |
0x9D8 |
unknown
|
0x0B40 |
0xC0 |
data chunk of size 0xC0
|
0x0C00 |
180 |
unknown
|
0x0D80 |
0x4 |
mutex SceUID ScePfsCryptBufMutexVC
|
0x0D84 |
0x4 |
mutex SceUID ScePfsCryptBufMutexRM
|
0x0D88 |
0x4 |
mutex SceUID ScePfsCryptBufMutexEMMC
|
0x0D8C |
0x4 |
memblock SceUID ScePfsCryptBufVC - size 0x40000
|
0x0D90 |
0x4 |
memblock SceUID ScePfsCryptBufVCForShared
|
0x0D94 |
0x4 |
memblock base of ScePfsCryptBufVC
|
0x0D98 |
0x4 |
memblock base of ScePfsCryptBufVCForShared
|
0x0D9C |
0x4 |
0x000000FF
|
0x0DA0 |
0x4 |
memblock SceUID ScePfsCryptBufRM - size 0x40000
|
0x0DA4 |
0x4 |
memblock SceUID ScePfsCryptBufRMForShared
|
0x0DA8 |
0x4 |
memblock base of ScePfsCryptBufRM
|
0x0DAC |
0x4 |
memblock base of ScePfsCryptBufRMForShared
|
0x0DB0 |
0x4 |
0x000000FF
|
0x0DB4 |
0x4 |
memblock SceUID ScePfsCryptBufEMM - size 0x40000
|
0x0DB8 |
0x4 |
memblock SceUID ScePfsCryptBufEMMCForShared
|
0x0DBC |
0x4 |
memblock base of ScePfsCryptBufEMM
|
0x0DC0 |
0x4 |
memblock base of ScePfsCryptBufEMMCForShared
|
0x0DC4 |
0x4 |
0x000000FF
|
0x0DC8 |
0x4 |
cond SceUID ScePfsCryptBufCondVarVC
|
0x0DCC |
0x4 |
cond SceUID ScePfsCryptBufCondVarRM
|
0x0DD0 |
0x4 |
cond SceUID ScePfsCryptBufCondVarEMMC
|
ScePfsMgrForKernel
mount
Version
|
NID
|
3.60
|
0xA772209C
|
int mount(char original_path, char mount_point, SceUInt64 authid, void *klicensee, unsigned int type);
mount
Version
|
NID
|
3.60
|
0x2D48AEA2
|
int mount(char *original_path, char *mount_point, void *klicensee, unsigned int type);
unmount
Version
|
NID
|
3.60
|
0x680BC384
|
int unmount(char mount_point);
ScePfsFacadeForKernel
t_scePfsFacadeReadForDriver
Version
|
NID
|
3.60
|
0xBD5B21F6
|
This is a thread callback used by SceIofilemgr
This function is not implemented and throws 0x8014231C
error
int t_scePfsFacadeReadForDriver(sceIoReadForDriver_args *args);
t_scePfsFacadeWriteForDriver
Version
|
NID
|
3.60
|
0xCB622FFE
|
This is a thread callback used by SceIofilemgr
int t_scePfsFacadeWriteForDriver(sceIoWriteForDriver_args *args);
t_scePfsFacadePreadForDriver
Version
|
NID
|
3.60
|
0x4238D2D2
|
This is a thread callback used by SceIofilemgr
int t_scePfsFacadePreadForDriver(sceIoPreadForDriver_args *args);
t_scePfsFacadePwriteForDriver
Version
|
NID
|
3.60
|
0x58E643C5
|
This is a thread callback used by SceIofilemgr
int t_scePfsFacadePwriteForDriver(sceIoPwriteForDriver_args *args);