BOSSU:ReadNsData: Difference between revisions

From 3dbrew
Jump to navigation Jump to search
Use IPC template header
 
Line 1: Line 1:
=Request=
=Request=
{| class="wikitable" border="1"
{{IPC/Request}}
|-
{{#vardefine:ipc_offset|0}}
!  Index Word
{{IPC/RequestHeader|0x0028|4|2}}
!  Description
{{IPC/RequestEntry|u32, NS Data ID}}
|-
{{IPC/RequestEntryRange|2|s64, Offset}}
| 0
{{IPC/RequestEntry|u32, Buffer size}}
| Header code [0x00280102]
{{IPC/MapPointerW|Data buffer}}
|-
{{IPC/RequestEnd}}
| 1
| NsDataId
|-
| 2-3
| u64 offset
|-
| 4
| Size
|-
| 5
| (Size << 4)  <nowiki>|</nowiki> 0xC
|-
| 6
| Data Pointer
|}


=Response=
=Response=
{| class="wikitable" border="1"
{{IPC/Request}}
|-
{{#vardefine:ipc_offset|0}}
!  Index Word
{{IPC/RequestHeader|0x0028|3|2}}
!  Description
{{IPC/RequestEntry|Result code}}
|-
{{IPC/RequestEntry|u32, Actual read size}}
| 0
{{IPC/RequestEntry|u32, Version of the NS Data}}
| Header code
{{IPC/MapPointerW|Data buffer}}
|-
{{IPC/RequestEnd}}
| 1
| Result code
|-
| 2
| Actual read size
|-
| 3
| Unknown output u32.
|}


=Description=
=Description=
This is used for reading the actual SpotPass content.
Reads the content from the given NS Data ID of the program ID of the current session.

Latest revision as of 02:08, 7 February 2025

Request

Index Word Description
0
Header 0x00280102 Cmd 0x0028 Param 4 Xlat 2
1 u32, NS Data ID
2-3 s64, Offset
4 u32, Buffer size
5 Descriptor for mapping a write-only buffer in the target process
6 Data buffer

Response

Index Word Description
0
Header 0x002800C2 Cmd 0x0028 Param 3 Xlat 2
1 Result code
2 u32, Actual read size
3 u32, Version of the NS Data
4 Descriptor for mapping a write-only buffer in the target process
5 Data buffer

Description

Reads the content from the given NS Data ID of the program ID of the current session.