Difference between revisions of "CECDS:SprGetSendSlotsMetadata"

From 3dbrew
Jump to navigation Jump to search
(Created page with "= Request = {{IPC/Request}} {{#vardefine:ipc_offset|0}} {{IPC/RequestEntry|Header code <code>0x040C0042</code>}} {{IPC/RequestEntry|buffer size}} {{IPC/MapPointerW|buffer addr...")
 
m (→‎Description: Formatting)
Line 19: Line 19:
 
Each metadata object consists out of a tuple of three words: <code>send method</code>, <code>title_id</code>, <code>size</code> whereas the size is the size in bytes of the corresponding spr slot. Copies up to <code>buffer size / (4*3)</code> slots into the buffer.
 
Each metadata object consists out of a tuple of three words: <code>send method</code>, <code>title_id</code>, <code>size</code> whereas the size is the size in bytes of the corresponding spr slot. Copies up to <code>buffer size / (4*3)</code> slots into the buffer.
  
Returns the amount of slots read, _not_ the amount of bytes read.
+
Returns the amount of slots read, ''not'' the amount of bytes read.
  
 
Requires the [[CECD_Services#CecSprStatus|Cec Spr Status]] to be <code>CEC_SPR_SEND_RECV_INIT</code>.
 
Requires the [[CECD_Services#CecSprStatus|Cec Spr Status]] to be <code>CEC_SPR_SEND_RECV_INIT</code>.

Revision as of 19:59, 16 March 2025

Request

Index Word Description
0 Header code 0x040C0042
1 buffer size
2 Descriptor for mapping a write-only buffer in the target process
3 buffer address

Response

Index Word Description
0 Header code
1 Result code
2 Amount of slots read

Description

This copies the metadata for all slots that need to be sent into the specified buffer. Each metadata object consists out of a tuple of three words: send method, title_id, size whereas the size is the size in bytes of the corresponding spr slot. Copies up to buffer size / (4*3) slots into the buffer.

Returns the amount of slots read, not the amount of bytes read.

Requires the Cec Spr Status to be CEC_SPR_SEND_RECV_INIT.