SceSysLibTrace: Difference between revisions

From Vita Development Wiki
Jump to navigation Jump to search
No edit summary
Line 226: Line 226:
<source lang="C">int sceNidsymtblGetFunctionNameByNIDForDriver(SceNID funcnid, const char **name);</source>
<source lang="C">int sceNidsymtblGetFunctionNameByNIDForDriver(SceNID funcnid, const char **name);</source>


 
[[Category:ARM]]
[[Category:Kernel]]
[[Category:Modules]]
[[Category:Modules]]
[[Category:Kernel]]
[[Category:Library]]

Revision as of 21:33, 1 May 2023

Module

Version World Privilege
0.940-3.65 Non-secure Kernel

Libraries

Known NIDs

Version Name World Visibility NID
0.940-0.990 SceSyslibtrace Non-secure User 0x696ED3DB
0.940-3.65 SceSyslibtraceForKernel Non-secure Kernel 0x9D33EE8D
0.940-3.65 SceNidsymtblForDriver Non-secure Kernel 0x3F9BEA99

Internal types

typedef struct SceSysLibTraceTable { // size is 0x18-bytes
	ScePVoid entry;
	SceNID libnid;
	SceNID entnid;
	SceUInt32 syscall_index;
	SceUInt32 data_0x10; // from LibEnt->data_0x24
	SceUInt32 data_0x14; // from LibEnt->data_0x28
} SceSysLibTraceTable;

SceSyslibtraceForKernel

sceSyslibtraceSetTargetSyscallLibForKernel

Version NID
0.931-3.65 0xAB6A0C53
int sceSyslibtraceSetTargetSyscallLibForKernel(SceNID libnid);

sceSyslibtraceClearTargetSyscallLibForKernel

Version NID
0.931-3.65 0x7E843A85
int sceSyslibtraceClearTargetSyscallLibForKernel(SceNID libnid);

sceSyslibtraceStartSyscallTraceForKernel

Version NID
0.931-3.65 0x5DEF9EDF
int sceSyslibtraceStartSyscallTraceForKernel(void);

sceSyslibtraceStopSyscallTraceForKernel

Version NID
0.931-3.65 0xDD47649F
int sceSyslibtraceStopSyscallTraceForKernel(void);

sceSyslibtraceCallbackRegisterLibsForKernel

Version NID
0.931-0.940 0x1EDA3691
int sceSyslibtraceCallbackRegisterLibsForKernel(int a1);

sceSyslibtraceCallbackDeregisterLibsForKernel

Version NID
0.931-0.940 0xEA56BE7C
int sceSyslibtraceCallbackDeregisterLibsForKernel(int a1);

sceSyslibtraceCreateSyscallTraceForKernel

Version NID
0.940 0xF9CB8BA9

This is a guessed name.

int sceSyslibtraceCreateSyscallTraceForKernel(void *param, int a2);

sceSyslibtraceDestroySyscallTraceForKernel

Version NID
0.940 0xBD326721

This is a guessed name.

int sceSyslibtraceDestroySyscallTraceForKernel(int a1);

sceSyslibtraceGetSyscallNIDForKernel

Version NID
3.65 0x7CC73CDA

This is a guessed name.

int sceSyslibtraceGetSyscallNIDForKernel(SceUInt32 syscall, SceNID *dst);

SceSyslibtrace

_sceSyslibtraceClearInfo

Version NID
0.940-0.990 0xA92D1FD0

_sceSyslibtraceClearTargetLib

Version NID
0.940-0.990 0xC3A9F28D

_sceSyslibtraceKttyWrite

Version NID
0.940-0.990 0xE4458A16

_sceSyslibtraceRegisterInfo

Version NID
0.940-0.990 0x96B1409F

_sceSyslibtraceSetTargetLib

Version NID
0.940-0.990 0x303152C8

_sceSyslibtraceStartTrace

Version NID
0.940-0.990 0x61A80614

_sceSyslibtraceStopTrace

Version NID
0.940-0.990 0x1D534834

SceNidsymtblForDriver

sceNidsymtblGetTableForDriver

Version NID
0.940-3.65 0x138A9106

This is a guessed name.

// Returns the number of functions in the buffer
// functions_table_addr is a pointer overwritten by a pointer to SceSysLibTrace nid_symbol_table
SceUInt32 sceNidsymtblGetTableForDriver(const void **table_addr);

sceNidsymtblGetFunctionNameByNIDForDriver

Version NID
0.931-0.940 not present
3.60-3.65 0x985E2935

This is a guessed name.

This function is registered using SceSysmem#sceKernelSysrootSetGetFunctionNameByNIDFuncForKernel.

int sceNidsymtblGetFunctionNameByNIDForDriver(SceNID funcnid, const char **name);