CECDS:SprGetSendSlotsMetadata: Difference between revisions

From 3dbrew
Jump to navigation Jump to search
Sorunome (talk | contribs)
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..."
 
Sorunome (talk | contribs)
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.