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...")
 
 
(3 intermediate revisions 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 16: Line 16:
  
 
= Description =
 
= Description =
This copies the metadata for all slots that need to be sent into the specified buffer.
+
This copies the metadata for all [[StreetPass#Slot_.280x6161.29|slots]] that need to be sent into the specified 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.
 
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_READY</code>.

Latest revision as of 20:48, 16 March 2025

Request[edit]

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[edit]

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

Description[edit]

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.