Changes

819 bytes added ,  14:53, 15 May 2020
no edit summary
Line 335: Line 335:     
[[#GetState|State]] must be 4, this cmd eventually sets the State to value 5.
 
[[#GetState|State]] must be 4, this cmd eventually sets the State to value 5.
 +
 +
This is identical to [[#ConnectPrivate]] (besides the below), except the data internally passed for [[#SecurityParameter]]/[[#NetworkConfig]] are loaded from the input [[#NetworkInfo]].
 +
 +
This overwrites the u16 field at [[#SecurityConfig]]+0. When the cached [[SPL_services#IsDevelopment|IsDevelopment]] value is false (retail), value 1 is used, otherwise the used value is: original_field == 0 ? {u16 [[#NetworkInfo]]+0x60} : original_field.
    
=== ConnectPrivate ===
 
=== ConnectPrivate ===
 
Takes a [[#SecurityConfig]], [[#SecurityParameter]], an [[#UserConfig]], a s32 LocalCommunicationVersion, a [[#ConnectOption]], a [[#NetworkConfig]], no output.
 
Takes a [[#SecurityConfig]], [[#SecurityParameter]], an [[#UserConfig]], a s32 LocalCommunicationVersion, a [[#ConnectOption]], a [[#NetworkConfig]], no output.
 +
 +
See [[#Connect]].
 +
 +
This overwrites the u16 field at [[#SecurityConfig]]+0. When the cached [[SPL_services#IsDevelopment|IsDevelopment]] value is false (retail), value 1 is used, otherwise the original value is used.
    
=== Disconnect ===
 
=== Disconnect ===
Line 778: Line 786:  
= SecurityConfig =
 
= SecurityConfig =
 
This is "nn::ldn::SecurityConfig". This is a 0x44-byte struct with 2-byte alignment.
 
This is "nn::ldn::SecurityConfig". This is a 0x44-byte struct with 2-byte alignment.
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Offset
 +
! Size
 +
! Description
 +
|-
 +
| 0x0 || 0x2 || Overwritten by [[#Connect]]/[[#ConnectPrivate]].
 +
|-
 +
| 0x2 || 0x42 ||
 +
|}
    
= SecurityParameter =
 
= SecurityParameter =