SceSysLibTrace: Difference between revisions

From Vita Development Wiki
Jump to navigation Jump to search
No edit summary
(This module is DevKit only hence 3.73 max for now.)
 
(10 intermediate revisions by 2 users not shown)
Line 5: Line 5:
! Version !! World !! Privilege
! Version !! World !! Privilege
|-
|-
| 0.940-3.65 || Non-secure || Kernel
| 0.931.010-3.730.011 || Non-secure || Kernel
|}
|}


Line 18: Line 18:
| 0.940-0.990 || [[SceSysLibTrace#SceSyslibtrace|SceSyslibtrace]] || Non-secure || User || 0x696ED3DB
| 0.940-0.990 || [[SceSysLibTrace#SceSyslibtrace|SceSyslibtrace]] || Non-secure || User || 0x696ED3DB
|-
|-
| 0.940-3.65 || [[SceSysLibTrace#SceSyslibtraceForKernel|SceSyslibtraceForKernel]] || Non-secure || Kernel || 0x9D33EE8D
| 0.931.010-3.730.011 || [[SceSysLibTrace#SceSyslibtraceForKernel|SceSyslibtraceForKernel]] || Non-secure || Kernel || 0x9D33EE8D
|-
|-
| 0.940-3.65 || [[SceSysLibTrace#SceNidsymtblForDriver|SceNidsymtblForDriver]] || Non-secure || Kernel || 0x3F9BEA99
| 0.931.010-3.730.011 || [[SceSysLibTrace#SceNidsymtblForDriver|SceNidsymtblForDriver]] || Non-secure || Kernel || 0x3F9BEA99
|}
|}
== Internal types ==
<source lang="C">
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;
</source>


== SceSyslibtraceForKernel ==
== SceSyslibtraceForKernel ==
Line 30: Line 43:
! Version !! NID
! Version !! NID
|-
|-
| 0.931-0.940 || 0xAB6A0C53
| 0.931.010-3.730.011 || 0xAB6A0C53
|}
|}
<source lang="C">int sceSyslibtraceSetTargetSyscallLibForKernel(SceNID libnid);</source>


=== sceSyslibtraceClearTargetSyscallLibForKernel ===
=== sceSyslibtraceClearTargetSyscallLibForKernel ===
Line 38: Line 53:
! Version !! NID
! Version !! NID
|-
|-
| 0.931-0.940 || 0x7E843A85
| 0.931.010-3.730.011 || 0x7E843A85
|}
|}
<source lang="C">int sceSyslibtraceClearTargetSyscallLibForKernel(SceNID libnid);</source>


=== sceSyslibtraceStartSyscallTraceForKernel ===
=== sceSyslibtraceStartSyscallTraceForKernel ===
Line 46: Line 63:
! Version !! NID
! Version !! NID
|-
|-
| 0.931-0.940 || 0x5DEF9EDF
| 0.931.010-3.730.011 || 0x5DEF9EDF
|}
|}
<source lang="C">int sceSyslibtraceStartSyscallTraceForKernel(void);</source>


=== sceSyslibtraceStopSyscallTraceForKernel ===
=== sceSyslibtraceStopSyscallTraceForKernel ===
Line 54: Line 73:
! Version !! NID
! Version !! NID
|-
|-
| 0.931-0.940 || 0xDD47649F
| 0.931.010-3.730.011 || 0xDD47649F
|}
|}
<source lang="C">int sceSyslibtraceStopSyscallTraceForKernel(void);</source>


=== sceSyslibtraceCallbackRegisterLibsForKernel ===
=== sceSyslibtraceCallbackRegisterLibsForKernel ===
Line 62: Line 83:
! Version !! NID
! Version !! NID
|-
|-
| 0.931-0.940 || 0x1EDA3691
| 0.931.010-3.730.011 || 0x1EDA3691
|}
|}
<source lang="C">int sceSyslibtraceCallbackRegisterLibsForKernel(int a1);</source>


=== sceSyslibtraceCallbackDeregisterLibsForKernel ===
=== sceSyslibtraceCallbackDeregisterLibsForKernel ===
Line 70: Line 93:
! Version !! NID
! Version !! NID
|-
|-
| 0.931-0.940 || 0xEA56BE7C
| 0.931.010-3.730.011 || 0xEA56BE7C
|}
|}
<source lang="C">int sceSyslibtraceCallbackDeregisterLibsForKernel(int a1);</source>


=== sceSyslibtraceCreateSyscallTraceForKernel ===
=== sceSyslibtraceCreateSyscallTraceForKernel ===
Line 78: Line 103:
! Version !! NID
! Version !! NID
|-
|-
| 0.940 || 0xF9CB8BA9
| 0.940-3.730.011 || 0xF9CB8BA9
|}
|}


This is a guessed name.
This is a guessed name.
<source lang="C">int sceSyslibtraceCreateSyscallTraceForKernel(void *param, int a2);</source>


=== sceSyslibtraceDestroySyscallTraceForKernel ===
=== sceSyslibtraceDestroySyscallTraceForKernel ===
Line 88: Line 115:
! Version !! NID
! Version !! NID
|-
|-
| 0.940 || 0xBD326721
| 0.940-3.730.011 || 0xBD326721
|}
|}


This is a guessed name.
This is a guessed name.


To check:
<source lang="C">int sceSyslibtraceDestroySyscallTraceForKernel(int a1);</source>
          SceSyslibtraceForKernel_7CC73CDA: 0x7CC73CDA
 
=== sceSyslibtraceGetSyscallNIDForKernel ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.931.010-2.12 || not present
|-
| 2.500.071-3.730.011 || 0x7CC73CDA
|}
 
This is a guessed name.
 
<source lang="C">int sceSyslibtraceGetSyscallNIDForKernel(SceUInt32 syscall, SceNID *dst);</source>


== SceSyslibtrace ==
== SceSyslibtrace ==
Line 156: Line 196:
== SceNidsymtblForDriver ==
== SceNidsymtblForDriver ==


=== get_nid_symbol_table ===
=== sceNidsymtblGetTableForDriver ===
{| class="wikitable"
{| class="wikitable"
|-
|-
! Version !! NID
! Version !! NID
|-
|-
| 0.940-3.65 || 0x138A9106
| 0.940-3.730.011 || 0x138A9106
|}
|}
This is a guessed name.


<source lang="C">
<source lang="C">
// Returns the number of functions in the buffer
// Returns the number of functions in the buffer
// functions_table_addr is a pointer overwritten by a pointer to SceSysLibTrace nid_symbol_table
// functions_table_addr is a pointer overwritten by a pointer to SceSysLibTrace nid_symbol_table
SceUInt32 get_nid_symbol_table(const void **nid_symbol_table_addr);
SceUInt32 sceNidsymtblGetTableForDriver(const void **table_addr);
</source>
</source>


Line 175: Line 217:
! Version !! NID
! Version !! NID
|-
|-
| 0.931-0.940 || not present
| 0.931.010-1.692.000 || not present
|-
|-
| 3.60-3.65 || 0x985E2935
| 1.800.071-3.730.011 || 0x985E2935
|}
|}


Line 187: Line 229:




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

Latest revision as of 19:03, 14 June 2023

Module

Version World Privilege
0.931.010-3.730.011 Non-secure Kernel

Libraries

Known NIDs

Version Name World Visibility NID
0.940-0.990 SceSyslibtrace Non-secure User 0x696ED3DB
0.931.010-3.730.011 SceSyslibtraceForKernel Non-secure Kernel 0x9D33EE8D
0.931.010-3.730.011 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.010-3.730.011 0xAB6A0C53
int sceSyslibtraceSetTargetSyscallLibForKernel(SceNID libnid);

sceSyslibtraceClearTargetSyscallLibForKernel

Version NID
0.931.010-3.730.011 0x7E843A85
int sceSyslibtraceClearTargetSyscallLibForKernel(SceNID libnid);

sceSyslibtraceStartSyscallTraceForKernel

Version NID
0.931.010-3.730.011 0x5DEF9EDF
int sceSyslibtraceStartSyscallTraceForKernel(void);

sceSyslibtraceStopSyscallTraceForKernel

Version NID
0.931.010-3.730.011 0xDD47649F
int sceSyslibtraceStopSyscallTraceForKernel(void);

sceSyslibtraceCallbackRegisterLibsForKernel

Version NID
0.931.010-3.730.011 0x1EDA3691
int sceSyslibtraceCallbackRegisterLibsForKernel(int a1);

sceSyslibtraceCallbackDeregisterLibsForKernel

Version NID
0.931.010-3.730.011 0xEA56BE7C
int sceSyslibtraceCallbackDeregisterLibsForKernel(int a1);

sceSyslibtraceCreateSyscallTraceForKernel

Version NID
0.940-3.730.011 0xF9CB8BA9

This is a guessed name.

int sceSyslibtraceCreateSyscallTraceForKernel(void *param, int a2);

sceSyslibtraceDestroySyscallTraceForKernel

Version NID
0.940-3.730.011 0xBD326721

This is a guessed name.

int sceSyslibtraceDestroySyscallTraceForKernel(int a1);

sceSyslibtraceGetSyscallNIDForKernel

Version NID
0.931.010-2.12 not present
2.500.071-3.730.011 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.730.011 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.010-1.692.000 not present
1.800.071-3.730.011 0x985E2935

This is a guessed name.

This function is registered using SceSysmem#sceKernelSysrootSetGetFunctionNameByNIDFuncForKernel.

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