CECDS:SprGetSendSlotsMetadata: Difference between revisions

From 3dbrew
Jump to navigation Jump to search
Sorunome (talk | contribs)
Sorunome (talk | contribs)
 
(One intermediate revision by the same user not shown)
Line 2: Line 2:
{{IPC/Request}}
{{IPC/Request}}
{{#vardefine:ipc_offset|0}}
{{#vardefine:ipc_offset|0}}
{{IPC/RequestEntry|Header code <code>0x040C0042</code>}}
{{IPC/RequestHeader|0x040C|1|2}}
{{IPC/RequestEntry|buffer size}}
{{IPC/RequestEntry|buffer size}}
{{IPC/MapPointerW|buffer address}}
{{IPC/MapPointerW|buffer address}}
Line 21: Line 21:
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_READY</code>.

Latest revision as of 20:48, 16 March 2025

Request

Index Word Description
0
Header 0x040C0042 Cmd 0x040C Param 1 Xlat 2
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_READY.