Process Manager
Module
Version |
World |
Privilege
|
0.931.010-3.740.011 |
Non-secure |
Kernel
|
Libraries
Known NIDs
Types
#define SCE_KERNEL_PROCESS_CURRENT_PROCESS_BUDGET 0
#define SCE_KERNEL_PROCESS_FULL_GAME_PROCESS_BUDGET 2
#define SCE_KERNEL_PROCESS_SYSTEM_APPLICATION_PROCESS_BUDGET 3
typedef SceUInt32 SceProcessType;
#define SCE_PROCESS_TYPE_GAME 0x01000000
#define SCE_PROCESS_TYPE_MINI_APPLICATION 0x02000000
#define SCE_PROCESS_TYPE_SYSTEM_APPLICATION 0x04000000
#define SCE_PROCESS_TYPE_KERNEL 0x05000000
#define SCE_KERNEL_CPU_AFFINITY_FLAG_SYSTEM_CORE 0
#define SCE_KERNEL_CPU_AFFINITY_FLAG_ALL_USER 8
typedef struct SceKernelProcessInfo {
SceSize size;
SceUID pid;
SceUID addressSpaceId;
int unk_C;
int status;
SceUID ppid;
SceUID budgetId;
int cpuAffinity;
int unk_20;
SceUID modid;
void *entrypoint;
SceUInt32 process_type;
char name[0x20];
void *unk_50;
void *unk_54;
SceUID entryHeapId;
int unk_5C;
int unk_60;
int unk_64;
void *KPLS_slots[0x20];
} SceKernelProcessInfo;
typedef struct SceKernelProcessLibdb {
SceUID pid;
SceModuleLibraryExportInfo_t *lib_export_info;
SceUID data_0x08;
SceKernelModuleImportNonlinkedInfo_t *import_nonlinked_list;
SceKernelModuleInfoObjBase_t *module_list;
SceUID proc_main_module_id;
uint16_t proc_module_count;
uint16_t inhibit_state;
void *data_0x1C;
int cpu_addr;
} SceKernelProcessLibdb;
typedef struct SceKernelBudgetInfo {
SceSize size;
SceUID pid;
char name[0x20];
SceUInt32 num;
char name2[0x20];
char some_struct_B0[0xB0];
char unk[0x35C];
} SceKernelBudgetInfo;
typedef struct SceKernelProcessOpt {
SceSize size;
SceUInt32 unk_4;
SceUInt32 cpuAffinityMask;
SceUInt32 initPriority;
SceSize stackSize;
SceUInt32 unk_14;
SceUInt32 budgetId;
SceUInt32 unk_1C;
} SceKernelProcessOpt;
typedef struct SceKernelProcessOpt_2 {
SceSize size;
int attr;
int initPriority;
int unk_0x0C;
int unk_0x10;
int unk_0x14;
int budgetId;
SceUID ppid;
int unk_0x20;
SceAppMgrLaunchParam *unk_0x24;
const void *klicensee;
SceSize file_open_max_num;
SceSize dir_open_max_level;
int unk_0x34;
int unk_0x38;
int unk_0x3C;
} SceKernelProcessOpt_2;
typedef struct SceKernelBootParam {
SceUInt32 unk_0;
SceUInt32 cpuAffinityMask;
SceUInt32 initPriority;
SceSize stackSize;
SceUInt32 unk_10;
SceUInt32 budgetId;
SceUInt32 unk_1C;
} SceKernelBootParam;
typedef struct SceLibkernelAddresses {
SceSize size;
int (* sceKernelExitThread)(int a1);
int (* sceKernelExitDeleteThread)(int a1);
int (* _sceKernelExitCallback)();
void *unk_cb_0x10;
int *pStackGuard1;
int *pStackGuard2;
} SceLibkernelAddresses;
typedef unsigned long long SceKernelSysClock;
typedef struct _SceKernelCallbackListEntry {
struct _SceKernelCallbackListEntry* next;
SceUID callback_uid;
} SceKernelCallbackListEntry;
typedef struct _SceUIDProcessObject {
SceKernelObject* process_kobj;
uint32_t unk4;
uint32_t unk8;
void* breakpoints_ctx;
int unk10;
SceUID process_lock_sema;
SceUID process_event_flag;
SceUID event_lock_sema;
SceKernelSysClock some_time_20;
int cpu_intr;
int32_t unk2C;
int unk30;
int unk34;
int unk38;
unsigned unk3C;
SceProcessType process_type;
uint32_t process_creation_flags;
SceKernelObject* entry_heap_obj;
SceUID entry_heap_uid;
SceUID unk50;
uint32_t affinity_mask;
uint32_t unk58;
SceUID address_space_uid;
SceKernelObject* address_space_obj;
ScePID process_id;
ScePID parent_process_id;
SceUID main_thread_uid;
SceUID unk70;
void* partition_budget_thing;
SceUID partition_budget_thing_uid;
int32_t unk7C;
SceUID unique_heap_uid;
SceUID kpls_heap_uid;
SceUID CDialog_heap_uid;
SceUID tool_heap_uid;
SceUID kpls_memblock_uid;
int32_t unk94;
int32_t unk98;
SceKernelModuleProcInfo_t* proc_module_info;
int32_t unkA0;
int8_t random_data[0x10];
uint32_t unkA4;
SceSelfAuthInfo self_auth_info;
SceLoadProcessParam load_process_param;
SceUID stdin_guid;
SceUID stdout_guid;
SceUID stderr_guid;
SceUID tty7_guid;
SceUID stdin_puid;
SceUID stdout_puid;
SceUID stderr_puid;
SceUID tty7_puid;
int32_t unk1E4;
int32_t unk1E8;
int32_t unk1EC;
int32_t unk1F0;
int32_t unk1F4;
int32_t unk1F8;
int32_t unk1FC;
int unk200;
int32_t unk204;
void* KPLS_slots[0x20];
void* bkpt_ctx_field58;
int unk28C;
int unk290;
int32_t unk294;
int32_t unk298;
int32_t unk29C;
int32_t unk2A0;
int32_t unk2A4;
void* destruction_ll_next;
void* destruction_ll_prev;
int32_t unk2AC;
int32_t unk2B0;
int32_t unk2B4;
int32_t unk2BC;
uint32_t __stack_chk_guard;
SceKernelCallbackListEntry* process_delete_cb;
int unk2CC;
void *ptr2D0;
void *ptr2D4;
SceUInt32 unk2D8;
SceUInt32 unk2DC;
SceUInt32 unk2E0;
SceUInt32 unk2E4;
int8_t unk2E8;
int8_t unk2E9;
int8_t unk2EA;
int8_t unk2EB;
int8_t unk2EC;
int8_t unk2ED;
int8_t unk2EE;
int8_t unk2EF;
int8_t unk2F0[0x40];
SceUID unk330;
SceUID unk334;
SceUID unk338;
int32_t unk33C;
int32_t unk340;
int32_t unk344;
int32_t unk348;
int32_t unk34C;
SceUID unk350;
int32_t unk354;
int32_t unk358;
int32_t unk35C;
int32_t unk360;
int32_t unk364;
int32_t unk368;
int32_t unk36C;
int32_t unk370;
int32_t unk374;
int32_t unk378;
int32_t unk37C;
int32_t unk380;
int32_t unk384;
int32_t unk388;
int32_t unk38C;
int32_t unk390;
int32_t unk394;
int32_t unk398;
int32_t unk39C;
int32_t unk3A0;
int32_t unk3A4;
int32_t unk3A8;
int32_t unk3AC;
int32_t unk3B0;
int32_t unk3B4;
int32_t unk3B8;
int32_t unk3BC;
int32_t unk3C0;
int32_t unk3C4;
int32_t unk3C8;
int32_t unk3CC;
int32_t unk3D0;
int32_t unk3D4;
int32_t unk3D8;
int32_t unk3DC;
int32_t unk3E0;
int32_t unk3E4;
int32_t unk3E8;
int32_t unk3EC;
int32_t unk3F0;
int32_t unk3F4;
int32_t unk3F8;
SceUID unk3FC;
int32_t unk400;
uint32_t unk404;
int unk408;
int16_t unk40C;
int16_t unk40E;
uint32_t main_thread_fallback_affinity_mask;
void* pPPM0_area;
void* pPPM0_or_PPM1_area;
uint32_t unk41C;
uint32_t unk420;
uint32_t unk424;
uint32_t max_fh_count;
uint32_t max_dir_open_level;
int32_t unk430;
int32_t unk434;
struct _SceUIDProcessObjectListEntry {
struct _SceUIDProcessObjectListEntry* next;
struct _SceUIDProcessObjectListEntry* prev;
struct _ProcessResourceInfo {
SceUInt32 interrupt_mtx;
SceSize max_count;
SceSize cur_count;
SceSize highwater;
} process_resources[8];
char process_name[0x20];
} list_entry;
} SceUIDProcessObject;
typedef struct SceKernelTimeval {
SceInt32 sec;
SceInt32 usec;
} SceKernelTimeval;
typedef struct SceKernelTimezone {
SceUInt64 value;
} SceKernelTimezone;
SceProcessmgr
sceKernelLibcTime
Version |
NID
|
0.931.010-3.740.011 |
0x0039BE45
|
int sceKernelLibcTime(SceUInt32 *pTime);
sceKernelGetProcessTitleId
Version |
NID
|
0.931.010-1.50 |
not present
|
1.600.061-3.740.011 |
0x03A48771
|
sceKernelGetProcessName
Version |
NID
|
0.931.010-1.50 |
not present
|
1.600.061-3.740.011 |
0x10C52C95
|
sceKernelIsCDialogAvailable
Version |
NID
|
0.931.010-1.06 |
not present
|
1.500.151-3.740.011 |
0x143BC4D6
|
int sceKernelIsCDialogAvailable(void)
sceKernelPowerTick
Version |
NID
|
0.931.010 |
not present
|
0.940-3.740.011 |
0x2252890C
|
int sceKernelPowerTick(SceKernelPowerTickType type);
sceKernelGetProcessParam
Version |
NID
|
0.931.010 |
not present
|
0.940-3.740.011 |
0x2BE3E066
|
Gets the process' SceProcessParam.
SceProcessParam *sceKernelGetProcessParam(void);
_sceKernelGetTimer5Reg
Version |
NID
|
0.931.010-0.990 |
not present
|
1.000.071-3.65 |
0x2F73D72F
|
sceKernelPowerUnlock
Version |
NID
|
0.931.010-3.740.011 |
0x466C0CBD
|
int sceKernelPowerUnlock(SceKernelPowerTickType type);
sceKernelLibcGettimeofday
Version |
NID
|
0.931.010-3.740.011 |
0x4B879059
|
int sceKernelLibcGettimeofday(SceKernelTimeval *tv, SceKernelTimezone *tz);
_sceKernelRegisterExitAddress
Version |
NID
|
0.931.010-0.990 |
0x0278DFB7
|
1.000.071-3.740.011 |
not present
|
Used in SceLibKernel module_start.
int _sceKernelRegisterExitAddress(SceUIntUAddr psceKernelExitThread, SceUIntUAddr psceKernelExitDeleteThread, SceUIntUAddr psceKernelExitCallback);
_sceKernelRegisterLibkernelAddresses
Version |
NID
|
0.931.010-0.990 |
not present
|
1.000.071-3.740.011 |
0x56C2E8FF
|
int _sceKernelRegisterLibkernelAddresses(SceLibkernelAddresses *pAddresses);
sceKernelRegisterProcessTerminationCallback
Version |
NID
|
0.931.010-0.940 |
not present
|
0.990-3.740.011 |
0x5EC77870
|
SceInt32 sceKernelRegisterProcessTerminationCallback(SceUID pid, SceUID cbId);
sceKernelUnregisterProcessTerminationCallback
Version |
NID
|
0.931.010-0.940 |
not present
|
0.990-3.740.011 |
0x973A4527
|
SceInt32 sceKernelUnregisterProcessTerminationCallback(SceUID pid, SceUID cbId);
sceKernelPowerLock
Version |
NID
|
0.931.010-3.740.011 |
0x7AA73378
|
Lock the process something.
int sceKernelPowerLock(SceKernelPowerTickType type);
sceKernelGetProcessTimeWideCore
Version |
NID
|
0.931.010 |
not present
|
0.940-3.740.011 |
0x89DA0967
|
SceUInt64 sceKernelGetProcessTimeWideCore(void);
sceKernelLibcClock
Version |
NID
|
0.931.010 |
not present
|
0.940-3.740.011 |
0x9E45DA09
|
SceUInt64 sceKernelLibcClock(void);
_sceKernelExitProcessForUser
Version |
NID
|
0.931.010-3.740.011 |
0xC053DC6B
|
int _sceKernelExitProcessForUser(int status);
sceKernelGetStdin
Version |
NID
|
0.931.010-3.740.011 |
0xC1727F59
|
Returns the file descriptor of the current process stdin.
SceUID sceKernelGetStdin(void);
sceKernelGetCurrentProcess
Version |
NID
|
0.931.010-3.740.011 |
0xCD248267
|
Wrapper to sceKernelGetProcessIdForDriver.
Returns the process ID.
SceUID sceKernelGetCurrentProcess(void);
sceKernelIsGameBudget
Version |
NID
|
0.931.010-0.940 |
not present
|
0.990-3.740.011 |
0xCE0F02F0
|
SceBool sceKernelIsGameBudget(void);
sceKernelGetProcessTimeCore
Version |
NID
|
0.931.010 |
not present
|
0.940-3.740.011 |
0xD37A8437
|
int sceKernelGetProcessTimeCore(SceUInt64 *pTime);
sceKernelGetStdout
Version |
NID
|
0.931.010-3.740.011 |
0xE5AA625C
|
Returns the file descriptor of the current process stdout.
SceUID sceKernelGetStdout(void);
sceKernelGetRemoteProcessTime
Version |
NID
|
0.931.010 |
not present
|
0.940-3.740.011 |
0xE6E9FCA3
|
int sceKernelGetRemoteProcessTime(SceUID pid, SceUInt64 *pTime);
sceKernelCallAbortHandler
Version |
NID
|
0.931.010-0.990 |
not present
|
1.000.071-3.740.011 |
0xEB6E50BB
|
sceKernelGetProcessTimeLowCore
Version |
NID
|
0.931.010 |
not present
|
0.940-3.740.011 |
0xF5D0D4C6
|
int sceKernelGetProcessTimeLowCore(void);
sceKernelGetStderr
Version |
NID
|
0.931.010-3.740.011 |
0xFA5E3ADA
|
Returns the file descriptor of the current process stderr.
SceUID sceKernelGetStderr(void);
sceKernelCDialogSessionClose
Version |
NID
|
0.931.010-1.692.000 |
not present
|
1.800.071-3.740.011 |
0xDB4CC1D0
|
sceKernelCDialogSetLeaseLimit
Version |
NID
|
0.931.010-2.06 |
not present
|
2.100.081-3.740.011 |
0xEC8DDAAD
|
Version |
NID
|
0.931.010-1.692.000 |
not present
|
1.800.071-3.740.011 |
0x2D635A00
|
sceKernelLibcGmtime_r
Version |
NID
|
0.931.010-1.81 |
not present
|
2.000.081-3.740.011 |
0xBCA437CD
|
sceKernelLibcLocaltime_r
Version |
NID
|
0.931.010-1.81 |
not present
|
2.000.081-3.740.011 |
0x94F041ED
|
sceKernelLibcMktime
Version |
NID
|
0.931.010-1.81 |
not present
|
2.000.081-3.740.011 |
0x890BDC39
|
SceProcessmgr_AAE09BC5
Version |
NID
|
0.931.010 |
not present
|
0.940 |
0xAAE09BC5
|
1.000.071-3.740.011 |
not present
|
Calls SceSysmem#sceKernelPowerLockForDriver.
int SceProcessmgr_AAE09BC5(SceKernelPowerTickType type);
SceProcessmgr_B2BA89FD
Version |
NID
|
0.931.010 |
not present
|
0.940 |
0xB2BA89FD
|
1.000.071-3.740.011 |
not present
|
Calls SceSysmem#sceKernelPowerUnlockForDriver.
int SceProcessmgr_B2BA89FD(SceKernelPowerTickType type);
SceProcessmgrForDriver
SceProcessmgrForDriver_C5CF15ED
Version |
NID
|
3.60 |
0xC5CF15ED
|
Gets some info.
int SceProcessmgrForDriver_C5CF15ED(SceUInt32 index, void *info);
sceKernelGetSyscallTraceFlagForDriver
Version |
NID
|
3.60 |
0x54D469E2
|
This is a guessed name.
Get current process syscallTraceFlag.
int sceKernelGetSyscallTraceFlagForDriver(SceUInt32 *value);
sceKernelAllocOwnProcessCDialogHeapForDriver
Version |
NID
|
3.60 |
0x3B33FFBA
|
This is a guessed name.
void *sceKernelAllocOwnProcessCDialogHeapForDriver(SceSize length, void *opt);
SceProcessmgrForDriver_1C70501E
Version |
NID
|
3.60 |
0x1C70501E
|
sceKernelFreeOwnProcessCDialogHeapForDriver
Version |
NID
|
3.60 |
0x11BEFBBE
|
This is a guessed name.
int sceKernelFreeOwnProcessCDialogHeapForDriver(ScePVoid ptr);
sceKernelGetProcessInfoListForDriver
Version |
NID
|
3.60-3.65 |
0xE8005AFC
|
This is a guessed name.
Except if pid == KERNEL_PID.
Wrapper to internal_subroutine(visibilityLevel, pVec, vecSize, puiNum, 0);
.
int sceKernelGetProcessInfoListForDriver(SceUInt32 visibilityLevel, SceKernelProcessInfo* pVec, SceSize vecSize, SceUInt32* puiNum);
sceKernelGetProcessInfoList2ForDriver
Version |
NID
|
3.60-3.65 |
0xBA0A06A4
|
This is a guessed name.
Even if pid == KERNEL_PID.
Wrapper to internal_subroutine(visibilityLevel, pVec, vecSize, puiNum, 1);
.
int sceKernelGetProcessInfoList2ForDriver(SceUInt32 visibilityLevel, SceKernelProcessInfo* pVec, SceSize vecSize, SceUInt32* puiNum);
sceKernelGetBudgetInfoForDriver
Version |
NID
|
3.60-3.65 |
0x46221964
|
Information size is 0x88 bytes.
int sceKernelGetBudgetInfoForDriver(SceUID pid, void *pInfo);
sceKernelRegisterGetProcessTimeFuncForDriver
Version |
NID
|
3.60-3.65 |
0x4140D633
|
This is a guessed name.
typedef struct SceProcessTimeFuncTable {
SceSize size;
void* _sceRtcGetCurrentTick;
void* sceKernelLibcTime;
void* sceKernelLibcGettimeofday;
void* sceKernelLibcGmtime_r;
void* sceKernelLibcLocaltime_r;
void* sceKernelLibcMktime;
void* sceRtcGetCurrentTick;
void* sceRtcGetCurrentSecureTick;
} SceProcessTimeFuncTable;
int sceKernelRegisterGetProcessTimeFuncForDriver(const SceProcessTimeFuncTable *pTable);
sceKernelProcessRngForDriver
Version |
NID
|
0.990 |
not present
|
3.60-3.65 |
0x2CEB1C7A
|
This is a guessed name.
Cleans process memory in range with pseudo random values. Both address and length must be aligned on 4 bytes (DWORD size). Uses SceSysmem#sceXorshift128ForDriver to update each DWORD in range.
int sceKernelProcessRngForDriver(SceUID pid, void *dst, SceSize length);
sceKernelIsProcessCoredumpHandlerRegisteredForDriver
Version |
NID
|
3.60-3.65 |
0xA1CF74FA
|
This is a guessed name.
int sceKernelIsProcessCoredumpHandlerRegisteredForDriver(SceUID pid);
sceKernelCallCoredumpHandlerForDriver
Version |
NID
|
3.60-3.65 |
0xB559410A
|
Temp name was sceKernelInvokeProcessCoredumpHandlerForDriver.
int sceKernelCallCoredumpHandlerForDriver(SceUID pid);
SceProcessmgrForDriver_879153D9
Version |
NID
|
3.60-3.65 |
0x879153D9
|
Maybe get model bool param.
int SceProcessmgrForDriver_879153D9(SceUID pid, SceUInt32 a2);
SceProcessmgrForDriver_E1A67C86
Version |
NID
|
3.60-3.65 |
0xE1A67C86
|
Maybe get some count.
Related to display?
int SceProcessmgrForDriver_E1A67C86(SceUID pid, SceUInt32 *a2);
sceKernelGetProcessActiveTimeForDriver
Version |
NID
|
3.60-3.65 |
0x5BDA978F
|
This is a guessed name.
int sceKernelGetProcessActiveTimeForDriver(SceUID pid, SceUInt64 *pTime);
SceProcessmgrForDriver_8CB01675
Version |
NID
|
3.60-3.65 |
0x8CB01675
|
int SceProcessmgrForDriver_8CB01675(SceUID pid, SceUInt64 *time, SceUInt64 src_time);
sceKernelSetProcessTerminatedHandlerForDriver
Version |
NID
|
0.990-3.65 |
0x5E882B60
|
This is a guessed name.
Set Process Terminated callback. Used by SceAppMgr.
int sceKernelSetProcessTerminatedHandlerForDriver(void (* cb)(int a1, int a2));
sceKernelGetCurrentProcessIdForDriver
Version |
NID
|
0.931 |
0x3D4C250E
|
3.60-3.65 |
not present
|
Returns the current process ID.
Wrapper for SceKernelThreadMgr sceKernelGetProcessIdForKernel.
SceUID sceKernelGetCurrentProcessIdForDriver(void);
sceKernelAllocOwnProcessHeapForDriver
Version |
NID
|
0.931-3.65 |
0x5468892A
|
void *sceKernelAllocOwnProcessHeapForDriver(SceSize size, SceKernelHeapMemoryOpt *pOpt);
sceKernelAllocRemoteProcessHeapForDriver
Version |
NID
|
0.931-3.65 |
0x00B1CA0F
|
void *sceKernelAllocRemoteProcessHeapForDriver(SceUID pid, SceSize size, SceKernelHeapMemoryOpt *pOpt);
sceKernelFreeCurrentProcessHeapForDriver
Version |
NID
|
0.931-3.65 |
0xFC2A424E
|
int sceKernelFreeCurrentProcessHeapForDriver(void *ptr);
sceKernelFreeRemoteProcessHeapForDriver
Version |
NID
|
0.931-3.65 |
0x9C28EA9A
|
int sceKernelFreeRemoteProcessHeapForDriver(SceUID pid, void *ptr);
sceKernelGetProcessInfoForDriver
Version |
NID
|
0.931-3.68 |
0x0AFF3EAE
|
Retrieves process information.
int sceKernelGetProcessInfoForDriver(SceUID pid, SceKernelProcessInfo *pInfo);
sceKernelGetProcessStatusForDriver
Version |
NID
|
0.931-3.65 |
0x65B120B8
|
This function queries the status of a given process. It seems that 0x10 is related to suspension status.
int sceKernelGetProcessStatusForDriver(SceUID pid, SceUInt32 *pStatus);
sceKernelSetProcessStatusForDriver
Version |
NID
|
0.931-3.65 |
0x1D0F3185
|
int sceKernelSetProcessStatusForDriver(SceUID pid, SceUInt32 status);
sceKernelIsProcessSuspendingForDriver
Version |
NID
|
0.931-3.65 |
0x0CC5B30C
|
Return whether the process is suspending or not.
int sceKernelIsProcessSuspendingForDriver(SceUID pid);
sceKernelGetProcessTimeLowCoreForDriver
Version |
NID
|
3.60-3.65 |
0x02179E12
|
SceUInt32 sceKernelGetProcessTimeLowCoreForDriver(void);
sceKernelGetProcessTimeWideCoreForDriver
Version |
NID
|
3.60-3.65 |
0x82D94BE9
|
SceUInt64 sceKernelGetProcessTimeWideCoreForDriver(void);
sceKernelGetProcessTimeCoreForDriver
Version |
NID
|
3.60-3.65 |
0xEC283166
|
int sceKernelGetProcessTimeCoreForDriver(SceUInt64 *pTime);
sceKernelRegisterKPLSForDriver
Version |
NID
|
0.940-3.65 |
0x3801D7D6
|
Temp name was sceKernelCreateProcessLocalStorageForDriver.
Returns allocated KPLS' key on success. Up to 32 KPLS keys can be created.
int sceKernelRegisterKPLSForDriver(const char *name, SceSize size);
sceKernelGetCurrentKPLSForDriver
Version |
NID
|
0.990-3.65 |
0xEE694840
|
Temp name was sceKernelGetProcessLocalStorageAddrForDriver.
void *sceKernelGetCurrentKPLSForDriver(int key);
sceKernelGetRemoteKPLSForDriver
Version |
NID
|
0.931-3.68 |
0xAF80F39C
|
Temp name was sceKernelGetProcessLocalStorageAddrForPidForDriver.
This functions gets Remote Kernel Process Local Storage.
int sceKernelGetRemoteKPLSForDriver(SceUID pid, SceUInt32 key, void **kpls_addr, SceBool force_create);
sceKernelGetRemoteProcessTimeForDriver
Version |
NID
|
3.60-3.65 |
0xC074EB31
|
int sceKernelGetRemoteProcessTimeForDriver(SceUID pid, SceUInt64 *pTime);
sceKernelIsCDialogAvailableForDriver
Version |
NID
|
3.60 |
0x2F6020B7
|
int sceKernelIsCDialogAvailableForDriver(void)
sceKernelIsGameBudgetForDriver
Version |
NID
|
3.60-3.65 |
0xF7A8BB25
|
int sceKernelIsGameBudgetForDriver(void);
sceKernelHasBusyProcessForDriver
Version |
NID
|
0.931.010-1.06 |
not present
|
1.500.151-3.740.011 |
0xC715591F
|
This is a guessed name.
Returns SCE_TRUE if there exists at least one usermode process that is busy, else returns SCE_FALSE.
Called by "sceProcessMgrLaunchAppFor" ?to check?. Called before system suspend.
SceBool sceKernelHasBusyProcessForDriver(void);
sceKernelGetCompiledSdkVersionByPidForDriver
Version |
NID
|
3.60-3.65 |
0xD141C076
|
int sceKernelGetCompiledSdkVersionByPidForDriver(SceUID pid, SceUInt32 *puiSdkVer);
sceKernelRegisterCoredumpHandlerForDriver
Version |
NID
|
3.60-3.65 |
0x21A6F0EC
|
int sceKernelRegisterCoredumpHandlerForDriver(void *handler, SceSize size, void *memblock_addr);
sceKernelUnregisterCoredumpHandlerForDriver
Version |
NID
|
3.60-3.65 |
0x33B3D026
|
int sceKernelUnregisterCoredumpHandlerForDriver(void);
sceKernelSetSyscallTraceFlagForDriver
Version |
NID
|
3.60-3.65 |
0x24FA97A5
|
int sceKernelSetSyscallTraceFlagForDriver(SceUID pid, int flag);
sceKernelAllocRemoteCDialogHeapForDriver
Version |
NID
|
3.60-3.65 |
0x8A85FA28
|
void *sceKernelAllocRemoteCDialogHeapForDriver(SceUID pid, SceSize length, void *opt);
sceKernelFreeRemoteCDialogHeapForDriver
Version |
NID
|
3.60-3.65 |
0xDD0A58D1
|
int sceKernelFreeRemoteCDialogHeapForDriver(SceUID pid, void *ptr);
sceKernelGetProcessResourceLimitForDriver
Version |
NID
|
3.60-3.65 |
0xB80DBD53
|
int sceKernelGetProcessResourceLimitForDriver(SceUID pid, void *result);
sceKernelSetInitialPMCRForDriver
Version |
NID
|
3.60-3.65 |
0x61B9B6FA
|
Temp name was sceKernelSetProcessPMCRForDriver.
int sceKernelSetInitialPMCRForDriver(SceUID pid, SceUInt32 value);
sceKernelGetPMCRForDriver
Version |
NID
|
3.60 |
0x594319C7
|
This is a guessed name. Temp name was sceKernelGetProcessPMCRForDriver.
int sceKernelGetPMCRForDriver(SceUID pid);
sceKernelSetInitialPMUSERENRForDriver
Version |
NID
|
3.60-3.65 |
0xB1C3EFCA
|
int sceKernelSetInitialPMUSERENRForDriver(SceUID pid, SceUInt32 value);
sceKernelSetPMUSERENRForDriver
Version |
NID
|
3.60-3.65 |
0x6599E5D9
|
int sceKernelSetPMUSERENRForDriver(SceUID pid, SceUInt32 value);
SceProcessmgrForKernel
sceKernelChangeProcessCpuAffinityForKernel
Version |
NID
|
3.60 |
0x0A60B40A
|
3.65 |
0xF013B7F1
|
sceKernelEnablePHWPForKernel
Version |
NID
|
3.60 |
0x20174234
|
3.65 |
0x9DF739C7
|
sceKernelDisablePHWPForKernel
Version |
NID
|
3.60 |
0x62D048D2
|
3.65 |
0xA2EE1B7F
|
sceKernelGrowBudgetForKernel
Version |
NID
|
0.940-3.60 |
0x029378AC
|
3.65 |
0x48DD3348
|
SceInt32 sceKernelGrowBudgetForKernel(SceInt32 budgetId, SceInt32 idx, SceSize size);
sceKernelGetPhyMemPartForKernel
Version |
NID
|
3.60 |
0xCCB4289B
|
3.65 |
0x923AF3CC
|
void *sceKernelGetPhyMemPartForKernel(SceUInt32 type);
sceKernelCreateProcessForKernel
Version |
NID
|
0.931-3.60 |
0x71CF71FD
|
3.65 |
0x68068618
|
Temp name was sceKernelLaunchAppForKernel.
Loads the ProcessImage after preparing the process's stuff (ProcCB, Budget, AddressSpace) then opens the tty console.
SceUID sceKernelCreateProcessForKernel(const char* name, SceKernelProcessType type, const char *path, SceKernelProcessOpt *pOpt);
sceKernelStartProcessForKernel
Version |
NID
|
0.931-3.60 |
0x38FB7BCA
|
3.65 |
0x5137B783
|
int sceKernelStartProcessForKernel(SceUID pid, SceKernelProcessType type, SceSize argSize, const void *pArgBlock);
sceKernelStartProcessExtForKernel
Version |
NID
|
0.990-3.60 |
0x36728B16
|
3.65 |
0x026F3E87
|
Temp name was sceKernelStartProcess2ForKernel.
Used by SceAppMgr
int sceKernelStartProcessExtForKernel(SceUID pid, SceKernelProcessType type, SceSize argSize, const void *pArgBlock, uint32_t flags);
sceKernelSpawnProcessForKernel
Version |
NID
|
0.931-3.60 |
0x31834C49
|
3.65 |
0x1E5B38E5
|
Calls sceKernelCreateProcessForKernel then sceKernelStartProcessForKernel.
SceUID sceKernelSpawnProcessForKernel(const char *name, SceKernelProcessType type, const char *path, SceSize argSize, const void *pArgBlock, SceKernelProcessOpt *pOpt);
sceKernelSpawnProcessExtForKernel
Version |
NID
|
0.990-3.60 |
0x8F320D2B
|
3.65 |
0x5A57766C
|
Calls sceKernelCreateProcessForKernel then sceKernelStartProcessExtForKernel.
SceUID sceKernelSpawnProcessExtForKernel(const char *name, SceKernelProcessType type, const char *path, SceSize argSize, const void *pArgBlock, SceKernelProcessOpt *pOpt, SceUInt32 flags);
sceKernelUIDtoProcessForKernel
Version |
NID
|
0.931-3.60 |
0xB9E68092
|
3.65 |
0xD991C85E
|
Temp name was sceKernelGetProcessKernelBufForKernel.
Gets the process object associated to a PID.
SceUIDProcessObject* sceKernelUIDtoProcessForKernel(ScePID pid);
sceKernelGetProcessMainThreadForDebuggerForKernel
Version |
NID
|
0.931-3.60 |
0x95F9ED94
|
3.65 |
0xD20553C6
|
Temp name was sceKernelGetProcessMainThreadForKernel.
SceUID sceKernelGetProcessMainThreadForDebuggerForKernel(SceUID pid);
sceKernelProcessSuspendForLoadpForKernel
Version |
NID
|
0.931 |
0x3EC5FDF4
|
3.60-3.74 |
not present
|
int sceKernelProcessSuspendForLoadpForKernel(SceUID pid);
sceKernelProcessDebugSuspendForKernel
Version |
NID
|
0.990-3.60 |
0x6AECE4CD
|
3.65 |
0x93B8E785
|
Temp name was sceKernelSuspendProcessForKernel.
int sceKernelProcessDebugSuspendForKernel(SceUID pid, int status);
sceKernelProcessDebugResumeForKernel
Version |
NID
|
0.990-3.60 |
0x080CDC59
|
3.65 |
0x6894499C
|
Temp name was sceKernelResumeProcessForKernel.
int sceKernelProcessDebugResumeForKernel(SceUID pid);
sceKernelResumeProcessForDebuggerForKernel
Version |
NID
|
0.931-3.60 |
0xB13E3C7B
|
3.65 |
0x8FB7FD50
|
int sceKernelResumeProcessForDebuggerForKernel(SceUID pid);
sceKernelResumeProcessForKernel
Version |
NID
|
0.931-3.60 |
0xE0A9C9C4
|
3.65 |
0xEFBCF15B
|
int sceKernelResumeProcessForKernel(SceUID pid);
sceKernelExitProcessForKernel
Version |
NID
|
0.990-3.60 |
0x4CA7DC42
|
3.65 |
0x905621F9
|
int sceKernelExitProcessForKernel(int status);
sceKernelSetProcessSelfAuthInfoForKernel
Version |
NID
|
0.931.010-2.120.011 |
0x5ABA2772
|
2.500.071-3.740.011 |
not present
|
int sceKernelSetProcessSelfAuthInfoForKernel(SceUID pid, SceSelfAuthInfo *self_auth_info);
sceKernelGetProcessSelfAuthInfoForKernel
Version |
NID
|
0.931-3.60 |
0xE4C83B0D
|
3.65 |
0x324F2B20
|
Temp name was sceKernelGetProcessAuthidForKernel.
SceSelfAuthInfo
type is described in SceSblSsSmComm#Types.
int sceKernelGetProcessSelfAuthInfoForKernel(SceUID pid, SceSelfAuthInfo *self_auth_info);
sceKernelLibcTimeForKernel
Version |
NID
|
3.60 |
0x9E38C556
|
3.65 |
0xB0E076D6
|
sceKernelLibcGettimeofdayForKernel
Version |
NID
|
3.60 |
0xDE8B8B5E
|
3.65 |
0x014F5113
|
sceKernelGetCurrentTickForKernel
Version |
NID
|
3.60 |
0xD17D6110
|
3.65 |
0xD231AE5B
|
This is a guessed name.
_sceKernelGetCurrentTickForKernel
Version |
NID
|
3.60 |
0xACBAAB10
|
3.65 |
0x3EBC93BB
|
This is a guessed name.
sceKernelGetUIDProcessClassForKernel
Version |
NID
|
3.60 |
0xC6820972
|
3.65 |
0x98AE4BC8
|
Temp name was sceKernelGetClassForUid2ForKernel, sceKernelGetProcessClassForKernel.
SceClass *sceKernelGetUIDProcessClassForKernel(void);
sceKernelKillProcessForDebuggerForKernel
Version |
NID
|
0.931-3.60 |
0x90C27779
|
3.65 |
0x148E23E3
|
int sceKernelKillProcessForDebuggerForKernel(SceUID pid);
sceKernelKillProcessForKernel
Version |
NID
|
0.931-3.60 |
0xA1071106
|
3.65 |
0xF388F05C
|
int sceKernelKillProcessForKernel(SceUID pid, SceInt32 option);
sceKernelGetMMUL1InfoForKernel
Version |
NID
|
0.931-0.990 |
0xC526C6F2
|
3.60-3.74 |
not present
|
int sceKernelGetMMUL1InfoForKernel(SceUID pid, const void *addr, void *pInfo);
sceKernelGetMMUL2InfoForKernel
Version |
NID
|
0.931 |
0xE2681221
|
3.60-3.74 |
not present
|
int sceKernelGetMMUL2InfoForKernel(SceUID pid, const void *addr, void *pInfo);
sceKernelWaitProcessEndForKernel
Version |
NID
|
0.931-3.60 |
0x0EE2658E
|
3.65 |
0x0B9BE51B
|
int sceKernelWaitProcessEndForKernel(SceUID pid, int *pResult, SceUInt32 *pTimeout);
sceKernelWaitProcessEventCompletionForKernel
Version |
NID
|
3.60 |
0x6A7FF80A
|
3.65 |
0x0F23A5ED
|
sceKernelGetPHWPForKernel
Version |
NID
|
0.931-3.60 |
0xC55BF6C3
|
3.65 |
0x6898F7A7
|
int sceKernelGetPHWPForKernel(SceUID pid, SceUInt32 a2, int *a3, int *a4);
sceKernelSetPHWPForKernel
Version |
NID
|
0.931-3.60 |
0x54D7B16A
|
3.65 |
0xB2421F93
|
int sceKernelSetPHWPForKernel(SceUID pid, int a2, int a3, int a4);
sceKernelGetPHBPForKernel
Version |
NID
|
0.931-3.60 |
0xA9C20202
|
3.65 |
0x060DA466
|
int sceKernelGetPHBPForKernel(SceUID pid, SceUInt32 a2, int *a3, int *a4);
sceKernelSetPHBPForKernel
Version |
NID
|
0.931-3.60 |
0x59FA3216
|
3.65 |
0x597E6D2C
|
int sceKernelSetPHBPForKernel(SceUID pid, int a2, int a3, int a4);
sceKernelGetProcessAppForKernel
Version |
NID
|
0.931-3.60 |
0x34FA9645
|
3.65 |
0xE5097B4F
|
int sceKernelGetProcessAppForKernel(SceUID pid);
sceKernelGetProcessParentIdForKernel
Version |
NID
|
0.931-3.60 |
0x3C4D2889
|
3.65 |
0xA5E55217
|
Returns the parent process's PID.
ScePID sceKernelGetProcessParentIdForKernel(SceUID pid);
sceKernelSuspendProcessForDebuggerForKernel
Version |
NID
|
0.931-3.60 |
0x234A80B6
|
3.65 |
0x4232517A
|
int sceKernelSuspendProcessForDebuggerForKernel(SceUID pid);
sceKernelSuspendProcessForKernel
Version |
NID
|
0.931-3.60 |
0xCF83C23B
|
3.65 |
0x1400A1F8
|
int sceKernelSuspendProcessForKernel(SceUID pid);
int sceKernelSuspendProcessForKernel(SceUID pid, int status, int *pTimeout);
sceKernelGetProcessImageForDebuggerForKernel
Version |
NID
|
0.931-0.990 |
0xCF71D9DD
|
3.60-3.74 |
not present
|
Returns Process Image on success.
void *sceKernelGetProcessImageForDebuggerForKernel(SceUID pid);
sceKernelProcessAppendForKernel
Version |
NID
|
0.931-0.990 |
0xC4E349D5
|
3.60-3.74 |
not present
|
int sceKernelProcessAppendForKernel(SceUID pid1, SceUID pid2);
sceKernelProcessAssocAppForKernel
Version |
NID
|
0.931-3.60 |
0x76C89783
|
3.65 |
0x00DBA872
|
int sceKernelProcessAssocAppForKernel(SceUID pid, int unk_in);
sceKernelCreateBudgetForKernel
Version |
NID
|
0.931-3.60 |
0x05F74BAF
|
3.65 |
0xDC18FCEF
|
typedef struct SceKernelBudgetOpt {
SceSize size;
SceBool unk_4;
SceSize ddrmain_size;
SceSize main_size;
SceSize cdialog_size;
SceSize cdram_size;
} SceKernelBudgetOpt;
int sceKernelCreateBudgetForKernel(const char *appName, SceUInt32 process_type, SceKernelBudgetOpt *pOpt);
sceKernelDeleteBudgetForKernel
Version |
NID
|
0.931-3.60 |
0xE5A60577
|
3.65 |
0x459A223B
|
Delete budget for the current process.
int sceKernelDeleteBudgetForKernel(SceUInt32 budget);
sceKernelGetBudgetInfoForDebuggerForKernel
Version |
NID
|
0.990-3.60 |
0xF3C4A83B
|
3.65 |
0xCF9EC344
|
Uses SceSysmem#SceSysmemForKernel_54E85275 to get a 0xB0 bytes buffer.
int sceKernelGetBudgetInfoForDebuggerForKernel(SceUID budgetId, SceUInt32 level, SceKernelBudgetInfo *pInfo);
sceKernelGetProcessLibdbForKernel
Version |
NID
|
1.03-2.06 |
not present
|
2.10-3.61 |
0xC1C91BB2
|
3.65 |
0x3AF6B088
|
Temp name was sceKernelGetProcessModuleInfoForKernel.
SceKernelProcessLibdb* sceKernelGetProcessLibdbForKernel(SceUID pid);
sceKernelSetProcessLibdbForKernel
Version |
NID
|
2.10-3.60 |
0x7D8D7885
|
3.65 |
0x72F25C14
|
Temp name was sceKernelSetProcessModuleInfoForKernel.
int sceKernelSetProcessLibdbForKernel(SceUID pid, SceKernelProcessLibdb *pLibdb);
SceProcessmgrForKernel_B75FB970
Version |
NID
|
0.931.010-2.120.011 |
not present
|
2.500.071-3.610.011 |
0xB75FB970
|
3.630.000-3.740.011 |
0x8B4086AF
|
Increments Process UID Reference List counter.
Theoretically, it seems that up to 159 or 160 modules can be loaded.
int SceProcessmgrForKernel_B75FB970(SceUID pid, SceBool unk_bool);
SceProcessmgrForKernel_0A5A2CF1
Version |
NID
|
0.931.010-2.120.011 |
not present
|
2.500.071-3.610.011 |
0x0A5A2CF1
|
3.630.000-3.740.011 |
0xF160B4D8
|
Decrements Process UID Reference List counter.
int SceProcessmgrForKernel_0A5A2CF1(SceUID pid, SceBool unk_bool);
sceKernelGetProcessTypeForKernel
Version |
NID
|
0.990 |
not present
|
3.60 |
0x2ABFB6C1
|
3.65 |
0xB631C93B
|
Temp name was sceKernelGetProcessBudgetTypeForKernel.
SceProcessType sceKernelGetProcessTypeForKernel(SceUID pid);
sceKernelAllocRemoteToolHeapForKernel
Version |
NID
|
0.940-1.50 |
not present
|
3.60 |
0x3C5E2F08
|
3.65 |
0x51AF6FE6
|
Temp name was sceKernelAllocRemoteToolHeapMemoryForKernel, sceKernelProcessAllocKernelBudgetHeapMemoryForKernel.
Requires DIP switch 210. Allocates memory in target process' "tool" heap. Free memory with sceKernelFreeRemoteToolHeapForKernel.
void* sceKernelAllocRemoteToolHeapForKernel(SceUID pid, SceSize size);
sceKernelFreeRemoteToolHeapForKernel
Version |
NID
|
0.990 |
not present
|
3.60 |
0x41815DF2
|
3.65 |
0x2755CEDD
|
Temp name was sceKernelFreeRemoteToolHeapMemoryForKernel, sceKernelFreeRemoteProcessKernelHeapForKernel.
Requires DIP switch 210. Frees memory allocated with sceKernelAllocRemoteToolHeapMemoryForKernel.
SceInt32 sceKernelFreeRemoteToolHeapForKernel(SceUID pid, void* addr);
sceKernelGetProcessAddressSpaceForKernel
Version |
NID
|
0.931-3.60 |
0xC77C2085
|
3.65 |
0x9BC44974
|
This is a guessed name.
Returns specified process' Address Space object UID.
SceUID sceKernelGetProcessAddressSpaceForKernel(SceUID pid);
sceKernelResetGameBudgetForKernel
Version |
NID
|
3.60 |
0x15A93CD2
|
3.65 |
0x56657302
|
SceProcessmgrForKernel_E7174A8D
Version |
NID
|
3.60 |
0xE7174A8D
|
3.65 |
0x23EF9D8E
|
SceProcessmgrForKernel_381818A1
Version |
NID
|
3.60 |
0x381818A1
|
3.65 |
0xBC110987
|
SceProcessmgrForKernel_9321D0E5
Version |
NID
|
3.60 |
0x9321D0E5
|
3.65 |
0x9FA66773
|
SceProcessmgrForKernel_B7C91F6C
Version |
NID
|
3.60 |
0xB7C91F6C
|
3.65 |
0xDDE282CF
|
SceProcessmgrForKernel_1423FA86
Version |
NID
|
3.60 |
0x1423FA86
|
3.65 |
0xE025F5A9
|
Gets the value set by #SceProcessmgrForKernel_915AB8D6.
SceProcessmgrForKernel_915AB8D6
Version |
NID
|
3.60 |
0x915AB8D6
|
3.65 |
0xFC80A606
|
Sets a value to ProcessCB->data_0x288.
SceProcessmgrForKernel_89A0A910
Version |
NID
|
3.60 |
0x89A0A910
|
3.65 |
0x6DEC45C3
|
Gets the value set by #SceProcessmgrForKernel_F7FFECF3.
SceProcessmgrForKernel_F7FFECF3
Version |
NID
|
3.60 |
0xF7FFECF3
|
3.65 |
0x1197DB8A
|
SceProcessmgrForKernel_8729DE79
Version |
NID
|
3.60 |
0x8729DE79
|
3.65 |
0x344DDE0B
|
Calls SceSysmem#SceSysrootForDriver_51F9C118 and SceSysmem#SceSysrootForDriver_582616EC.
sceKernelGetProcessIdListForKernel
Version |
NID
|
3.60 |
0xC031BFE0
|
3.65 |
0xEFFF2975
|
This is a guessed name.
Wrapper to internal_subroutine(visibilityLevel, pVec, vecSize, puiNum, 2);
.
int sceKernelGetProcessIdListForKernel(SceUInt32 visibilityLevel, SceUID* pVec, SceSize vecSize, SceUInt32* puiNum);
SceProcessmgrForKernel_5AC72C5A
Version |
NID
|
3.60 |
0x5AC72C5A
|
3.65 |
0xD5DF895D
|
Same as #SceProcessmgrForKernel_C7E75A8C but signals sema instead of waiting sema.
SceProcessmgrForKernel_C7E75A8C
Version |
NID
|
3.60 |
0xC7E75A8C
|
3.65 |
0x8321B827
|
Same as #SceProcessmgrForKernel_5AC72C5A but waits sema instead of signaling sema.