CECDS:SprGetSendSlotsMetadata: Difference between revisions

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)
 
(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>.