LDN services: Difference between revisions
No edit summary |
No edit summary |
||
Line 218: | Line 218: | ||
=== Reject === | === Reject === | ||
Takes an input [[#Ipv4Address]], no output. | |||
=== SetAdvertiseData === | === SetAdvertiseData === | ||
Takes a type-0x21 input buffer, no output. | |||
The input buffer contains arbitrary user data. | |||
=== SetStationAcceptPolicy === | === SetStationAcceptPolicy === | ||
Takes an input [[#AcceptPolicy]], no output. | |||
=== AddAcceptFilterEntry === | === AddAcceptFilterEntry === | ||
Takes an input [[#MacAddress]], no output. | |||
There are two sdknso funcs implementing this: one which takes a [[#MacAddress]] directly, the other loads the [[#MacAddress]] from the input [[#NodeInfo]]. | |||
=== ClearAcceptFilter === | === ClearAcceptFilter === | ||
Line 235: | Line 243: | ||
=== Connect === | === Connect === | ||
Takes a type-0x19 input buffer containing a [[#NetworkInfo]], a [[#SecurityConfig]], a 0x30-byte struct with 1-byte alignment, a s32, a [[#ConnectOption]], no output. | |||
=== ConnectPrivate === | === ConnectPrivate === | ||
Takes a [[#SecurityConfig]], [[#SecurityParameter]], a 0x30-byte struct with 1-byte alignment, a s32, a [[#ConnectOption]], a 0x20-byte struct with 8-byte alignment, no output. | |||
=== Disconnect === | === Disconnect === | ||
Line 254: | Line 264: | ||
=== SetOperationMode === | === SetOperationMode === | ||
Takes an input [[#OperationMode]], no output. | |||
=== InitializeSystem2 === | === InitializeSystem2 === | ||
Line 599: | Line 610: | ||
= AddressEntry = | = AddressEntry = | ||
This is "nn::ldn::AddressEntry". This is a 0x24-byte struct. | This is "nn::ldn::AddressEntry". This is a 0x24-byte struct. | ||
= AcceptPolicy = | |||
This is "nn::ldn::AcceptPolicy". This is an u8. | |||
= MacAddress = | |||
This is "nn::ldn::MacAddress". This is a 6-byte struct with 1-byte alignment. | |||
= NodeInfo = | |||
This is "nn::ldn::NodeInfo". | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 || 0x4 || | |||
|- | |||
| 0x4 || 0x6 || [[#MacAddress]] | |||
|} | |||
= ConnectOption = | |||
This is "nn::ldn::ConnectOption". This is an u32 bitmask. | |||
There's two versions of the sdknso funcs for [[#Connect]]/[[#ConnectPrivate]]: the version where the ConnectOption isn't user-specified uses a default value of 0x1 for it, with the same ShowError code without the bit0 check. | |||
When bit0 here is set after using the above cmds, the sdknso funcs will use [[Error_Applet|ShowError]] with the returned Result if: (rc & 0x3FE1FF) == 0xE0CB. | |||
= OperationMode = | |||
This is "nn::ldn::OperationMode". This is an u32. | |||
[[Category:Services]] | [[Category:Services]] |