Module
Known NIDs
Version |
Name |
World |
Privilege |
NID
|
1.69 |
SceAppMgr |
Non-secure |
Kernel |
0x69876CDE
|
3.60 |
SceAppMgr |
Non-secure |
Kernel |
0xDBB29DB7
|
Libraries
Known NIDs
Types
AppId
Some functions take an AppId as argument.
ID |
Desc
|
-1 |
Unknown
|
-2 |
Current App
|
-3 |
Unknown
|
-4 |
Unknown
|
-5 |
Unknown
|
-6 |
Unknown
|
SceAppMgr Mount IDs
MountId |
real path (X is an incremental number) |
virtual mount point (X is randomized) |
Function to call for mounting |
Used by
|
?0x3F? |
ux0:data/near/gift |
gift0: |
Seen in sceAppMgrAppDataMountByIdForDriver |
?SceNear?
|
0x64 |
ux0:picture |
photo0: |
automounted or sceAppMgrAppDataMount or sceAppUtilPhotoMount |
SceEmailApp, SceHostCollaboService, ScePsp2Compat, SceSettings, SceWebBrowser, SceWebUIPlugin, by NPXS10036
|
0x64 |
? |
? |
sceAppMgrPhotoMountForDriver sceAppMgrPhotoMount sceAppMgrAppDataMountForDriver |
|
0x65 |
ur0:user/XX/psnfriend |
adXXXXXXXXXXXX: |
sceAppMgrAppDataMount |
SceFriend, SceFriendListDialogPlugin, SceInvitationDlgPlugin, SceNpGameCustomDataDPlugin, SceNpMessageDialogPlugin, SceNpProfile2DialogPlugin, ScePsnMail, SceShell
|
0x66 |
ur0:user/XX/psnmsg |
adXXXXXXXXXXXX: |
sceAppMgrAppDataMount |
SceInvitationDlgImplPlugin, SceMsgMiddleWare, SceNpGameCustomDataDlgImpl, SceNpMessage, SceNpMessageDlgImplPlugin
|
0x67 |
ur0:user/XX/near |
adXXXXXXXXXXXX: |
sceAppMgrAppDataMount |
SceNear, SceNearAutoCheckin, SceNearAutoLocation, SceNearProfile, SceNearUtilService, by NPXS10036
|
0x68 |
? |
? |
|
|
? |
ur0:user/XX/grpmsg |
adXXXXXXXXXXXX: |
|
|
? |
ur0:contacts |
? |
|
|
0x69 |
ux0:music |
music0: |
automounted or sceAppMgrAppDataMount or sceAppUtilMusicMount |
SceAvMediaService, SceHostCollaboService, SceMusicBrowser, SceShell
|
0x6A |
? |
adXXXXXXXXXXXX: |
sceAppMgrAppDataMountById |
|
0x6B |
? |
adXXXXXXXXXXXX: |
sceAppMgrAppDataMountById |
|
0x6C |
ux0:calendar |
adXXXXXXXXXXXX: |
sceAppMgrAppDataMount |
SceCalendar, SceCalendarBg, SceCalendarDialogPlugin, SceEmailApp
|
0x6D |
ux0:video |
video0: |
sceAppUtilExtVideoMount or sceAppMgrAppDataMount |
|
0x6E |
ux0:appmeta/new (only while app promoting) ux0:appmeta/<TITLEID> |
adXXXXXXXXXXXX: |
mounted when installing app / refreshing LiveArea of an app |
|
0x6F |
tm0:nphome |
adXXXXXXXXXXXX: |
|
mounted by NPXS10010 when playing a video bought on PSStore, mounted by NPXS10036 when downloading a video bought on PSStore (NPXS10002). SceLibMarlin, SceLibMarlinPb
|
0x70 |
ux0:book |
?adXXXXXXXXXXXX:? |
sceAppUtilBookMount |
Reader™ (PCSC80012)
|
0xC8 |
ur0:temp/sqlite |
tdXXXXXXXXXXXX: |
mounted by some system apps |
|
0xC9 |
ur0:temp/attach |
tdXXXXXXXXXXXX: |
mounted by some games |
|
0xCA |
ux0:pspemu |
ms0: |
sceAppMgrPspSaveDataRootMount |
mounted by NPXS19999 (SceShell) when asked by CMA or PspEmu or SceGameManual or Store
|
0xCB |
? |
tdXXXXXXXXXXXX: |
sceAppMgrWorkDirMount |
|
0xCC |
ur0:temp/checkout |
tdXXXXXXXXXXXX: |
mounted by NPXS10002 (SceStoreBrowser or SceCheckoutBrowser) |
|
0xCD |
ux0:cache/<TITLEID> |
cache0: |
sceAppUtilCacheMount or sceAppMgrWorkDirMountById |
|
0xCE |
ur0:temp/webbrowser |
tdXXXXXXXXXXXX: |
mounted by NPXS10003 (SceWebBrowser) |
|
0xCF |
? |
tdXXXXXXXXXXXX: |
sceAppMgrWorkDirMountById |
?
|
? |
ux0:mtp |
? |
? |
?MTP?
|
0x12C |
? |
? |
sceAppMgrTrophyMount sceAppMgrTrophyMountForDriver |
?
|
0x12E |
ur0:user/XX/trophy/data/sce_trop |
trophy_sys0: |
?sceNpTrophyCreateContext? sceAppMgrTrophyMount sceAppMgrTrophyMountForDriver |
mounted by NPXS19999 (SceShell) when asked by app or games
|
0x12F |
ur0:user/XX/trophy/data/<COMMID> |
trophy_dat0: |
sceAppMgrTrophyMountById |
|
0x130 |
?ur0:user/XX/trophy/data/db? |
trophy_dbk0: |
sceAppMgrTrophyMountById |
|
0x190 |
ux0:mms/photo |
adXXXXXXXXXXXX: |
sceAppMgrMmsMount sceAppMgrMmsMountForDriver |
mounted by NPXS10004, by NPXS10036
|
0x191 |
ux0:mms/music |
adXXXXXXXXXXXX: |
sceAppMgrMmsMount sceAppMgrMmsMountForDriver |
?mounted by NPXS10009?
|
0x192 |
ux0:mms/video |
adXXXXXXXXXXXX: |
sceAppMgrMmsMount sceAppMgrMmsMountForDriver |
mounted by NPXS10010, by NPXS10036
|
0x1F4 |
? |
? |
|
|
0x1F8 |
? |
sdimport0: |
|
|
0x1F9 |
? |
sdimport_tmp0: |
|
|
0x258 |
? |
? |
sceAppMgrLoopBackMount |
|
0x384 |
? |
? |
|
|
0x3E8 |
ux0:temp/fakepkg/expand/<TITLEID> (PKG installer promoting), ux0:bgdl/t/XXXXXXXX/<TITLEID>/0000 (bgdl promoting), vs0:app/<TITLEID> |
gpXXXXXXXXXXXX:, app0: |
automounted ? |
|
0x3E8 |
ux0:app/<TITLEID>, gro0:app/<TITLEID> |
gpXXXXXXXXXXXd: |
sceAppMgrGameDataMountForDriver |
|
0x3E9 |
ux0:temp/fakepkg/expand/<TITLEID> (PKG installer promoting), ux0:bgdl/t/XXXXXXXX/<TITLEID>/0000 (bgdl promoting) |
gpXXXXXXXXXXXX:, app0: (mounted over /app/ app0:) |
|
|
0x3E9 |
ux0:patch/<TITLEID>, grw0:patch/<TITLEID> |
gpXXXXXXXXXXXd: |
sceAppMgrGameDataMountForDriver |
|
0x3EA |
ux0:temp/fakepkg/expand/<TITLEID> (PKG installer promoting), ux0:bgdl/t/XXXXXXXX/<TITLEID>/0000 (bgdl promoting) |
gpXXXXXXXXXXXX:, addcont0: - addcont1: |
automounted by SceAppMgr or sceAppUtilAddcontMount or sceAppUtilDrmOpen or sceAppUtilAddcontForceAddcontMount |
|
0x3EA |
gro0:addcont/<TITLEID> |
? |
sceAppMgrAddContMount |
|
0x3EA |
ux0:addcont/<TITLEID>, grw0:addcont/<TITLEID> |
? |
sceAppMgrAddContAddMount sceAppMgrAddContMount |
|
0x3EA |
gro0:acinst/<titleid> |
? |
sceAppMgrAcInstGetAcdirParamForDriver |
|
0x3EB |
ux0:addcont/<TITLEID>, grw0:addcont/<TITLEID> |
? |
sceAppMgrAddContMount |
|
0x3EC |
ux0:theme/<CONTENTID> |
tmXXXXXXXXXXXX: |
sceAppMgrThemeDataMount |
|
0x3ED |
ux0:user/XX/savedata/<TITLEID> |
savedata0: ?savedata1:? |
automounted by SceAppMgr |
|
0x3ED |
?any path? |
tsXXXXXXXXXXXX: |
sceAppMgrFakeSaveDataCreateMountForDriver sceAppMgrGetSaveDataInfoForSpecialExport |
?fake_package_installer? ?SceContentManager?
|
0x3ED |
?any path? |
? |
sceAppMgrLoadSaveDataSystemFile |
?fake_package_installer?
|
0x3ED |
ux0:user/XX/savedata_plus/work/<TITLEID> |
tsXXXXXXXXXXXX: |
sceAppMgrCloudDataDstCreateMountForDriver |
|
0x3ED |
ux0:/user/XX/savedata/<TITLEID> |
tsXXXXXXXXXXXX: tsXXXXXXXXXXXXd |
sceAppMgrCloudDataSrcMountForDriver sceAppMgrUpdateSaveDataParam |
|
0x3ED |
grw0:savedata/<titleid> |
tsXXXXXXXXXXXX: tsXXXXXXXXXXXXd |
sceAppMgrCloudDataSrcMountForDriver sceAppMgrUpdateSaveDataParam |
|
0x3ED |
ux0:/user/XX/savedata_vc/<titleid>, ux0:/user/XX/savedata/<titleid> |
? |
sceAppMgrSaveDataAddMount |
|
0x3EE |
ur0:user/XX/savedata/<TITLEID> |
savedata0: ?savedata1:? |
sceAppMgrSaveDataAddMount or sceAppUtilSaveDataMount |
|
0x3EF |
vs0:sys/external |
sdXXXXXXXXXXXX: |
automounted |
|
0x3F0 |
vs0:data/external |
sdXXXXXXXXXXXX: |
automounted |
|
Types
// Linked list of these items is controlled by common function that is responsible for PFS mounting.
// This function (on 3.60, segment 0, offset 0x19B51) is used by all other mount functions in SceAppMgr.
// Linked list is used as lookup by callback that is set by sceIoSetPathMappingFunctionForDriver.
// Pointer of address of first entry is : on 3.60, segment 1, offset 0x3470C.
//size is 0x1D0 (known)
struct pfs_mount_t
{
int mount_id;
char path[0x124]; //path used for PFS mount (like ux0:app/<TITLEID>)
char pfs_rnd_drive_id[0x10]; //used for PFS mount - used internally by iofilemgr to connect to vfs_nodes through vfs_node_info?
char title_id[0x10];
SceUInt64 auth_ids[0x10]; // array of auth ids (auth id is required for PFS mount of NPDRM apps)
pfs_mount_t *prev; //pointer to prev item in the list or 0
pfs_mount_t *next; //pointer to next item in the list or 0
};
//size is 0x24 (known)
struct appmgr_mount_t
{
pfs_mount_t *this_pfs_mount;
SceFiosOverlayID overlay_id; // overlay for redirecting <appmgr_rnd_drive_id> to <this_pfs_mount->pfs_rnd_drive_id>0: (if this_pfs_mount is not a 0x3E9 patch mount point )
// or <mctx->prev_pfs_mount->pfs_rnd_drive_id>0: to <this_pfs_mount->pfs_rnd_drive_id>0: (if this_pfs_mount is a 0x3E9 patch mount point )
// or <mctx->prev_pfs_mount->path> to <this_pfs_mount->path>
char appmgr_rnd_drive_id[0x10]; //used for appmgr mount - returned when executing appmgr mount function
pfs_mount_t* prev_pfs_mount; //other pfs mount with same mount_id and appmgr_rnd_drive_id if mount_id is 0x3EA or 0x3E8
appmgr_mount_t* prev; //pointer to prev item in the list or 0
appmgr_mount_t* next; //pointer to next item in the list or 0
};
struct appmgr_mount_holder_t
{
int unk0;
appmgr_mount_t *first_virt_mount; //start of the list for appmgr mounts
};
struct titleId_item
{
char titleId[16];
};
//most importantly contains rif_info and keystone
//size is 0x508 (known)
struct phys_ctx_t
{
int unk0[88];
int flag_160;
int unk164;
int unk168;
int unk16C;
int unk170;
char physical_mountpoint[12];
int unk180[70];
char prefix_298[4];
int flag_29C;
int unk2A0;
int unk2A4;
rif_info rif;
char keystone_318[96];
char titleId_378[16];
char titleid_388[16];
titleId_item addContTitleIds[8];
titleId_item saveDataTitleIds[8];
char unk498[112];
};
struct sub_ctx_23C2960_C
{
char unk0[296];
int unk128;
int unk12C;
int unk130;
int unk134;
int unk138;
int unk13C;
char unk140[1016];
int unk538;
int unk53C;
char unk540;
char unk541;
char unk542;
char unk543;
int unk544;
int unk548;
};
struct sub_ctx_23C2960_558_548
{
int unk0;
int unk4;
int unk8;
int unkC;
int unk10;
int unk14;
int unk18;
int unk1C;
int unk20;
int unk24;
int unk28;
int unk2C;
};
//most importantly holds appmgr_mount_holder_t
//which is a root for appmgr mountpoints
struct sub_ctx_23C2960_558
{
char maybe_titleid_0[32];
SceUID pid;
int unk24;
appmgr_mount_holder_t mctx_hldr_28;
phys_ctx_t phys_ctx_30;
sub_ctx_23C2960_558_548 unk548;
};
struct sub_ctx_23C2960_AFC_10A4
{
int unk0;
int unk4;
char unk8;
char unk9;
char unkA;
char unkB;
char unkC;
char unkD;
char unkE;
char unkF;
};
struct sub_ctx_23C2960_AFC
{
char unk_0[4260];
sub_ctx_23C2960_AFC_10A4 unk_10A4;
};
struct sub_ctx_23C2960_1BC0_14_7EC
{
int unk0;
int unk4;
int unk8;
int unkC;
int unk10;
int unk14;
int unk18;
int unk1C;
int unk20;
int unk24;
int unk28;
int unk2C;
int unk30;
int unk34;
int unk38;
int unk3C;
};
struct sub_ctx_23C2960_1BC0_14
{
char unk0[2028];
sub_ctx_23C2960_1BC0_14_7EC unk7EC;
};
struct sub_ctx_23C2960_1BC0
{
__int16 unk0;
__int16 unk2;
int unk4;
int unk8;
SceUID SceAppMgrAppMutex_uid;
SceUID current_thread_10;
sub_ctx_23C2960_1BC0_14 unk14;
};
struct sub_ctx_23C2960_2400
{
int unk0;
int unk4;
int unk8;
char unkC[4];
};
//size is 0x2410 (known)
struct ctx_23C2960
{
int appid;
int unk4;
int unk8;
sub_ctx_23C2960_C unkC;
sub_ctx_23C2960_558 unk_558;
int flags_AC0;
int unk_AC4;
int is_this_process_AC8;
int unk_ACC;
int appmgr_0x10000001_event_indicator_AD0;
int appmgr_0x10000002_event_indicator_AD4;
int appmgr_0x10000003_event_indicator_AD8;
int appmgr_0x20000001_event_indicator_ADC;
int appmgr_0x20000004_event_indicator_AE0;
int appmgr_0x10000101_0x10000102_event_indicator_AE4;
int appmgr_0x10000004_event_indicator_AE8;
int appmgr_0x10000006_event_indicator_AEC;
int appmgr_0x10000005_event_indicator_AF0;
int appmgr_0x20000010_event_indicator_AF4;
int unk_AF8;
sub_ctx_23C2960_AFC unk_AFC;
int unk_1BB0;
int unk_1BB4;
__int64 timewide_1BB8;
sub_ctx_23C2960_1BC0 unk_1BC0;
sub_ctx_23C2960_2400 unk_2400;
};
typedef ctx_23C2960 global_ctx_item;
struct generic_mount_ctx
{
char titleId[16];
char passCode[32];
char mountDrive[16];
};
Data segment layout
On 3.60 :
Address |
Size |
Description
|
0x00000 |
0x4 |
SceUID SceAppMgrApp pool if size 0x1000
|
0x00004 |
0x4 |
SceUID SceAppMgrApp mutex
|
0x00008 |
0x4 |
SceUID SceAppMgrMount pool if size 0x10000
|
0x0000C |
0x4 |
SceUID SceAppMgrMount mutex
|
0x00010 |
0x4 |
SceUID SceAppMgrSaveData pool if size 0xA000
|
0x00014 |
0x4 |
SceUID SceAppMgrSaveData mutex
|
0x00018 |
0x4 |
SceUID SceAppMgrPhoto mutex
|
0x0001C |
0x4 |
int process local storage SceAppMgrSafeMemory of size 0x10000
|
0x00020 |
0x4 |
SceUID SceAppMgrSafeMemory mutex
|
0x00024 |
0x4 |
int process local storage SceAppMgrAppInfoCache of size 0x400
|
0x00028 |
0x4 |
unknown
|
0x0002C |
0x4 |
unknown
|
0x00030 |
0x4 |
SceUID SceAppMgrDbgShellEventCount sema
|
0x00034 |
0x4 |
SceUID SceAppMgrBottomSema sema
|
0x00038 |
0x4 |
SceUID SceAppMgrLiveAreaOperation mutex
|
0x0003C |
0x4 |
SceUID SceAppMgrLiveAreaOpeResultMx mutex
|
0x00040 |
0x4 |
SceUID SceAppMgrLiveAreaOpeResultCd mutex
|
0x00044 |
0x4 |
unknown
|
0x00048 |
0x4 |
unknown
|
0x0004C |
0x4 |
unknown
|
0x00050 |
0x4 |
unknown
|
0x00054 |
0x4 |
unknown
|
0x00058 |
0x4 |
unknown
|
0x0005C |
0x4 |
unknown
|
0x00060 |
0x4 |
unknown
|
0x00064 |
0x4 |
SceUID SceAppMgrUpdtNtfy sema
|
0x00068 |
0x4 |
SceUID SceAppMgrProcessStateUpdater thread
|
0x0006C |
0x4 |
SceUID SceAppMgrGcListener thread
|
0x00070 |
0x434 |
unknown
|
0x004A4 |
0x4 |
SceUID SceAppMgrCore mutex
|
0x004A8 |
0x4 |
SceUID current thread
|
0x004AC |
0x4 |
SceUID SceAppMgrCore2 mutex
|
0x004B0 |
0x4 |
unknown
|
0x004B4 |
0x4 |
SceUID SceAppMgrCoreKM mutex
|
0x004B8 |
0x48 |
unknown
|
0x00500 |
0x2D140 |
global_ctx_item[20] - array of global contexts most likely for each running app
|
0x2D640 |
0x1824 |
memset chunk
|
0x2EE64 |
0x4 |
unknown
|
0x2EE68 |
0x4 |
SceUID SceAppMgrAbort event flag
|
0x2EE6C |
0x4 |
SceUID SceAppMgrCoredump event flag
|
0x2EE70 |
0x4 |
SceUID SceAppMgrAbortHandler thread
|
0x2EE74 |
0x4 |
unknown
|
0x2EE78 |
0xA78 |
memset chunk of size 0xA7C
|
0x2F8F0 |
0x4 |
SceUID SceAppMgrAudioUdt mutex (part of 0xA7C chunk)
|
0x2F8F4 |
0x14 |
unknown
|
0x2F908 |
0x4 |
SceUID SceAppMgrEv event flag
|
0x2F90C |
0x4 |
0x01
|
0x2F910 |
0x4 |
0
|
0x2F914 |
0x4 |
SceUID SceAppMgrEv event flag
|
0x2F918 |
0x4 |
0x02
|
0x2F91C |
0x4 |
0
|
0x2F920 |
0x4 |
SceUID SceAppMgrEv event flag
|
0x2F924 |
0x4 |
0x04
|
0x2F928 |
0x4 |
0
|
0x2F92C |
0x4 |
SceUID SceAppMgrEv event flag
|
0x2F930 |
0x4 |
0x08
|
0x2F934 |
0x4 |
0
|
0x2F938 |
0x4 |
SceUID SceAppMgrEv event flag
|
0x2F93C |
0x4 |
0x10
|
0x2F940 |
0x4 |
0
|
0x2F944 |
0x4 |
SceUID SceAppMgrEv event flag
|
0x2F948 |
0x4 |
0x20
|
0x2F94C |
0x4 |
0
|
0x2F950 |
0x4 |
SceUID SceAppMgrEv event flag
|
0x2F954 |
0x4 |
0x40
|
0x2F958 |
0x4 |
0
|
0x2F95C |
0x298 |
unknown
|
0x2FBF4 |
0x2D00 |
memset chunk
|
0x328F4 |
0x1640 |
unknown
|
0x33F34 |
4 |
int ux0: mount event id
|
0x33F38 |
0x120 |
unknown
|
0x34058 |
4 |
int grw0: mount event id
|
0x3405C |
0x104 |
unknown
|
0x34160 |
4 |
int gro0: mount event id
|
0x34164 |
0x5A8 |
unknown
|
0x3470C |
0x4 |
pfs_mount_t* pointer to list of items
|
0x34710 |
0x714 |
unknown
|
0x34E24 |
4 |
void* 0x720 buffer allocated from 0x22A0000 pool
|
0x34E28 |
0x30 |
unknown
|
0x34E58 |
4 |
void* 0x400 buffer allocated from 0x22A0010 pool
|
0x34E5C |
4 |
void* 0x8000 buffer allocated from 0x22A0010 pool
|
0x34E60 |
0x54 |
unknown
|
0x34EB4 |
0x368 |
memset chunk of size 0x3AC
|
0x3521C |
0x40 |
fast_mutex SceSharedFb (part of 0x3AC chunk)
|
0x3525C |
0x4 |
unknown (part of 0x3AC chunk)
|
0x35260 |
0x42FC |
unknown
|
pfs_mount_t Parser
pfs_mount_t** first_entry_addr;
tai_module_info_t appmgr_info;
taiGetModuleInfoForKernel(KERNEL_PID, "SceAppMgr", &appmgr_info);
int res=1;
switch (appmgr_info.module_nid) {
case 0xDBB29DB7: // 3.60 retail
res = module_get_offset(KERNEL_PID, appmgr_info.modid, 1, 0x3470C, &first_entry_addr);
break;
default:
break;
}
if (!res) {
pfs_mount_t* entry = *first_entry_addr;
log_write((char*)entry, sizeof(pfs_mount_t));
while ((int)entry->next > 0) {
entry = entry->next;
log_write((char*)entry, sizeof(pfs_mount_t));
}
}
How app, patch and addcont is mounted
Global mountpoint list in AppMgr
Explanation
AppMgr operates with such term as mount_id
.
Different ids correspond to different paths and are described at SceAppMgr_Mount_IDs
There are many different mount functions in AppMgr which mount different paths with corresponding mount_id
.
However on the bottom level there is only one single function that is responsible for all mount operations.
It is located in segment 0 at offset 0x19B51 on 3.60.
int create_mountpoint_base(SceUID pid, appmgr_mount_holder_t *mount_ctx_holder, unsigned int mount_id, char *title_id, char *physical_path, char *mount_drive, char *klicensee, char *mount_point_result);
- pid - current process pid.
- mount_ctx_holder - root holder of appmgr_mount_t (stored in segment 1).
- mount_id - mount id to use for this mount operation.
- title_id - title id of the application.
- physical_path - path like ux0:app/<TITLEID>
- mount_drive - virtual drive like app0:. This may be also randomly generated. This argument goes to
appmgr_rnd_drive_id
. This argument is optional. When empty - will be generated by create_mountpoint_base
.
- klicensee - klicensee for this mount operation. This argument is optional.
- mount_point_result - mountpoint for the user. Returned from
appmgr_rnd_drive_id
.
AppMgr maintains two parallel lists in segment 1.
One of the lists contains appmgr_mount_t
items.
These are the items that are exposed to user of AppMgr library.
appmgr_rnd_drive_id
is what is returned as mount_point_result
when user calls some mount functions in AppMgr.
appmgr_rnd_drive_id
in many cases is randomly generated (but not always).
Other list is an internal list of pfs_mount_t
items.
These items store arguments that are used for calling PFS mount.
Each item also has randomly generated pfs_rnd_drive_id
in form of PDXXXXXXXXXXXXd.
When create_mountpoint_base
is called, it creates both appmgr_mount_t
and pfs_mount_t
items and links them with this_pfs_mount
.
Each item is put in a corresponding list.
This mapping relation is important and shows how AppMgr mountpoint translates to PfsMgr mountpoint.
All basic relations are shown on a diagram example with black color.
However there is another prev_pfs_mount
relation between items which is especially important for sceAppMgrGameDataMountForDriver.
This relation is illustrated on diagram with red color and applies to pairs of mount_id
s: 0x3E8,0x3E9 or 0x3EA, 0x3EB.
Such relation is used to setup multiple mount levels. For example app (0x3E8) with patch (0x3E9) on top. Or addcont (ro) (0x3EA) with addcont (rw) (0x3EB) on top.
Additionally multiple mount levels are controlled using fios overlays, hence overlay_id
in appmgr_mount_t
.
Overlay is a concept of filesystem path redirection/remapping. Additional description is at SceFios2Kernel
Table below shows how overlays are created for 0x3E8, 0x3E9, 0x3EA, 0x3EB for given appmgr_mount_t
mount_id |
folder |
overlay_type |
src |
dst
|
0x3E8 |
app |
SCE_FIOS_OVERLAY_TYPE_OPAQUE |
<this_pfs_mount->pfs_rnd_drive_id>0: (0x3E8) |
appmgr_rnd_drive_id
|
0x3E9 |
patch |
SCE_FIOS_OVERLAY_TYPE_TRANSLUCENT |
<this_pfs_mount->pfs_rnd_drive_id>0: (0x3E9) |
<prev_pfs_mount->pfs_rnd_drive_id>0: (0x3E8)
|
0x3EA |
addcont (ro) |
SCE_FIOS_OVERLAY_TYPE_OPAQUE |
<this_pfs_mount->pfs_rnd_drive_id>0: (0x3EA) |
appmgr_rnd_drive_id
|
0x3EB |
addcont (rw) |
SCE_FIOS_OVERLAY_TYPE_TRANSLUCENT |
<this_pfs_mount->pfs_rnd_drive_id>0: (0x3EB) |
<prev_pfs_mount->pfs_rnd_drive_id>0: (0x3EA)
|
Overlay is created with sceFiosKernelOverlayAddForProcessForDriver
This results in a path remapping, where when user reads from appmgr_rnd_drive_id
virtual drive, he will actually read from <this_pfs_mount->pfs_rnd_drive_id>0: (0x3E8)
.
However if patch directory was present, further path remapping will happen, so that user will read from <this_pfs_mount->pfs_rnd_drive_id>0: (0x3E9)
.
SceAppMgrForDriver
sceAppMgrAcInstGetAcdirParamForDriver
Version |
NID
|
3.60 |
0x474AABDF
|
- mount PFS drive 0 to path gro0:acinst/<titleid> with mountid 0x3EA
- read keystone from <mountpoint>:sce_sys/keystone into outputData
- extract klicensee from gro0:license/addcont/<titleid>/<dlc_folder>/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.rif
- execute pfs ioctl command 0x4402 with klicensee
- execute pfs ioctl command 0x4403
- read gro0:acinst/<titleid>/<dlc_folder>/sce_sys/param.sfo
- read game title into outputData
struct acinst_res
{
char keystone[0x60];
char game_title[0x80];
};
int sceAppMgrAcInstGetAcdirParamForDriver(const char *titleId, const char *dlc_folder, acinst_res *outputData);
sceAppMgrAppDataMountByIdForDriver
Version |
NID
|
3.60 |
0x5E311F71
|
int sceAppMgrAppDataMountByIdForDriver(int mountId, char *titleId, char *mountPoint);
sceAppMgrAppDataMountForDriver
Version |
NID
|
3.60 |
0xB1D3C287
|
Only valid appmgr mount ids are: 0x64
, 0x65
, 0x66
, 0x67
, 0x69
, 0x6C
, 0x6D
, 0x6F
, 0x70
int sceAppMgrAppDataMountForDriver(int mountId, char *mountPoint);
sceAppMgrAppMountForDriver
Version |
NID
|
3.60 |
0xEF0C9533
|
sceAppMgrAppUmountForDriver
Version |
NID
|
3.60 |
0x1DE3B7C4
|
sceAppMgrBgdlSetQueueStatusForDriver
Version |
NID
|
3.60 |
0x5B1BE482
|
sceAppMgrCheckContentInstallPeriodForDriver
Version |
NID
|
3.60 |
0x193784A9
|
sceAppMgrCheckPfsMountedForDriver
Version |
NID
|
3.60 |
0x0B1BEEE0
|
sceAppMgrCloudDataClearMcIdForDriver
Version |
NID
|
3.60 |
0xEC408FEF
|
Version |
NID
|
3.60 |
0xED87F191
|
sceAppMgrCloudDataDstCreateMountForDriver
Version |
NID
|
3.60 |
0xB3816B42
|
- check authid SceShell(0x2800000000000001), SceContentManager(0x280000000000002D)
- do some ioctl check 0x3001
- create directory ux0:user/XX/savedata_plus/work/<TITLEID>
- create sealedkey
- retrieve klicensee
- pure mount PFS PDXXXXXXXXXXXX mountpoint to pfs mount ux0:user/XX/savedata_plus/work/<TITLEID> path and authid 0x2800000000000001 or 0x280000000000002D
- create directory ux0:user/XX/savedata_plus/work/<TITLEID>/sce_sys
- write file ux0:user/XX/savedata_plus/work/<TITLEID>/sce_sys/sealedkey
- unmount PFS PDXXXXXXXXXXXX mountpoint
- mount PFS tsXXXXXXXXXXXX: mountpoint to ux0:user/XX/savedata_plus/work/<TITLEID> path with mountid 0x3ED
int sceAppMgrCloudDataDstCreateMountForDriver(const char* titleId, char* mountPoint);
sceAppMgrCloudDataGetMcIdForDriver
Version |
NID
|
3.60 |
0x1286AF64
|
sceAppMgrCloudDataSetMcIdForDriver
Version |
NID
|
3.60 |
0x0B94BB90
|
sceAppMgrCloudDataSetupKeyForDriver
Version |
NID
|
3.60 |
0x2FAA6ABD
|
sceAppMgrCloudDataSrcMountForDriver
Version |
NID
|
3.60 |
0x6D4D6FFE
|
- check auth id SceShell(0x2800000000000001), SceContentManager(0x280000000000002D), SceDailyCheckerBg(0x2800000000000039)
- select path depending on mode: ux0:/user/XX/savedata/<titleid> or grw0:savedata/<titleid>
- read sealedkey from ux0:/user/XX/savedata/<titleid>/sce_sys/sealedkey or grw0:savedata/<titleid>/sce_sys/sealedkey
- mount PFS tsXXXXXXXXXXXX: mountpoint to ux0:/user/XX/savedata/<TITLEID> or grw0:savedata/<titleid> path with mountid 0x3ED
//mode probably allows values 1,2,3
//1 probably selects ux0:
//2,3 probably selects grw0:
int sceAppMgrCloudDataSrcMountForDriver(int mode, const char *titleId, char *mountPoint);
Version |
NID
|
3.60 |
0x55D48190
|
sceAppMgrDebugSettingNotifyUpdateForDriver
Version |
NID
|
3.60 |
0x7554330F
|
sceAppMgrDrmCloseForDriver
Version |
NID
|
3.60 |
0x088670A6
|
sceAppMgrDrmOpenForDriver
Version |
NID
|
3.60 |
0xEA75D157
|
typedef struct drm_opts {
uint32_t size;
char addcont_id[20];
char mount_point[10];
} drm_opts;
int sceAppMgrDrmOpenForDriver(drm_opts *drmOpt);
sceAppMgrFakeSaveDataCreateMountForDriver
Version |
NID
|
3.60 |
0x12FC3FA8
|
- check authid fake_package_installer(0x280000000000002E)
- resolve overlay for <path>
- create <path> directory
- do some ioctl check 0x3001
- create sealedkey
- pure mount PFS PDXXXXXXXXXXXX mountpoint to pfs mount <path> path without klicensee and authid 0x280000000000002E
- create directory <path>/sce_sys
- write file <path>/sce_sys/sealedkey
- write empty file <path>/sce_sys/keystone
- unmount PFS PDXXXXXXXXXXXX mountpoint
- mount PFS tsXXXXXXXXXXXX: mountpoint to <path> path with mountid 0x3ED
int sceAppMgrFakeSaveDataCreateMountForDriver(const char *path, const char *mountPoint);
sceAppMgrGameDataMountForDriver
Version |
NID
|
3.60 |
0xCE356B2D
|
- read and parse <app_path>/sce_sys/param.sfo
- check that path does not start from one of these host0:, ux0:data, vs0:
- create <app_path>/sce_pfs folder if required
- check if <app_path>/sce_sys/clearsign exists
- get klicensee from rif (from fixed name at <app_path>/license/app/<titleid> or from <rif_file_path>)
- check <app_path>/sce_sys/package/head.bin vs <app_path>/sce_sys/clearsign
- mount PFS gpXXXXXXXXXXXd: mountpoint to <app_path> path with mountid 0x3E8
- override with another mount PFS gpXXXXXXXXXXXd: mountpoint to <patch_path> path with 0x3E9 if <patch_path> exists
- check that path does not start with ux0:data
- create ux0:patch/<TITLEID> or grw0:patch/<TITLEID> path
- override with another mount PFS gpXXXXXXXXXXXd: mountpoint to ux0:patch/<TITLEID> or grw0:patch/<TITLEID> path with 0x3E9 if path exists
//derived from _sceAppMgrGameDataMount
int sceAppMgrGameDataMountForDriver(char *app_path, char *patch_path, char *rif_file_path, char *mount_point)
sceAppMgrGetBootParamForDriver
Version |
NID
|
3.60 |
0xD2541B4A
|
sceAppMgrGetPfsProcessStatusForDriver
Version |
NID
|
3.60 |
0xE72D2A4A
|
sceAppMgrGetSystemDataFileForDriver
Version |
NID
|
1.69 |
0xAEC49533
|
3.60 |
0xAEC49533
|
sceAppMgrIsExclusiveProcessRunningForDriver
Version |
NID
|
3.60 |
0xA888C2DC
|
sceAppMgrLaunchAppByPathForDriver
Version |
NID
|
1.69 |
0xB0A37065
|
3.60 |
0xB0A37065
|
Loads a SELF at a given path with optional arguments. Arguments is a null-separated string. Arguments are passed directly to the app as a list of strings (char * const argv[]
). Special arguments are listed below.
int opt[52/4] = {0};
opt[0] = sizeof(opt);
int sceAppMgrLaunchAppByPathForDriver(const char *path, const char *arglist, int arglen, int unk1, void *opt, void *unk2);
// sample: sceAppMgrLaunchAppByPathForDriver("ux0:temp/installer.self", "-budget\0big\0-nonsuspendable\0-livearea_off\0", 0x2A, 0, opt, NULL);
Argument |
Param |
Description
|
-budget |
one of "big", "game", "sys", "shell", "small", "mini" |
App budget (memory allocation I believe)
|
-memsize |
decimal number |
Memory size
|
-la_type |
none |
LiveArea type
|
-bg |
none |
Run in background
|
-nonsuspendable |
none |
Non-suspendable
|
-titleid |
string |
Set TitleId
|
-phcontmemsize |
decimal number |
Physical cont. memory size
|
-livearea_off |
none |
No LiveArea
|
-exit_to |
title id |
App to resume upon exit
|
-param |
string |
Param
|
-usecdlg |
none |
Use CDRAM large (?)
|
sceAppMgrLoadSafeMemoryForDriver
Version |
NID
|
1.69 |
0xFAF3DAAA
|
3.60 |
0xFAF3DAAA
|
sceAppMgrLocalBackupGetOfflineIdForDriver
Version |
NID
|
3.60 |
0x61B13981
|
Version |
NID
|
3.60 |
0x62E98C42
|
sceAppMgrMmsMountForDriver
Version |
NID
|
3.60 |
0x13D54107
|
int sceAppMgrMmsMountForDriver(int mountId, char *mountPoint);
sceAppMgrPhotoMountForDriver
Version |
NID
|
3.60 |
0x43A35729
|
call sceAppMgrAppDataMountForDriver with mount_id 0x64
struct sceAppMgrPhotoMountParam
{
int size;
char unk4[128];
};
int sceAppMgrPhotoMountForDriver(sceAppMgrPhotoMountParam *opt);
sceAppMgrRegisterPathForDriver
Version |
NID
|
3.60 |
0xB53FB98E
|
sceAppMgrSaveDataGetQuotaForDriver
Version |
NID
|
3.60 |
0xE104C37E
|
sceAppMgrSaveDataLocalBackupTargetGetListForDriver
Version |
NID
|
3.60 |
0x9B3F7D66
|
sceAppMgrSaveDataLocalBackupTargetRemoveItemForDriver
Version |
NID
|
3.60 |
0xC4EF95BB
|
sceAppMgrSaveDataMountForDriver
Version |
NID
|
3.60 |
0xE73C9516
|
sceAppMgrSaveDataNotifyBackupFinishedForDriver
Version |
NID
|
3.60 |
0x6989B258
|
sceAppMgrSaveDataSlotCreateForDriver
Version |
NID
|
3.60 |
0xE6F389B8
|
sceAppMgrSaveDataSlotDeleteForDriver
Version |
NID
|
3.60 |
0xB544F2A0
|
sceAppMgrSaveDataSlotGetParamForDriver
Version |
NID
|
3.60 |
0xD137D486
|
sceAppMgrSaveDataSlotGetStatusForDriver
Version |
NID
|
3.60 |
0xEC9D5A35
|
sceAppMgrSaveDataSlotInitForDriver
Version |
NID
|
3.60 |
0x2277F736
|
sceAppMgrSaveDataSlotSetParamForDriver
Version |
NID
|
3.60 |
0x7E247E47
|
sceAppMgrSaveDataSlotSetStatusForDriver
Version |
NID
|
3.60 |
0x9ADB00FA
|
sceAppMgrSaveDataUmountForDriver
Version |
NID
|
3.60 |
0x2B080268
|
sceAppMgrSaveSafeMemoryForDriver
Version |
NID
|
1.69 |
0xD366AA44
|
3.60 |
0xD366AA44
|
sceAppMgrSystemParamDateTimeSetConfForDriver
Version |
NID
|
3.60 |
0xA9AA3A68
|
sceAppMgrTrophyMountForDriver
Version |
NID
|
3.60 |
0xE977A833
|
int sceAppMgrTrophyMountForDriver(int mountId, SceUID pid, char *mountPoint);
sceAppMgrUmountForDriver
Version |
NID
|
3.60 |
0xA714BB35
|
The following mount points can be derived from the code:
- "photo0:" (0x64)
- "music0:" (0x69)
- "video0:" (0x6D)
- "addcont0:"
- "addcont1:"
// derived from _sceAppMgrUmount
int sceAppMgrUmountForDriver(const char *mount_point);
sceAppMgrUpdateRifInfoForDriver
Version |
NID
|
3.60 |
0x894BDCB8
|
sceAppMgrWorkDirMountForDriver
Version |
NID
|
3.60 |
0x3A0A9B82
|
only valid appmgr mount ids are: 0xC8
, 0xC9
, 0xCA
, 0xCB
, 0xCC
, 0xCE
int sceAppMgrWorkDirMountForDriver(int mountId, char *mountPoint);
SceAppMgrForDriver_unk_0813AFCA
Version |
NID
|
3.60 |
0x0813AFCA
|
sceAppMgrAppParamGetIntForDriver
Version |
NID
|
3.60 |
0x12CE29F7
|
SceAppMgrForDriver_unk_2FEACA9F
Version |
NID
|
3.60 |
0x2FEACA9F
|
SceAppMgrForDriver_unk_324DD34E
Version |
NID
|
3.60 |
0x324DD34E
|
SceAppMgrForDriver_unk_0C5D65F1
Version |
NID
|
3.60 |
0x0C5D65F1
|
SceAppMgrForDriver_unk_1574E1A4
Version |
NID
|
3.60 |
0x1574E1A4
|
SceAppMgrForDriver_unk_1B6C2FED
Version |
NID
|
3.60 |
0x1B6C2FED
|
SceAppMgrForDriver_unk_21BE167A
Version |
NID
|
3.60 |
0x21BE167A
|
SceAppMgrForDriver_unk_29421DCD
Version |
NID
|
3.60 |
0x29421DCD
|
SceAppMgrForDriver_unk_30947DF4
Version |
NID
|
3.60 |
0x30947DF4
|
SceAppMgrForDriver_unk_3B4F305B
Version |
NID
|
3.60 |
0x3B4F305B
|
SceAppMgrForDriver_unk_4FA62A46
Version |
NID
|
3.60 |
0x4FA62A46
|
SceAppMgrForDriver_unk_504023C8
Version |
NID
|
3.60 |
0x504023C8
|
SceAppMgrForDriver_unk_99AA37C1
Version |
NID
|
3.60 |
0x99AA37C1
|
SceAppMgrForDriver_unk_C4924946
Version |
NID
|
3.60 |
0xC4924946
|
SceAppMgrForDriver_unk_D80566DB
Version |
NID
|
3.60 |
0xD80566DB
|
SceAppMgrForDriver_unk_DC13160A
Version |
NID
|
3.60 |
0xDC13160A
|
SceAppMgrForDriver_unk_DD5BEEE3
Version |
NID
|
3.60 |
0xDD5BEEE3
|
SceAppMgrForDriver_unk_E8DB7942
Version |
NID
|
3.60 |
0xE8DB7942
|
SceAppMgrForDriver_unk_EBFE1BE2
Version |
NID
|
3.60 |
0xEBFE1BE2
|
SceAppMgrForDriver_unk_EE6047CA
Version |
NID
|
3.60 |
0xEE6047CA
|
SceAppMgrForDriver_unk_F3B1D42E
Version |
NID
|
3.60 |
0xF3B1D42E
|
SceAppMgrForDriver_unk_F9A61E94
Version |
NID
|
3.60 |
0xF9A61E94
|
SceAppMgrForDriver_unk_FC89D33D
Version |
NID
|
3.60 |
0xFC89D33D
|
SceAppMgr
__sceAppMgrGetAppState
Version |
NID
|
1.69 |
0x210C0046
|
3.60 |
0x210C0046
|
exported to user by SceDriverUser
_sceAppMgrAcidDirSet
Version |
NID
|
1.69 |
0x6CBCBE1A
|
3.60 |
0x6CBCBE1A
|
exported to user by SceDriverUser
_sceAppMgrAcquireSoundOutExclusive3
Version |
NID
|
1.69 |
0x13ED8FFD
|
3.60 |
0x13ED8FFD
|
exported to user by SceDriverUser
_sceAppMgrAddContAddMount
Version |
NID
|
3.60 |
0x581DB1BE
|
exported to user by SceDriverUser
- verify that titleid belongs to one of currently running titleids
- mount PFS to ux0:addcont/<titleid> or grw0:addcont/<titleid> path with mountid 0x3EA
- read keystone from <mountpoint>:sce_sys/keystone
- verify keystone passcode
int _sceAppMgrAddContAddMount(generic_mount_ctx *data, int force_mount_ux);
_sceAppMgrAddContMount
Version |
NID
|
1.69 |
0x0667E10A
|
3.60 |
0x0667E10A
|
exported to user by SceDriverUser
- if path is gro0:
- produce path gro0:addcont/<titleid>
- else
- obtain path ux0:addcont/<titleid> or grw0:addcont/<titleid>
- mount PFS to one of 3 paths with mountid 0x3EA
- if first mount succeeded
- check that mount drive is addcont0:
- read keystone form <mountpoint>:sce_sys/keystone
- verify keystone content
- if path is gro0:
- obtain path ux0:addcont/<titleid> or grw0:addcont/<titleid>
- mount PFS to one of 2 paths with mountid 0x3EB
- check that mount drive is addcont0:
- read keystone form <mountpoint>:sce_sys/keystone
- verify keystone content
- if first mount failed:
- if path is gro0:
- obtain path ux0:addcont/<titleid> or grw0:addcont/<titleid>
- mount PFS to one of 2 paths with mountid 0x3EA
- check that mount drive is addcont0:
- read keystone form <mountpoint>:sce_sys/keystone
- verify keystone content
- check that mounted drive is indeed addcont0:
int _sceAppMgrAddContMount(SceUID pid, generic_mount_ctx *mctx);
_sceAppMgrAppDataMountById
Version |
NID
|
1.69 |
0x9275414A
|
3.60 |
0x9275414A
|
exported to user by SceDriverUser
struct sceAppMgrAppDataMountByIdOpt
{
int reserved1;
int reserved2;
};
int _sceAppMgrAppDataMountById(int mountId, generic_mount_ctx *mctx, char *mountPoint, sceAppMgrAppDataMountByIdOpt *opt);
_sceAppMgrAppDataMount
Version |
NID
|
1.69 |
0xF07B816E
|
3.60 |
0xF07B816E
|
exported to user by SceDriverUser
Use sceAppMgrUmount to unmount this.
int _sceAppMgrAppDataMount(int mountId, char *mountPoint);
_sceAppMgrAppMount
Version |
NID
|
1.69 |
0xCF1C0C0C
|
3.60 |
0xCF1C0C0C
|
exported to user by SceDriverUser
_sceAppMgrAppParamGetInt
Version |
NID
|
1.69 |
0xDC7F8DE5
|
3.60 |
0xDC7F8DE5
|
exported to user by SceDriverUser
_sceAppMgrAppParamGetString
Version |
NID
|
1.69 |
0xEF34CA42
|
3.60 |
0xEF34CA42
|
exported to user by SceDriverUser
This is used to retrieve SFO information. The cmd probably corresponds to and index of SFO entries. See the examples for which entries they may be. Example from store_checkout_plugin.
typedef struct sceAppMgrAppParamGetString_opt
{
int32_t length;
int32_t unk_4;
int32_t unk_8;
int32_t unk_C;
}sceAppMgrAppParamGetString_opt;
//example:
//sceAppMgrAppParamGetString_opt opt;
//opt.length = 0x10;
//sceAppMgrAppParamGetString(processid, 0xC, buffer, &opt);
int _sceAppMgrAppParamGetString(int pid, int param, char *string, sceAppMgrAppParamGetString_opt* buf_size);
On WebKit:
0xC - return current process application name.
0x8 - return "gda" on webkit
On PSM Dev
Cmd |
Output
|
0x6 |
IP9100-PCSI00007_00-PSSUITEDEV000000
|
0x7 |
|
0x8 |
gd
|
0x9 |
PlayStationArMobile Development Assistant
|
0xA |
PSM Dev
|
0xC |
PCSI00007
|
0x64 |
IP9100-PCSI00007_00-PSSUITEDEV000000
|
0x65 |
PlayStationArMobile Development Assistant
|
_sceAppMgrAppParamSetString
Version |
NID
|
3.60 |
0x5957390F
|
exported to user by SceDriverUser
_sceAppMgrAppUmount
Version |
NID
|
1.69 |
0x2FB40418
|
3.60 |
0x2FB40418
|
exported to user by SceDriverUser
_sceAppMgrBgdlGetQueueStatus
Version |
NID
|
1.69 |
0x5075AE28
|
3.60 |
0x5075AE28
|
exported to user by SceDriverUser
_sceAppMgrCaptureFrameBufDMACByAppId
Version |
NID
|
1.69 |
0xC698385C
|
3.60 |
0xC698385C
|
exported to user by SceDriverUser
_sceAppMgrCaptureFrameBufIFTUByAppId
Version |
NID
|
1.69 |
0xF29E0732
|
3.60 |
0xF29E0732
|
exported to user by SceDriverUser
_sceAppMgrCheckRifGD
Version |
NID
|
1.69 |
0x15D7CA34
|
3.60 |
0x15D7CA34
|
exported to user by SceDriverUser
checks game data rif from \license\app\
typedef struct _sceAppMgrCheckRifGD_opt //size is 0x08
{
uint32_t unk_0;
uint32_t unk_4;
}_sceAppMgrCheckRifGD_opt
//path is a temporary mount point acquired with _sceAppMgrGameDataMount
//dest should be buffer of size 0x70
int _sceAppMgrCheckRifGD(char* path, void* dest, _sceAppMgrCheckRifGD_opt* opt);
_sceAppMgrContentInstallPeriodStart
Version |
NID
|
1.69 |
0xDC478FB1
|
3.60 |
0xDC478FB1
|
exported to user by SceDriverUser
Example from store_checkout_plugin. Parameters are uncertain.
int sceAppMgrContentInstallPeriodStart();
_sceAppMgrContentInstallPeriodStop
Version |
NID
|
1.69 |
0xC9854E6E
|
3.60 |
0xC9854E6E
|
exported to user by SceDriverUser
Example from store_checkout_plugin.
- calls non exported function equal to kernel level of sceAppMgrAddContMount
- clears flag 0x1000000 if it is set (in internal structure of one of mountpoints in list in AppMgr )
int sceAppMgrContentInstallPeriodStop();
_sceAppMgrConvertVs0UserDrivePath
Version |
NID
|
1.69 |
0x19B76D11
|
3.60 |
0x19B76D11
|
Exported to user by SceDriverUser.
Pass in a non-restricted vs0: path and an empty buffer and the buffer will be filled with the path of a temporary mount point.
Example from libssl.
// example: _sceMgrConvertVs0userDrivePath("vs0:sys/external", mountname, length)
int _sceAppMgrConvertVs0UserDrivePath(const char *path, char outpath[length], int length);
_sceAppMgrDeclareShellProcess2
Version |
NID
|
1.69 |
0xBDF15BDC
|
3.60 |
0xBDF15BDC
|
exported to user by SceDriverUser
_sceAppMgrDestroyAppByName
Version |
NID
|
1.69 |
0xEB318002
|
3.60 |
0xEB318002
|
exported to user by SceDriverUser
_sceAppMgrDrmClose
Version |
NID
|
1.69 |
0xE4CE4A0C
|
3.60 |
0xE4CE4A0C
|
exported to user by SceDriverUser
_sceAppMgrDrmOpen
Version |
NID
|
1.69 |
0xAA5B3A37
|
3.60 |
0xAA5B3A37
|
exported to user by SceDriverUser
_sceAppMgrForceUmount
Version |
NID
|
1.69 |
0x2598EC8A
|
3.60 |
0x2598EC8A
|
exported to user by SceDriverUser
_sceAppMgrGameDataMount
Version |
NID
|
1.69 |
0x454EB183
|
3.60 |
0x454EB183
|
exported to user by SceDriverUser
typedef struct _sceAppMgrGameDataMount_opt //size is 0x18
{
char* mount_point;
uint32_t unk_4;
uint32_t unk_8;
uint32_t unk_C;
uint32_t unk_10;
uint32_t unk_14;
}_sceAppMgrGameDataMount_opt;
int _sceAppMgrGameDataMount(char *app_path, char *patch_path, char *rif_file_path, _sceAppMgrGameDataMount_opt* opt)
_sceAppMgrGetAppInfo
Version |
NID
|
1.69 |
0x6E65D746
|
3.60 |
0x6E65D746
|
exported to user by SceDriverUser
_sceAppMgrGetAppMgrState
Version |
NID
|
1.69 |
0x55C60D20
|
3.60 |
0x55C60D20
|
exported to user by SceDriverUser
_sceAppMgrGetAppParam2
Version |
NID
|
1.69 |
0x26D43923
|
3.60 |
0x26D43923
|
exported to user by SceDriverUser
_sceAppMgrGetAppParam
Version |
NID
|
1.69 |
0x258C3E3C
|
3.60 |
0x258C3E3C
|
exported to user by SceDriverUser
_sceAppMgrGetBootParam
Version |
NID
|
1.69 |
0xEEFBC756
|
3.60 |
0xEEFBC756
|
exported to user by SceDriverUser
_sceAppMgrGetBudgetInfo
Version |
NID
|
1.69 |
0xEACF2237
|
3.60 |
0xEACF2237
|
exported to user by SceDriverUser
Example from webcore
SceAppMgrUser_5F00F261(&struct_of_size_0x88)
_sceAppMgrGetCoredumpStateForShell
Version |
NID
|
1.69 |
0x03DD7E65
|
3.60 |
0x03DD7E65
|
exported to user by SceDriverUser
_sceAppMgrGetCurrentBgmState2
Version |
NID
|
1.69 |
0x3F7B9BB5
|
3.60 |
0x3F7B9BB5
|
exported to user by SceDriverUser
_sceAppMgrGetCurrentBgmState
Version |
NID
|
1.69 |
0x81569A58
|
3.60 |
0x81569A58
|
exported to user by SceDriverUser
_sceAppMgrGetDevInfo
Version |
NID
|
1.69 |
0x52766019
|
3.60 |
0x52766019
|
exported to user by SceDriverUser
Example from store_checkout_plugin.
_sceAppMgrGetDevInfo("ux0:", buffer, resultbuf)
_sceAppMgrGetFgAppInfo
Version |
NID
|
1.69 |
0xAC9968B7
|
3.60 |
0xAC9968B7
|
exported to user by SceDriverUser
_sceAppMgrGetIdByName
Version |
NID
|
1.69 |
0xC311CC17
|
3.60 |
0xC311CC17
|
exported to user by SceDriverUser
_sceAppMgrGetMediaTypeFromDriveByPid
Version |
NID
|
1.69 |
0xC7566C46
|
3.60 |
0xC7566C46
|
exported to user by SceDriverUser
_sceAppMgrGetMediaTypeFromDrive
Version |
NID
|
1.69 |
0xC8D32206
|
3.60 |
0xC8D32206
|
exported to user by SceDriverUser
_sceAppMgrGetMountProcessNum
Version |
NID
|
3.60 |
0x1A844716
|
exported to user by SceDriverUser
_sceAppMgrGetNameById
Version |
NID
|
1.69 |
0x08E93582
|
3.60 |
0x08E93582
|
exported to user by SceDriverUser
_sceAppMgrGetPfsDrive
Version |
NID
|
1.69 |
0x46B208D4
|
3.60 |
0x46B208D4
|
exported to user by SceDriverUser
_sceAppMgrGetPidListForShell
Version |
NID
|
1.69 |
0x29AC9DF0
|
3.60 |
0x29AC9DF0
|
exported to user by SceDriverUser
_sceAppMgrGetRawPathOfApp0ByAppIdForShell
Version |
NID
|
1.69 |
0x7D210054
|
3.60 |
0x7D210054
|
exported to user by SceDriverUser
_sceAppMgrGetRawPathOfApp0ByPidForShell
Version |
NID
|
1.69 |
0x550422F9
|
3.60 |
0x550422F9
|
exported to user by SceDriverUser
_sceAppMgrGetRawPath
Version |
NID
|
1.69 |
0x9FB3E2C8
|
3.60 |
0x9FB3E2C8
|
exported to user by SceDriverUser
Example from silk in 1.80
sceAppMgrGetRawPath(unknown,buffer,0x101);
_sceAppMgrGetRecommendedScreenOrientation
Version |
NID
|
3.60 |
0x37E94672
|
exported to user by SceDriverUser
_sceAppMgrGetRunningAppIdListForShell
Version |
NID
|
3.60 |
0xDA66AE0E
|
exported to user by SceDriverUser
_sceAppMgrGetSaveDataInfoForSpecialExport
Version |
NID
|
3.60 |
0xDC815429
|
exported to user by SceDriverUser
- check auth id SceContentManager(0x280000000000002D)
- check some flag set by SceSblPostSsMgrForDriver (related to utoken_sm.self F00D commands)
- read sealedkey from <path>/sce_sys/sealedkey to restore klicensee
- mount PFS tsXXXXXXXXXXXX: mountpoint to <path> path with mountid 0x3ED
- get ACCOUNT_ID from <path>/sce_sys/param.sfo
struct sceAppMgrGetSaveDataInfoForSpecialExportOpt
{
int reserved0;
int reserved1;
};
int _sceAppMgrGetSaveDataInfoForSpecialExport(char *path, char *account_id, sceAppMgrGetSaveDataInfoForSpecialExportOpt *opt);
_sceAppMgrGetSaveDataInfo
Version |
NID
|
1.69 |
0x6C52A377
|
3.60 |
0x6C52A377
|
exported to user by SceDriverUser
struct sceAppMgrGetSaveDataInfo_res
{
int enum_flag_0;
int enum_flag_4;
int enum_flag_8;
int unkC;
int unk10;
int open_psid_related_14;
int ioctl_related_18;
};
struct sceAppMgrGetSaveDataInfoOpt
{
sceAppMgrGetSaveDataInfo_res *res;
int unk4;
int unk8;
int unkC;
};
int _sceAppMgrGetSaveDataInfo(char *path, char *titleid, int force_mount_ux, sceAppMgrGetSaveDataInfoOpt *opt);
_sceAppMgrGetStatusByAppId
Version |
NID
|
1.69 |
0xBF4213A3
|
3.60 |
0xBF4213A3
|
exported to user by SceDriverUser
Example from store_checkout_plugin.
// example: _sceAppMgrGetStatusByAppId(-2, buffer);
_sceAppMgrGetStatusByAppId(int app_id, char *buffer);
_sceAppMgrGetStatusById
Version |
NID
|
1.69 |
0x211D9558
|
3.60 |
0x211D9558
|
exported to user by SceDriverUser
_sceAppMgrGetStatusByName
Version |
NID
|
1.69 |
0x46998AFC
|
3.60 |
0x46998AFC
|
exported to user by SceDriverUser
Example from store_checkout_plugin.
_sceAppMgrGetStatusByName(0, buffer);
_sceAppMgrGetSystemDataFilePlayReady
Version |
NID
|
3.60 |
7C44FE5D
|
exported to user by SceDriverUser
_sceAppMgrGetUserDirPathById
Version |
NID
|
3.60 |
0x617D78DA
|
exported to user by SceDriverUser
_sceAppMgrGetUserDirPath
Version |
NID
|
1.69 |
0x84B138BF
|
3.60 |
0x84B138BF
|
exported to user by SceDriverUser
_sceAppMgrGetVs0UserDataDrive
Version |
NID
|
1.69 |
0xC361C084
|
3.60 |
0xC361C084
|
exported to user by SceDriverUser
_sceAppMgrGetVs0UserModuleDrive
Version |
NID
|
1.69 |
0x85589E87
|
3.60 |
0x85589E87
|
exported to user by SceDriverUser
_sceAppMgrInitSafeMemoryById
Version |
NID
|
3.60 |
0x03FA4036
|
exported to user by SceDriverUser
_sceAppMgrInstallDirMount
Version |
NID
|
1.69 |
0xED37D810
|
3.60 |
0xED37D810
|
exported to user by SceDriverUser
_sceAppMgrIsCameraActive
Version |
NID
|
1.69 |
0x7F0C9410
|
3.60 |
0x7F0C9410
|
exported to user by SceDriverUser
_sceAppMgrLaunchAppByName2ForShell
Version |
NID
|
1.69 |
0xC6BA9596
|
3.60 |
0xC6BA9596
|
exported to user by SceDriverUser
_sceAppMgrLaunchAppByName2
Version |
NID
|
1.69 |
0xAEF06983
|
3.60 |
0xAEF06983
|
exported to user by SceDriverUser
_sceAppMgrLaunchAppByName2ndStage
Version |
NID
|
1.69 |
0xDEDD2AED
|
3.60 |
0xDEDD2AED
|
exported to user by SceDriverUser
_sceAppMgrLaunchAppByNameForShell
Version |
NID
|
1.69 |
0x4C3B5BB8
|
3.60 |
0x4C3B5BB8
|
exported to user by SceDriverUser
_sceAppMgrLaunchAppByName
Version |
NID
|
1.69 |
0xDAC0AF12
|
3.60 |
0xDAC0AF12
|
exported to user by SceDriverUser
_sceAppMgrLaunchAppByPath4
Version |
NID
|
1.69 |
0x8FE4F651
|
3.60 |
0x8FE4F651
|
exported to user by SceDriverUser
_sceAppMgrLaunchAppByUri2
Version |
NID
|
1.69 |
0x4B45EAC0
|
3.60 |
0x4B45EAC0
|
exported to user by SceDriverUser
_sceAppMgrLaunchAppByUri
Version |
NID
|
1.69 |
0x37CE3984
|
3.60 |
0x37CE3984
|
exported to user by SceDriverUser
_sceAppMgrLaunchVideoStreamingApp
Version |
NID
|
3.60 |
0x29650EE6
|
exported to user by SceDriverUser
_sceAppMgrLoadExec
Version |
NID
|
1.69 |
0xDC2F23E0
|
3.60 |
0xDC2F23E0
|
exported to user by SceDriverUser
_sceAppMgrLoadSaveDataSystemFile
Version |
NID
|
3.60 |
0xA630BC5D
|
exported to user by SceDriverUser
- check auth id SceShell(0x2800000000000001), fake_package_installer(0x280000000000002E)
- resolve overlay for <path>
- create <path> directory if required
- create <path>/sce_pfs directory if required
- mount PFS to <path> path with mountid 0x3ED
- read <path>/sce_sys/param.sfo
struct sceAppMgrLoadSaveDataSystemFileOpt
{
int reserved0;
int reserved1;
};
int _sceAppMgrLoadSaveDataSystemFile(char *path, int param_sfo_data, int authid_related, sceAppMgrLoadSaveDataSystemFileOpt *opt);
_sceAppMgrLoopBackFormat
Version |
NID
|
1.69 |
0xEA307D2C
|
3.60 |
0xEA307D2C
|
exported to user by SceDriverUser
_sceAppMgrLoopBackMount
Version |
NID
|
1.69 |
0x3493CDFA
|
3.60 |
0x3493CDFA
|
exported to user by SceDriverUser
struct sceAppMgrLoopBackMountOpt
{
int reserved0;
int reserved1;
};
int _sceAppMgrLoopBackMount(int mountId, char *titleId, char *mountPoint, sceAppMgrLoopBackMountOpt *opt);
_sceAppMgrMmsMount
Version |
NID
|
1.69 |
0xE56A2E1B
|
3.60 |
0xE56A2E1B
|
exported to user by SceDriverUser
int _sceAppMgrMmsMount(int mountId, char *mountPoint);
_sceAppMgrOverwriteLaunchParamForShell
Version |
NID
|
1.69 |
0xFDE9A3E3
|
3.60 |
0xFDE9A3E3
|
exported to user by SceDriverUser
_sceAppMgrPeekLaunchParamForShell
Version |
NID
|
1.69 |
0x8CC3DC46
|
3.60 |
0x8CC3DC46
|
exported to user by SceDriverUser
_sceAppMgrPhotoMount
Version |
NID
|
1.69 |
0xE98E9C52
|
3.60 |
0xE98E9C52
|
exported to user by SceDriverUser
struct sceAppMgrPhotoMountParam
{
int size;
char unk4[0x80];
};
struct sceAppMgrPhotoMountOpt
{
int size;
int reserved0;
};
int _sceAppMgrPhotoMount(sceAppMgrPhotoMountParam *param, sceAppMgrPhotoMountOpt *opt);
_sceAppMgrPhotoUmount
Version |
NID
|
1.69 |
0xB2EA376F
|
3.60 |
0xB2EA376F
|
exported to user by SceDriverUser
_sceAppMgrPspSaveDataGetParams
Version |
NID
|
3.60 |
0x77A51E82
|
exported to user by SceDriverUser
_sceAppMgrPspSaveDataRead
Version |
NID
|
3.60 |
0xE535161F
|
exported to user by SceDriverUser
_sceAppMgrPspSaveDataRootMount
Version |
NID
|
3.60 |
0xA77DF8BA
|
exported to user by SceDriverUser
int _sceAppMgrPspSaveDataRootMount(char *mountPoint);
_sceAppMgrReceiveEventNum
Version |
NID
|
1.69 |
0x3EEEC172
|
3.60 |
0x3EEEC172
|
exported to user by SceDriverUser
_sceAppMgrReceiveEvent
Version |
NID
|
1.69 |
0xA90546F4
|
3.60 |
0xA90546F4
|
exported to user by SceDriverUser
_sceAppMgrReceiveNotificationRequestForShell
Version |
NID
|
1.69 |
0x21A86141
|
3.60 |
0x21A86141
|
exported to user by SceDriverUser
_sceAppMgrReceiveShellEvent
Version |
NID
|
1.69 |
0xE0DADF51
|
3.60 |
0xE0DADF51
|
exported to user by SceDriverUser
_sceAppMgrReceiveSystemEvent
Version |
NID
|
1.69 |
0x7240375B
|
3.60 |
0x7240375B
|
exported to user by SceDriverUser
_sceAppMgrSaveDataAddMount
Version |
NID
|
3.60 |
0xD1391ACE
|
exported to user by SceDriverUser
- verify that titleid belongs to one of currently running titleids
- create ux0:/user/XX/savedata_vc/<titleid> or ux0:/user/XX/savedata/<titleid> directory if required
- mount PFS to ux0:/user/XX/savedata_vc/<titleid> or ux0:/user/XX/savedata/<titleid> path with mountid 0x3ED
- read keystone from <mountpoint>:sce_sys/keystone
- verify keystone passcode
int _sceAppMgrSaveDataAddMount(generic_mount_ctx *opt);
_sceAppMgrSaveDataDataRemove2
Version |
NID
|
3.60 |
0x435E0BCB
|
exported to user by SceDriverUser
_sceAppMgrSaveDataDataRemove
Version |
NID
|
1.69 |
0xA579A39E
|
3.60 |
0xA579A39E
|
exported to user by SceDriverUser
_sceAppMgrSaveDataDataSave2
Version |
NID
|
3.60 |
0xFDACCA65
|
exported to user by SceDriverUser
_sceAppMgrSaveDataDataSave
Version |
NID
|
1.69 |
0xB81777B7
|
3.60 |
0xB81777B7
|
exported to user by SceDriverUser
_sceAppMgrSaveDataGetQuota
Version |
NID
|
1.69 |
0xF28A426B
|
3.60 |
0xF28A426B
|
exported to user by SceDriverUser
_sceAppMgrSaveDataMount
Version |
NID
|
1.69 |
0x95A6B1BF
|
3.60 |
0x95A6B1BF
|
exported to user by SceDriverUser
_sceAppMgrSaveDataSlotCreate
Version |
NID
|
1.69 |
0xC48833AA
|
3.60 |
0xC48833AA
|
exported to user by SceDriverUser
_sceAppMgrSaveDataSlotDelete
Version |
NID
|
1.69 |
0x191CF6B1
|
3.60 |
0x191CF6B1
|
exported to user by SceDriverUser
_sceAppMgrSaveDataSlotFileClose
Version |
NID
|
3.60 |
0xFE821175
|
exported to user by SceDriverUser
_sceAppMgrSaveDataSlotFileGetParam
Version |
NID
|
3.60 |
0x667CC149
|
exported to user by SceDriverUser
_sceAppMgrSaveDataSlotFileOpen
Version |
NID
|
3.60 |
0x855CDAA4
|
exported to user by SceDriverUser
_sceAppMgrSaveDataSlotGetParam
Version |
NID
|
1.69 |
0x74D789E2
|
3.60 |
0x74D789E2
|
exported to user by SceDriverUser
_sceAppMgrSaveDataSlotGetStatus
Version |
NID
|
1.69 |
0xAF8258D4
|
3.60 |
0xAF8258D4
|
exported to user by SceDriverUser
_sceAppMgrSaveDataSlotInit
Version |
NID
|
1.69 |
0x79689A1D
|
3.60 |
0x79689A1D
|
exported to user by SceDriverUser
_sceAppMgrSaveDataSlotSetParam
Version |
NID
|
1.69 |
0x0E216486
|
3.60 |
0x0E216486
|
exported to user by SceDriverUser
_sceAppMgrSaveDataSlotSetStatus
Version |
NID
|
1.69 |
0x030C0CA4
|
3.60 |
0x030C0CA4
|
exported to user by SceDriverUser
_sceAppMgrSaveDataUmount
Version |
NID
|
1.69 |
0x53623420
|
3.60 |
0x53623420
|
exported to user by SceDriverUser
_sceAppMgrSendNotificationRequest
Version |
NID
|
1.69 |
0xF42E27AD
|
3.60 |
0xF42E27AD
|
exported to user by SceDriverUser
_sceAppMgrSendParam
Version |
NID
|
3.60 |
0xD29236AD
|
exported to user by SceDriverUser
_sceAppMgrSendSystemEvent2
Version |
NID
|
1.69 |
0xD70D5EEC
|
3.60 |
0xD70D5EEC
|
exported to user by SceDriverUser
_sceAppMgrSendSystemEvent
Version |
NID
|
1.69 |
0xCEAF12B6
|
3.60 |
0xCEAF12B6
|
exported to user by SceDriverUser
Example from store_checkout_plugin.
_sceAppMgrSendSystemEvent(0, 0x10000006);
_sceAppMgrSendSystemEvent(0, 0x10000004);
_sceAppMgrSetBackRenderPortOwner
Version |
NID
|
1.69 |
0xE8357021
|
3.60 |
0xE8357021
|
exported to user by SceDriverUser
_sceAppMgrSetBgmProxyApp
Version |
NID
|
1.69 |
0xF6B093BC
|
3.60 |
0xF6B093BC
|
exported to user by SceDriverUser
_sceAppMgrSetNetworkDisconnectionWarningDialogState
Version |
NID
|
3.60 |
0xD4B0CDB4
|
exported to user by SceDriverUser
_sceAppMgrSetPowerSaveMode
Version |
NID
|
1.69 |
0xB0ECB9C2
|
3.60 |
0xB0ECB9C2
|
exported to user by SceDriverUser
_sceAppMgrSetRecommendedScreenOrientationForShell
Version |
NID
|
3.60 |
0xD14D39F5
|
exported to user by SceDriverUser
_sceAppMgrSetShellScreenOrientation
Version |
NID
|
3.60 |
0x10E23253
|
exported to user by SceDriverUser
_sceAppMgrSetSystemDataFilePlayReady
Version |
NID
|
3.60 |
0x8964E793
|
exported to user by SceDriverUser
_sceAppMgrSetSystemDataFile
Version |
NID
|
3.60 |
0x78F5AF66
|
exported to user by SceDriverUser
_sceAppMgrSystemParamDateTimeGetConf
Version |
NID
|
1.69 |
0xB7F95389
|
3.60 |
0xB7F95389
|
exported to user by SceDriverUser
_sceAppMgrSystemParamGetInt
Version |
NID
|
3.60 |
0x18EB1DAC
|
exported to user by SceDriverUser
_sceAppMgrSystemParamGetString
Version |
NID
|
1.69 |
0xAF5F9497
|
3.60 |
0xAF5F9497
|
exported to user by SceDriverUser
_sceAppMgrThemeDataMount
Version |
NID
|
3.60 |
0xD9B7A5AF
|
exported to user by SceDriverUser
- check that program-authority-id is SceShell(0x2800000000000001) or SceSettings (0x2800000000000010)
- read ux0:theme/<CONTENTID>/sce_sys/param.sfo or <theme_path>/<CONTENTID>/sce_sys/param.sfo (in case of debug custom theme)
- check in param.sfo that CATEGORY = ac and get TITLEID
- get klicensee from rif (from fixed name at path ux0:license/theme/<CONTENTID> or from <rif_file_path>)
- check ux0:theme/<CONTENTID>/sce_sys/package/head.bin vs ux0:theme/<CONTENTID>/sce_sys/clearsign or <theme_path>/<CONTENTID>/sce_sys/package/head.bin vs <theme_path>/<CONTENTID>/sce_sys/clearsign
- mount PFS tmXXXXXXXXXXXd: mountpoint to ux0:theme/<CONTENTID> or <theme_path>/<CONTENTID> path with mountid 0x3EC and TITLEID
struct sceAppMgrThemeDataMountOpt
{
char *mount_point;
int reserved0;
int reserved1;
int reserved2;
int reserved3;
int reserved4;
};
int _sceAppMgrThemeDataMount(const char *titleid, const char *theme_path, const char *rif_file_path, sceAppMgrThemeDataMountOpt *opt);
_sceAppMgrTrophyMountById
Version |
NID
|
1.69 |
0x3DFC9410
|
3.60 |
0x3DFC9410
|
exported to user by SceDriverUser
struct sceAppMgrTrophyMountByIdOpt
{
int reserved0;
int reserved1;
};
int _sceAppMgrTrophyMountById(int mountId, char *titleId, char *mountPoint, sceAppMgrTrophyMountByIdOpt *opt);
_sceAppMgrTrophyMount
Version |
NID
|
1.69 |
0xF8B80AC2
|
3.60 |
0xF8B80AC2
|
exported to user by SceDriverUser
int _sceAppMgrTrophyMount(int mountId, SceUID pid, char *mountPoint);
_sceAppMgrUmountByPid
Version |
NID
|
1.69 |
0x0A419BC8
|
3.60 |
0x0A419BC8
|
exported to user by SceDriverUser
_sceAppMgrUmount
Version |
NID
|
1.69 |
0xFFCA54E0
|
3.60 |
0xFFCA54E0
|
Exported to user by SceDriverUser.
This is the unmount command for the mount point created with _sceAppMgrWorkDirMount.
This unmount command is also called in pair with _sceAppMgrGameDataMount from SceShell.
// max size of mount_point is 0x10 bytes including null
int _sceAppMgrUmount(const char *mount_point);
_sceAppMgrUpdateSaveDataParam
Version |
NID
|
1.69 |
0xF4703412
|
3.60 |
0xF4703412
|
exported to user by SceDriverUser
- resolve overlay for <path>
- if <overlay path> is ux0:/user/XX/savedata or grw0:/savedata/
- mount PFS tsXXXXXXXXXXXXd mountpoint to <overlay path> path with mountid 0x3ED
- verify open psid
- if <overlay path> is ux0:/ or grw0:/
- mount PFS tsXXXXXXXXXXXXd mountpoint to <overlay path>/user/XX/savedata path with mountid 0x3ED
- verify open psid
struct sceAppMgrUpdateSaveDataParamOpt
{
int reserved0;
int reserved1;
};
int _sceAppMgrUpdateSaveDataParam(char *path, sceAppMgrUpdateSaveDataParamOpt *opt);
_sceAppMgrWorkDirMountById
Version |
NID
|
1.69 |
0x58E4CC90
|
3.60 |
0x58E4CC90
|
exported to user by SceDriverUser
only valid appmgr mount ids are: 0xCD
and 0xCF
struct sceAppMgrWorkDirMountByIdOpt
{
int reserved0;
int reserved1;
};
int _sceAppMgrWorkDirMountById(int mountId, generic_mount_ctx* data, char *mount_point, sceAppMgrWorkDirMountByIdOpt *opt);
_sceAppMgrWorkDirMount
Version |
NID
|
1.69 |
0x0C49659E
|
3.60 |
0x0C49659E
|
exported to user by SceDriverUser
For example used by store_checkout_plugin, sqlite_vsh.
This creates a mount point that can be used as a filesystem.
Only valid appmgr mount ids are: 0xC8
, 0xC9
, 0xCA
, 0xCB
, 0xCC
, 0xCE
.
int _sceAppMgrWorkDirMount(int mountId, char *mountPoint);
sceAppMgrAcquireBgmPortForMusicPlayer
Version |
NID
|
1.69 |
0x44EC36FA
|
3.60 |
0x44EC36FA
|
sceAppMgrAcquireBgmPortWithPriority
Version |
NID
|
1.69 |
0xAAED7419
|
3.60 |
0xAAED7419
|
sceAppMgrAcquireBgmPort
Version |
NID
|
1.69 |
0xAFCEAB96
|
3.60 |
0xAFCEAB96
|
sceAppMgrAcquireBtrm
Version |
NID
|
1.69 |
0xD752695D
|
3.60 |
0xD752695D
|
sceAppMgrAcquireSoundOutExclusive2
Version |
NID
|
1.69 |
0xB9365442
|
3.60 |
0xB9365442
|
sceAppMgrAcquireSoundOutExclusive
Version |
NID
|
1.69 |
0xACB48075
|
3.60 |
0xACB48075
|
sceAppMgrActivateApp
Version |
NID
|
1.69 |
0x43631508
|
3.60 |
0x43631508
|
appid is AppId
int sceAppMgrActivateApp(int appid);
sceAppMgrDeactivateApp
Version |
NID
|
1.69 |
0xFFA093D9
|
3.60 |
0xFFA093D9
|
sceAppMgrDeclareSystemChatApp
Version |
NID
|
1.69 |
0x77EE891D
|
3.60 |
0x77EE891D
|
sceAppMgrDestroyAppByAppId
Version |
NID
|
1.69 |
0x54368A0B
|
3.60 |
0x54368A0B
|
sceAppMgrDestroyOtherAppByAppIdForShell
Version |
NID
|
1.69 |
0xDC70C5F7
|
3.60 |
0xDC70C5F7
|
sceAppMgrDestroyOtherAppByPidForShell
Version |
NID
|
1.69 |
0x5420D23C
|
3.60 |
0x5420D23C
|
sceAppMgrDestroyOtherApp
Version |
NID
|
1.69 |
0x3EF143BF
|
3.60 |
0x3EF143BF
|
sceAppMgrDump
Version |
NID
|
1.69 |
0x527795E8
|
3.60 |
0x527795E8
|
sceAppMgrEnableCoredumpForTest
Version |
NID
|
1.69 |
0x32FD0B99
|
3.60 |
0x32FD0B99
|
sceAppMgrEnableDuckingOnSystemChat
Version |
NID
|
1.69 |
0x5AB230DE
|
3.60 |
0x5AB230DE
|
sceAppMgrEnablePrioritizingSystemChat
Version |
NID
|
1.69 |
0x3E1FAB92
|
3.60 |
0x3E1FAB92
|
sceAppMgrExitToLiveboardForGameApp
Version |
NID
|
1.69 |
0x89D1DA55
|
3.60 |
0x89D1DA55
|
sceAppMgrFinishCoredumpForShell
Version |
NID
|
1.69 |
0x52FF63D1
|
3.60 |
0x52FF63D1
|
sceAppMgrGetAppIdByAppId
Version |
NID
|
1.69 |
0x332C9D98
|
3.60 |
0x332C9D98
|
Version |
NID
|
3.60 |
0x94A722BC
|
sceAppMgrGetProcessIdByAppIdForShell
Version |
NID
|
1.69 |
0x63FAC2A9
|
3.60 |
0x63FAC2A9
|
sceAppMgrGetSystemDataFile
Version |
NID
|
1.69 |
0xAEC49533
|
3.60 |
0xAEC49533
|
sceAppMgrGrowMemory3
Version |
NID
|
3.60 |
0x4401EDCD
|
sceAppMgrGrowMemory
Version |
NID
|
1.69 |
0x842FCE8C
|
3.60 |
0x842FCE8C
|
sceAppMgrIsDevelopmentMode
Version |
NID
|
1.69 |
0x7D4F8F83
|
3.60 |
0x7D4F8F83
|
sceAppMgrIsGameBudgetAppPresent
Version |
NID
|
1.69 |
0xE134F5A0
|
3.60 |
0xE134F5A0
|
sceAppMgrIsGameProgram
Version |
NID
|
1.69 |
0xFFF8F7F0
|
3.60 |
0xFFF8F7F0
|
sceAppMgrIsNonGameProgram
Version |
NID
|
3.60 |
0x5F22E192
|
sceAppMgrIsOtherAppPresent
Version |
NID
|
1.69 |
0x371F6F81
|
3.60 |
0x371F6F81
|
sceAppMgrIsPidShellAndCrashed
Version |
NID
|
3.60 |
0xC648EA9B
|
sceAppMgrIsPsNowClient
Version |
NID
|
3.60 |
0x972EA7BA
|
sceAppMgrLaunchAppCancel
Version |
NID
|
1.69 |
0x5369BC0A
|
3.60 |
0x5369BC0A
|
sceAppMgrLoadSafeMemory
Version |
NID
|
1.69 |
0xFAF3DAAA
|
3.60 |
0xFAF3DAAA
|
sceAppMgrNotifyLiveBoardModeForShell
Version |
NID
|
1.69 |
0x389F048D
|
3.60 |
0x389F048D
|
sceAppMgrQuitApp
Version |
NID
|
1.69 |
0x0DD747FB
|
3.60 |
0x0DD747FB
|
sceAppMgrQuitForNonSuspendableApp
Version |
NID
|
1.69 |
0xE3F719A0
|
3.60 |
0xE3F719A0
|
sceAppMgrReceiveShellEventNum
Version |
NID
|
1.69 |
0xFB67BABD
|
3.60 |
0xFB67BABD
|
sceAppMgrReleaseBgmPort
Version |
NID
|
1.69 |
0xF3717E37
|
3.60 |
0xF3717E37
|
sceAppMgrReleaseBtrm
Version |
NID
|
1.69 |
0xACDCE4DB
|
3.60 |
0xACDCE4DB
|
sceAppMgrReleaseSoundOutExclusive2
Version |
NID
|
1.69 |
0x2BB68701
|
3.60 |
0x2BB68701
|
sceAppMgrReleaseSoundOutExclusive3
Version |
NID
|
3.60 |
0x626C339D
|
sceAppMgrReleaseSoundOutExclusive
Version |
NID
|
1.69 |
0x3BA41199
|
3.60 |
0x3BA41199
|
sceAppMgrRestoreBgmSettingForShell
Version |
NID
|
1.69 |
0xD9BCC50C
|
3.60 |
0xD9BCC50C
|
sceAppMgrRestoreDisplaySettingForShell
Version |
NID
|
1.69 |
0xE455922D
|
3.60 |
0xE455922D
|
sceAppMgrResumeBgAppByShell
Version |
NID
|
3.60 |
0x64DD4321
|
sceAppMgrReturnLiveAreaOperationResultForShell
Version |
NID
|
3.60 |
0x5CF3BA39
|
sceAppMgrSaveDataGetCachedRequiredSizeKiB
Version |
NID
|
3.60 |
0x56EDE09A
|
sceAppMgrSaveSafeMemory
Version |
NID
|
1.69 |
0xD366AA44
|
3.60 |
0xD366AA44
|
sceAppMgrSendLiveBoardMode
Version |
NID
|
1.69 |
0x3E4AC082
|
3.60 |
0x3E4AC082
|
sceAppMgrSetAppProtectionModeOnMemoryShortage
Version |
NID
|
1.69 |
0xAF8C7FFB
|
3.60 |
0xAF8C7FFB
|
sceAppMgrSetBgmSubPriorityForSystemChat
Version |
NID
|
1.69 |
0x90E42B4D
|
3.60 |
0x90E42B4D
|
sceAppMgrSetBgmSubPriority
Version |
NID
|
1.69 |
0x7333C2F1
|
3.60 |
0x7333C2F1
|
sceAppMgrSetDisplayMergeConf
Version |
NID
|
3.60 |
0x0789D501
|
sceAppMgrSetFakeSettingBug51800
Version |
NID
|
3.60 |
0xF46C81F3
|
sceAppMgrSetInfobarStateForCommonDialog
Version |
NID
|
1.69 |
0xD6758B4E
|
3.60 |
0xD6758B4E
|
sceAppMgrSetInfobarStateForShellByAppId
Version |
NID
|
1.69 |
0xF7DFE96E
|
3.60 |
0xF7DFE96E
|
sceAppMgrSetInfobarState
Version |
NID
|
1.69 |
0xAD9022A1
|
3.60 |
0xAD9022A1
|
sceAppMgrSetRecommendedScreenOrientationActivated
Version |
NID
|
3.60 |
0x75876896
|
sceAppMgrSetSystemImposeState2
Version |
NID
|
3.60 |
0x2163759A
|
sceAppMgrSetSystemImposeState
Version |
NID
|
1.69 |
0xD16B91B5
|
3.60 |
0xD16B91B5
|
sceAppMgrSuspendBgAppByShell
Version |
NID
|
3.60 |
0x5BCF6927
|
sceAppMgrSuspendUntilActivated
Version |
NID
|
1.69 |
0xECEC7F90
|
3.60 |
0xECEC7F90
|
_sceAppMgrCaptureFrameBuf
Version |
NID
|
1.69 |
0xFA21A020
|
3.60 |
NOT PRESENT
|
_sceAppMgrCaptureFrameBufByAppId
Version |
NID
|
1.69 |
0xD3787750
|
3.60 |
NOT PRESENT
|
_sceAppMgrCaptureFrameBufDMAC
Version |
NID
|
1.69 |
0x34170882
|
3.60 |
NOT PRESENT
|
_sceAppMgrCaptureFrameBufIFTU
Version |
NID
|
1.69 |
0x4799F0F7
|
3.60 |
NOT PRESENT
|
_sceAppMgrCheckSaveDataMounted
Version |
NID
|
1.69 |
0x947A95CA
|
3.60 |
NOT PRESENT
|
_sceAppMgrGameDataMountWithPatch
Version |
NID
|
1.69 |
0x7A239EDC
|
3.60 |
NOT PRESENT
|
_sceAppMgrGetParam
Version |
NID
|
1.69 |
0x5FF430E8
|
3.60 |
NOT PRESENT
|
Example from webcore.
// example: _sceAppMgrGetParam(-2, buffer);
_sceAppMgrGetParam(int id, char *buffer);
_sceAppMgrSendEvent
Version |
NID
|
1.69 |
0x5432E51D
|
3.60 |
NOT PRESENT
|
_sceAppMgrReleaseSoundOutExclusive3
Version |
NID
|
1.69 |
0x82C924AD
|
3.60 |
NOT PRESENT
|
sceAppMgrDestroyApp
Version |
NID
|
1.69 |
0xD18F8DDD
|
3.60 |
NOT PRESENT
|
sceAppMgrGetActivateApp
Version |
NID
|
1.69 |
0x4C1183C2
|
3.60 |
NOT PRESENT
|
sceAppMgrGrowMemory2
Version |
NID
|
1.69 |
0xE4CE2CB5
|
3.60 |
NOT PRESENT
|
sceAppMgrInfoBarClose
Version |
NID
|
1.69 |
0x9A60BED4
|
3.60 |
NOT PRESENT
|
sceAppMgrInfoBarOpen
Version |
NID
|
1.69 |
0x97B80C01
|
3.60 |
NOT PRESENT
|
sceAppMgrSetEnablePrioritizeSystemChat
Version |
NID
|
1.69 |
0xD4078CC0
|
3.60 |
NOT PRESENT
|
sceAppMgrSetInfobarStateForShellByPid
Version |
NID
|
1.69 |
0xA3314B2B
|
3.60 |
NOT PRESENT
|
SceSharedFb
_sceSharedFbOpen
Version |
NID
|
1.69 |
0xB358E1B6
|
3.60 |
0xB358E1B6
|
sceSharedFbBegin
Version |
NID
|
1.69 |
0x72067C6B
|
3.60 |
0x72067C6B
|
sceSharedFbClose
Version |
NID
|
1.69 |
0x33DA3428
|
3.60 |
0x33DA3428
|
sceSharedFbCreate
Version |
NID
|
1.69 |
0xD6C643B5
|
3.60 |
0xD6C643B5
|
sceSharedFbDelete
Version |
NID
|
1.69 |
0xBE5A1A81
|
3.60 |
0xBE5A1A81
|
sceSharedFbEnd
Version |
NID
|
1.69 |
0xFC5A62B6
|
3.60 |
0xFC5A62B6
|
sceSharedFbGetInfo
Version |
NID
|
1.69 |
0x819954FB
|
3.60 |
0x819954FB
|
sceSharedFbGetRenderingInfo
Version |
NID
|
1.69 |
0x61FEEDFA
|
3.60 |
0x61FEEDFA
|
sceSharedFbGetShellRenderPort
Version |
NID
|
1.69 |
0xAC49FC1D
|
3.60 |
0xAC49FC1D
|
sceSharedFbUpdateProcessBegin
Version |
NID
|
1.69 |
0xF9754AD9
|
3.60 |
0xF9754AD9
|
sceSharedFbUpdateProcessEnd
Version |
NID
|
1.69 |
0x565A9AB6
|
3.60 |
0x565A9AB6
|
sceSharedFbUpdateProcess
Version |
NID
|
1.69 |
0x3889ACF8
|
3.60 |
0x3889ACF8
|
sceSharedFbSetShellRenderPort
Version |
NID
|
1.69 |
0x0B81B10F
|
3.60 |
NOT PRESENT
|
sceSharedFbSetRenderingOrderForTest
Version |
NID
|
1.69 |
0x0D2B21AE
|
3.60 |
NOT PRESENT
|
SceSharedFbForDriver