SceDeci4pDfMgr: Difference between revisions

From Vita Development Wiki
Jump to navigation Jump to search
(Add official names found in 0.940, mark NIDs as valid down to 0.940, refactoring)
No edit summary
 
(12 intermediate revisions by 3 users not shown)
Line 5: Line 5:
! Version !! World !! Privilege
! Version !! World !! Privilege
|-
|-
| 3.60-3.65 || Non-secure || Kernel
| 0.940-3.730.011 || Non-secure || Kernel
|}
|}


Line 16: Line 16:
! Version !! Name !! World !! Visibility !! NID
! Version !! Name !! World !! Visibility !! NID
|-
|-
| 0.940-3.65 || [[SceDeci4pDfMgr#SceDeci4pDfMgrForDebugger|SceDeci4pDfMgrForDebugger]] || Non-secure || Kernel || 0x849E3DF5
| 0.940-3.730.011 || [[SceDeci4pDfMgr#SceDeci4pDfMgrForDebugger|SceDeci4pDfMgrForDebugger]] || Non-secure || Kernel || 0x849E3DF5
|}
|}


Line 26: Line 26:
typedef int (* SceDfMgrOpen_handler)(int a1, void *a2, void *args);
typedef int (* SceDfMgrOpen_handler)(int a1, void *a2, void *args);


typedef struct SceDfMgrOpen_param { //Size is 0x1C in 0.940, 0x38 on 3.60
// Also used in sceSDfMgrOpenForKernel in System Software version 3.20
typedef struct SceDfMgrOpen_param_0940 { // Size is 0x1C-bytes
SceSize size;
SceSize size;
uint32_t unk4;   // some id
uint32_t uProtocol;
uint32_t unk8;
uint32_t unk8;
uint32_t unkC;   // ex: 0x1000004
uint32_t uVersion;
uint32_t unk10;  // ex: 0x20001
uint32_t uVersionLimit;
uint16_t unk14;  // ex: 0
uint16_t unk16;  // ex: 1
char *name;
} SceDfMgrOpen_param_0940;
 
typedef struct SceDfMgrOpen_param_360 { // Size is 0x38-bytes
SceSize size;
uint32_t uProtocol;
uint32_t unk8;
uint32_t uVersion;
uint32_t uVersionLimit;
uint16_t unk14;  // ex: 0
uint16_t unk14;  // ex: 0
uint16_t unk16;  // ex: 1
uint16_t unk16;  // ex: 1
char name[0x20];
char name[0x20];
} SceDfMgrOpen_param;
} SceDfMgrOpen_param_360;


// sceDeci4pDfMgrRegisterSysEventForDebugger_internal_struct *pInfoInt = (sceDeci4pDfMgrRegisterSysEventForDebugger_internal *)(data_seg + 0x14); // max entries is 32
// sceDeci4pDfMgrRegisterSysEventForDebugger_internal_struct *pInfoInt = (sceDeci4pDfMgrRegisterSysEventForDebugger_internal *)(data_seg + 0x14); // max number of entries is 32
typedef struct sceDeci4pDfMgrRegisterSysEventForDebugger_internal_struct { // size is 0x54
typedef struct sceDeci4pDfMgrRegisterSysEventForDebugger_internal_struct { // size is 0x54
SceDfMgrOpen_handler handler;
SceDfMgrOpen_handler handler;
Line 57: Line 69:
! Version !! NID
! Version !! NID
|-
|-
| 0.940-3.60 || 0x1CC6ED4B
| 0.940-3.730.011 || 0x1CC6ED4B
|}
|}


Line 67: Line 79:
! Version !! NID
! Version !! NID
|-
|-
| 0.940-3.60 || 0x529979FB
| 0.940-3.730.011 || 0x529979FB
|}
|}


Line 85: Line 97:
! Version !! NID
! Version !! NID
|-
|-
| 0.940-3.60 || 0x5F2C7E11
| 0.940-3.730.011 || 0x5F2C7E11
|}
|}


Line 98: Line 110:
! Version !! NID
! Version !! NID
|-
|-
| 0.940-3.60 || 0x6D26CC56
| 0.940-3.730.011 || 0x6D26CC56
|}
|}


Writes <code>val</code> as a 3-byte unsigned integer to <code>ptr</code>.
Writes <code>val</code> as a 3-byte unsigned integer to <code>ptr</code>.
<source lang="C">void SceDeci4pDfMgrForDebugger_6D26CC56(void *ptr, SceUInt32 val);</source>
<source lang="C">void SceDeci4pDfMgrForDebugger_6D26CC56(void *ptr, SceUInt32 val);</source>


Line 109: Line 122:
! Version !! NID
! Version !! NID
|-
|-
| 0.940-3.60 || 0x7EAE4FA2
| 0.940-3.730.011 || 0x7EAE4FA2
|}
|}


Line 119: Line 132:
! Version !! NID
! Version !! NID
|-
|-
| 0.940-3.60 || 0xBADEF855
| 0.940-3.730.011 || 0xBADEF855
|}
|}


Line 131: Line 144:
! Version !! NID
! Version !! NID
|-
|-
| 0.940-3.60 || 0xC3390112
| 0.940-3.730.011 || 0xC3390112
|}
|}


Line 144: Line 157:
! Version !! NID
! Version !! NID
|-
|-
| 0.940-3.60 || 0xCACAB5F9
| 0.940-3.730.011 || 0xCACAB5F9
|}
|}


Reads value at <code>ptr</code> as a 3-byte unsigned integer.
Reads the value at <code>ptr</code> as a 3-byte unsigned integer.
 
<source lang="C">SceUInt32 SceDeci4pDfMgrForDebugger_CACAB5F9(void *ptr);</source>
<source lang="C">SceUInt32 SceDeci4pDfMgrForDebugger_CACAB5F9(void *ptr);</source>


=== SceDeci4pDfMgrForDebugger_D0CCF840 ===
=== sceDfMgrDcmpReqSendForLoadpForDebugger ===
{| class="wikitable"
{| class="wikitable"
|-
|-
! Version !! NID
! Version !! NID
|-
|-
| 0.940-0.995 || Not present
| 0.931.010-0.995.000 || not present
|-
|-
| 3.60 || 0xD0CCF840
| 2.500.071-3.730.011 || 0xD0CCF840
|}
|}


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

Latest revision as of 23:33, 19 May 2023

Module

Version World Privilege
0.940-3.730.011 Non-secure Kernel

Libraries

Known NIDs

Version Name World Visibility NID
0.940-3.730.011 SceDeci4pDfMgrForDebugger Non-secure Kernel 0x849E3DF5

Types

typedef SceInt32 SceDfMgr_id; //ID returned by sceDfMgrOpen

typedef int (* SceDfMgrOpen_handler)(int a1, void *a2, void *args);

// Also used in sceSDfMgrOpenForKernel in System Software version 3.20
typedef struct SceDfMgrOpen_param_0940 { // Size is 0x1C-bytes
	SceSize size;
	uint32_t uProtocol;
	uint32_t unk8;
	uint32_t uVersion;
	uint32_t uVersionLimit;
	uint16_t unk14;  // ex: 0
	uint16_t unk16;  // ex: 1
	char *name;
} SceDfMgrOpen_param_0940;

typedef struct SceDfMgrOpen_param_360 { // Size is 0x38-bytes
	SceSize size;
	uint32_t uProtocol;
	uint32_t unk8;
	uint32_t uVersion;
	uint32_t uVersionLimit;
	uint16_t unk14;  // ex: 0
	uint16_t unk16;  // ex: 1
	char name[0x20];
} SceDfMgrOpen_param_360;

// sceDeci4pDfMgrRegisterSysEventForDebugger_internal_struct *pInfoInt = (sceDeci4pDfMgrRegisterSysEventForDebugger_internal *)(data_seg + 0x14); // max number of entries is 32
typedef struct sceDeci4pDfMgrRegisterSysEventForDebugger_internal_struct { // size is 0x54
	SceDfMgrOpen_handler handler;
	SceDfMgrOpen_param info;
	int data_0x3C;
	int data_0x40;
	int data_0x44;
	int data_0x48;
	int data_0x4C;
	int data_0x50;
} sceDeci4pDfMgrRegisterSysEventForDebugger_internal_struct;

SceDeci4pDfMgrForDebugger

sceDfMgrCloseForDebugger

Version NID
0.940-3.730.011 0x1CC6ED4B
SceInt32 sceDfMgrCloseForDebugger(SceDfMgr_id id);

sceDfMgrOpenForDebugger

Version NID
0.940-3.730.011 0x529979FB

Handler is called on reboot/standby/suspend/SceShell process create.

Up to 32 handles can be opened at a time, and (besides some exceptions) there should be no duplicate IDs (unk4 of a2).

// Returns an id (not UID) on success, < 0 on error.
// 0x80080004 -> no entry remaining (too many Open)
SceDfMgr_id sceDfMgrOpenForDebugger(SceDfMgrOpen_handler handler, SceDfMgrOpen_param *a2, void *args);

sceDfMgrRecvForDebugger

Version NID
0.940-3.730.011 0x5F2C7E11
// Returns received size on success, < 0 on error.
SceSSize sceDfMgrRecvForDebugger(SceDfMgr_id id, void* buf, SceSize size);

SceDeci4pDfMgrForDebugger_6D26CC56

Version NID
0.940-3.730.011 0x6D26CC56

Writes val as a 3-byte unsigned integer to ptr.

void SceDeci4pDfMgrForDebugger_6D26CC56(void *ptr, SceUInt32 val);

sceDfMgrSendSpaceForDebugger

Version NID
0.940-3.730.011 0x7EAE4FA2
SceInt32 sceDfMgrSendSpaceForDebugger(SceDfMgr_id id);

sceDfMgrReqSendForDebugger

Version NID
0.940-3.730.011 0xBADEF855
SceInt32 sceDfMgrReqSendForDebugger(SceDfMgr_id id);

sceDfMgrSendForDebugger

Version NID
0.940-3.730.011 0xC3390112
// Returns sent size on success, < 0 on error.
SceSSize sceDfMgrSendForDebugger(SceDfMgr_id id, const void* buf, SceSize size);

SceDeci4pDfMgrForDebugger_CACAB5F9

Version NID
0.940-3.730.011 0xCACAB5F9

Reads the value at ptr as a 3-byte unsigned integer.

SceUInt32 SceDeci4pDfMgrForDebugger_CACAB5F9(void *ptr);

sceDfMgrDcmpReqSendForLoadpForDebugger

Version NID
0.931.010-0.995.000 not present
2.500.071-3.730.011 0xD0CCF840