ScePromoterUtil
is a wrapper for SceShellSvc calls that install applications to LiveArea. Specifically, it takes contents decrypted and extracted from packages and moves them to the right directory and adds an icon to LiveArea.
Module
Known NIDs
Version |
Name |
World |
Privilege |
NID
|
1.80 |
ScePromoterUtil |
Non-secure |
User |
0xB31C2D5C
|
Libraries
Known NIDs
Version |
Name |
World |
Visibility |
NID
|
1.69 |
ScePromoterUtil |
Non-secure |
User |
0x31F237B6
|
ScePromoterUtil
scePromoterUtilityInit
This sets up the library. Call it immediately after loading it.
Version
|
NID
|
1.69
|
0x93451536
|
int scePromoterUtilityInit(void);
scePromoterUtilityExit
This shuts down the library. Call it immediately before unloading it.
Version
|
NID
|
1.69
|
0xC95D24A6
|
int scePromoterUtilityExit(void);
scePromoterUtilityDeletePkg
Deletes an icon from LiveArea.
Version
|
NID
|
1.80
|
0x7D46752F
|
int scePromoterUtilityDeletePkg(void *unk);
scePromoterUtilityUpdateLiveArea
Updates the LiveArea XML.
Version
|
NID
|
1.80
|
0x17D73ECA
|
typedef struct {
char titleid[12]; // target app
char path[128]; // directory of extracted LA update data
} promoter_la_update_t;
int scePromoterUtilityUpdateLiveArea(promoter_la_update_t *args);
scePromoterUtilityPromotePkg
Installs the extracted content at path
to the right location and add a LiveArea icon.
Version
|
NID
|
1.80
|
0x716C81F4
|
int scePromoterUtilityPromotePkg(char *path, int unk); // set unk = 0
scePromoterUtilityPromotePkgWithRif
Same as above but also generates a fixed RIF for the installed package.
Version
|
NID
|
1.69
|
0x86641BC6
|
int scePromoterUtilityPromotePkgWithRif(char *path, int unk); // set unk = 0
scePromoterUtilityGetState
The above two functions happen asynchronously. *state
will be set to 1
when the operation is done.
Version
|
NID
|
1.69
|
0xABEC74D2
|
int scePromoterUtilityGetState(int *state);
scePromoterUtilityGetResult
After scePromoterUtilityGetState
is set to 1
, this will get the result of the operation.
Version
|
NID
|
1.69
|
0x49B473F0
|
int scePromoterUtilityGetResult(int *res);
scePromoterUtilityRemoveSavedata
Version
|
NID
|
3.60
|
0xCB0A59B0
|
Promoter Heartbeat
When *beat
is non-zero, the promote process is still alive.
Version
|
NID
|
3.60
|
0x395739DF
|
int promoter_heartbeat(int *beat);