Difference between revisions of "CECDU:GetSystemInfo"

From 3dbrew
Jump to navigation Jump to search
(Created page with "=Request= {| class="wikitable" border="1" |- ! Index Word ! Description |- | 0 | Header code [0x000A00C4] |- | 1 | buffer size (unused) |- | 2 | Info type |- | 3 | Param siz...")
 
(Use new template)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
=Request=
 
=Request=
 +
{{IPC/Request}}
 +
{{#vardefine:ipc_offset|0}}
 +
{{IPC/RequestEntry|Header code [0x000A00C4]}}
 +
{{IPC/RequestEntry|Destination buffer size (unused)}}
 +
{{IPC/RequestEntry|Info type}}
 +
{{IPC/RequestEntry|Param buffer size (unused)}}
 +
{{IPC/MapPointerR|Param buffer address}}
 +
{{IPC/MapPointerW|Destination buffer address}}
 +
{{IPC/RequestEnd}}
 +
 +
=Response=
 +
{{IPC/Request}}
 +
{{#vardefine:ipc_offset|0}}
 +
{{IPC/RequestEntry|Header code [0x000A0044]}}
 +
{{IPC/RequestEntry|Result code}}
 +
{{IPC/MapPointerR|Param buffer address}}
 +
{{IPC/MapPointerW|Destination buffer address}}
 +
{{IPC/RequestEnd}}
 +
 +
=Info Type=
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Index Word
+
Type
 
!  Description
 
!  Description
 +
!  Param
 +
!  Output in buffer
 
|-
 
|-
 
| 0
 
| 0
| Header code [0x000A00C4]
+
| ?
 +
| Ignore?
 +
| size=8, ?
 
|-
 
|-
 
| 1
 
| 1
| buffer size (unused)
+
| EULA version, a wrapper of [[CfgS:GetConfigInfoBlk8|GetConfigInfoBlk8]] with BlkID=0xD0000
 +
| Ignore
 +
| size=2, version of agreed EULA
 
|-
 
|-
 
| 2
 
| 2
| Info type
+
| EULA, a wrapper of [[CfgS:GetConfigInfoBlk8|GetConfigInfoBlk8]] with BlkID=0xD0000
 +
| Ignore
 +
| size=1, bool is_eula_agreed
 
|-
 
|-
 
| 3
 
| 3
| Param size (unused)
+
| Parent Control, a wrapper of [[CfgS:GetConfigInfoBlk8|GetConfigInfoBlk8]] with BlkID=0xC0000
|-
+
| Ignore
| 4
+
| size=1, bool has_parent_control
| [[IPC#Buffer_Mapping_Translation|Buffer Mapping Descriptor(R)]] = (param_size << 4) | 0xA
 
|-
 
| 5
 
| param address
 
 
|-
 
|-
 
| 6
 
| 6
| [[IPC#Buffer_Mapping_Translation|Buffer Mapping Descriptor(W)]] = (buffer_size << 4) | 0xC
+
| ?
 +
| size=13? struct{u32 ncch_program_id; bool is_out_box; u8 message_id[8];}
 +
| ?
 
|-
 
|-
 
| 7
 
| 7
| buffer address
+
| ?
|-
+
| size=13? struct{u32 ncch_program_id; bool is_out_box; u8 message_id[8];}
|}
+
| ?
 
 
=Response=
 
{| class="wikitable" border="1"
 
|-
 
!  Index Word
 
!  Description
 
|-
 
| 0
 
| Header code [0x000A0044]
 
|-
 
| 1
 
| Result code
 
|-
 
| 2
 
| [[IPC#Buffer_Mapping_Translation|Buffer Unmapping Descriptor(R)]] = (param_size << 4) | 0xA
 
|-
 
| 3
 
| param address
 
|-
 
| 4
 
| [[IPC#Buffer_Mapping_Translation|Buffer Unmapping Descriptor(W)]] = (buffer_size << 4) | 0xC
 
|-
 
| 5
 
| buffer address
 
 
|-
 
|-
 +
| 8
 +
| ?
 +
| Ignore
 +
| size=4?
 
|}
 
|}

Latest revision as of 03:18, 10 September 2016

Request[edit]

Index Word Description
0 Header code [0x000A00C4]
1 Destination buffer size (unused)
2 Info type
3 Param buffer size (unused)
4 Descriptor for mapping a read-only buffer in the target process
5 Param buffer address
6 Descriptor for mapping a write-only buffer in the target process
7 Destination buffer address

Response[edit]

Index Word Description
0 Header code [0x000A0044]
1 Result code
2 Descriptor for mapping a read-only buffer in the target process
3 Param buffer address
4 Descriptor for mapping a write-only buffer in the target process
5 Destination buffer address

Info Type[edit]

Type Description Param Output in buffer
0 ? Ignore? size=8, ?
1 EULA version, a wrapper of GetConfigInfoBlk8 with BlkID=0xD0000 Ignore size=2, version of agreed EULA
2 EULA, a wrapper of GetConfigInfoBlk8 with BlkID=0xD0000 Ignore size=1, bool is_eula_agreed
3 Parent Control, a wrapper of GetConfigInfoBlk8 with BlkID=0xC0000 Ignore size=1, bool has_parent_control
6 ? size=13? struct{u32 ncch_program_id; bool is_out_box; u8 message_id[8];} ?
7 ? size=13? struct{u32 ncch_program_id; bool is_out_box; u8 message_id[8];} ?
8 ? Ignore size=4?