Difference between revisions of "SceDeci4pDfMgr"

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)
Line 136: Line 136:
 
<source lang="C">
 
<source lang="C">
 
// Returns sent size on success, < 0 on error.
 
// Returns sent size on success, < 0 on error.
SceSSize sceDfMgrSendForDebugger(SceDfMgr_id id, const void* buf, SceSize size);
+
SceSize sceDfMgrSendForDebugger(SceDfMgr_id id, const void* buf, SceSize size);
 
</source>
 
</source>
  

Revision as of 05:59, 12 January 2022

Module

Version World Privilege
3.60-3.65 Non-secure Kernel

Libraries

Known NIDs

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

Types

typedef SceInt32 SceDfMgr_id; //ID returned by sceDfMgrOpen

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

typedef struct SceDfMgrOpen_param { //Size is 0x1C in 0.940, 0x38 on 3.60
	SceSize size;
	uint32_t unk4;   // some id
	uint32_t unk8;
	uint32_t unkC;   // ex: 0x1000004
	uint32_t unk10;  // ex: 0x20001
	uint16_t unk14;  // ex: 0
	uint16_t unk16;  // ex: 1
	char name[0x20];
} SceDfMgrOpen_param;

// sceDeci4pDfMgrRegisterSysEventForDebugger_internal_struct *pInfoInt = (sceDeci4pDfMgrRegisterSysEventForDebugger_internal *)(data_seg + 0x14); // max 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.60 0x1CC6ED4B
SceInt32 sceDfMgrCloseForDebugger(SceDfMgr_id id);

sceDfMgrOpenForDebugger

Version NID
0.940-3.60 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.60 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.60 0x6D26CC56

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

void SceDeci4pDfMgrForDebugger_6D26CC56(void *ptr, SceUInt32 val);

sceDfMgrSendSpaceForDebugger

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

sceDfMgrReqSendForDebugger

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

sceDfMgrSendForDebugger

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

SceDeci4pDfMgrForDebugger_CACAB5F9

Version NID
0.940-3.60 0xCACAB5F9

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

SceUInt32 SceDeci4pDfMgrForDebugger_CACAB5F9(void *ptr);

SceDeci4pDfMgrForDebugger_D0CCF840

Version NID
0.940-0.995 Not present
3.60 0xD0CCF840