SceProcessmgr

From Vita Development Wiki
Jump to navigation Jump to search

Module

Known NIDs

Version Name World Privilege NID
1.69 SceProcessmgr Non-secure Kernel 0xF019E1DA
3.57 SceProcessmgr Non-secure Kernel 0x19A9C477
3.60 SceProcessmgr Non-secure Kernel 0x8B8A6263

Libraries

Known NIDs

Version Name World Visibility NID
1.69 SceProcessmgr Non-secure User 0x2DD91812
3.60 SceProcessmgr ? User 0x2DD91812
1.69 SceProcessmgrForDriver Non-secure Kernel 0x746EC971
3.60 SceProcessmgrForDriver ? Kernel 0x746EC971
1.69 SceProcessmgrForKernel Non-secure Kernel 0x7A69DE86
3.60 SceProcessmgrForKernel ? Kernel 0x7A69DE86

SceProcessmgr

sceKernelLibcTime

Version NID
1.69 0x0039BE45
3.60 0x0039BE45

sceKernelGetProcessTitleId

Version NID
1.69 0x03A48771
3.60 0x03A48771

sceKernelGetProcessName

Version NID
1.69 0x10C52C95
3.60 0x10C52C95

sceKernelIsCDialogAvailable

Version NID
1.69 0x143BC4D6
3.60 0x143BC4D6

sceKernelPowerTick

Version NID
1.69 0x2252890C
3.60 0x2252890C

sceKernelGetProcessParam

Version NID
1.69 0x2BE3E066
3.60 0x2BE3E066

_sceKernelGetTimer5Reg

Version NID
1.69 0x2F73D72F
3.60 0x2F73D72F

sceKernelPowerUnlock

Version NID
1.69 0x466C0CBD
3.60 0x466C0CBD

sceKernelLibcGettimeofday

Version NID
1.69 0x4B879059
3.60 0x4B879059

_sceKernelRegisterLibkernelAddresses

Version NID
1.69 0x56C2E8FF
3.60 0x56C2E8FF

sceKernelRegisterProcessTerminationCallback

Version NID
1.69 0x5EC77870
3.60 0x5EC77870

sceKernelPowerLock

Version NID
1.69 0x7AA73378
3.60 0x7AA73378

sceKernelGetProcessTimeWideCore

Version NID
1.69 0x89DA0967
3.60 0x89DA0967

sceKernelUnregisterProcessTerminationCallback

Version NID
1.69 0x973A4527
3.60 0x973A4527

sceKernelLibcClock

Version NID
1.69 0x9E45DA09
3.60 0x9E45DA09

_sceKernelExitProcessForUser

Version NID
1.69 0xC053DC6B
3.60 0xC053DC6B

sceKernelGetStdin

Version NID
1.69 0xC1727F59
3.60 0xC1727F59

sceKernelGetCurrentProcess

Version NID
1.69 0xCD248267
3.60 0xCD248267

Wrapper to sceKernelGetProcessIdForDriver.

Returns the process ID.

SceUID sceKernelGetCurrentProcess(void);

sceKernelIsGameBudget

Version NID
1.69 0xCE0F02F0
3.60 0xCE0F02F0

sceKernelGetProcessTimeCore

Version NID
1.69 0xD37A8437
3.60 0xD37A8437

sceKernelGetStdout

Version NID
1.69 0xE5AA625C
3.60 0xE5AA625C

sceKernelGetRemoteProcessTime

Version NID
1.69 0xE6E9FCA3
3.60 0xE6E9FCA3

sceKernelCallAbortHandler

Version NID
1.69 0xEB6E50BB
3.60 0xEB6E50BB

sceKernelGetProcessTimeLowCore

Version NID
1.69 0xF5D0D4C6
3.60 0xF5D0D4C6

sceKernelGetStderr

Version NID
1.69 0xFA5E3ADA
3.60 0xFA5E3ADA

sceKernelCDialogSessionClose

Version NID
3.60 0xDB4CC1D0

sceKernelCDialogSetLeaseLimit

Version NID
3.60 0xEC8DDAAD

sceKernelGetExtraTty

Version NID
3.60 0x2D635A00

sceKernelLibcGmtime_r

Version NID
3.60 0xBCA437CD

sceKernelLibcLocaltime_r

Version NID
3.60 0x94F041ED

sceKernelLibcMktime

Version NID
3.60 0x890BDC39

SceProcessmgrForDriver

sceKernelGetProcessInfoForDriver

Version NID
3.35-3.68 0x0AFF3EAE

Retrieves process info.

typedef struct SceKernelProcessInfo {
	SceSize size;           //!< size of this struct, make sure it's 0xE8
	SceUID pid;             //!< our process ID
	int unk1;
	int unk2;
	int unk3;
	SceUID ppid;            //!< parent process ID
	int unk[0xE8 / 4 - 6];  //!< the rest is unknown
} SceKernelProcessInfo;

int sceKernelGetProcessInfoForDriver(SceUID pid, SceKernelProcessInfo *info);

sceKernelGetProcessStatusForDriver

Version NID
3.60 0x65B120B8

This function queries the status of a given process. Davee is unsure what exactly the bits represent. It seems 0x10 is related to suspension status, but he's not confident in that assumption.

/**
 * @brief       Get the status of a given process.
 * @param[in]   pid The process ID to query.
 * @param[out]  status The bit field status of the process.
 * @return      Zero on success, < 0 on error.
 */
int sceKernelGetProcessStatusForDriver(SceUID pid, int *status);

sceKernelGetProcessTimeLowCoreForDriver

Version NID
3.60 0x02179E12

sceKernelGetProcessTimeWideCoreForDriver

Version NID
3.60 0x82D94BE9

sceKernelGetProcessTimeCoreForDriver

Version NID
3.60 0xEC283166

sceKernelCreateProcessLocalStorageForDriver

Version NID
3.60 0x3801D7D6
int sceKernelCreateProcessLocalStorageForDriver(const char *name, int size);

sceKernelGetProcessLocalStorageAddrForDriver

Version NID
3.60 0xEE694840
void *sceKernelGetProcessLocalStorageAddrForDriver(int key);

sceKernelGetPidProcessLocalStorageAddrForDriver

Version NID
3.60-3.68 0xAF80F39C
int sceKernelGetPidProcessLocalStorageAddrForDriver(SceUID pid, int key, unsigned int *out_addr, int create_if_doesnt_exist);

sceKernelGetRemoteProcessTimeForDriver

Version NID
3.60 0xC074EB31

sceKernelIsCDialogAvailableForDriver

Version NID
3.60 0x2F6020B7

sceKernelIsGameBudgetForDriver

Version NID
3.60 0xF7A8BB25

SceProcessmgrForKernel

sceKernelLaunchAppForKernel

Version NID
3.60 0x71CF71FD
/**
 * @brief       Launch an application
 * @param[in]   titleid The TitleId of the app to open.
 * @param[in]   flags Some unknown flags.
 * @param[in]   path Path of the eboot.bin to launch.
 * @param[in]   unk Unknown.
 * @return      PID of the launched app on success, < 0 on error.
 */
SceUID sceKernelLaunchAppForKernel(char* titleid, uint32_t flags, char *path, uint32_t unk);

sceKernelGetProcessKernelBufForKernel

Version NID
3.60 0xB9E68092
void* sceKernelGetProcessKernelBufForKernel(int pid);

Gets the process privileged only buffer.

sceKernelGetProcessMainThreadForKernel

Version NID
3.60 0x95F9ED94
/**
 * @brief       Get the main thread for a given process.
 * @param[in]   pid The process id to query for.
 * @return      The thread UID on success, else < 0 on error.
 */
SceUID sceKernelGetProcessMainThreadForKernel(SceUID pid);

sceKernelSuspendProcessForKernel

Version NID
3.60 0x6AECE4CD
/**
 * @brief       Suspend a running process.
 * @param[in]   pid The process to suspend.
 * @return      Zero on success, < 0 on error.
 */
int sceKernelSuspendProcessForKernel(SceUID pid);

sceKernelResumeProcessForKernel

Version NID
3.60 0x080CDC59
/**
 * @brief       Resume a suspended process.
 * @param[in]   pid The process to resume.
 * @return      Zero on success, < 0 on error.
 */
int sceKernelResumeProcessForKernel(SceUID pid);

sceKernelExitProcessForKernel

Version NID
3.60 0x4CA7DC42
sceKernelExitProcessForKernel(SceUID maybe_pid_or_res);

sceKernelGetSelfAuthInfoForKernel

Version NID
3.60 0xE4C83B0D

SceSelfAuthInfo type is described in sceSysrootGetSelfAuthInfoForKernel.

Calling this function is one way to obtain klicensee and program-authority-id.

int sceKernelGetSelfAuthInfoForKernel(SceUID pid, SceSelfAuthInfo *self_auth_info);

sceKernelLibcTimeForKernel

Version NID
3.60 0x9E38C556

sceKernelLibcGettimeofdayForKernel

Version NID
3.60 0xDE8B8B5E

sceKernelGetClassForUidForKernel

Version NID
3.60 0xC6820972
SceClass* sceKernelGetClassForUidForKernel(SceUID pid);