LDN services: Difference between revisions
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 = |