LDN services: Difference between revisions

No edit summary
No edit summary
Line 609: Line 609:
| [9.0.0-9.0.1] 280 ||
| [9.0.0-9.0.1] 280 ||
|-
|-
| [9.0.0-9.0.1] 288 || GetGroupInfo
| [9.0.0-9.0.1] 288 || [[#GetGroupInfo]]
|-
|-
| [9.0.0-9.0.1] 296 ||
| [9.0.0-9.0.1] 296 ||
|-
|-
| [9.0.0-9.0.1] 304 ||
| [9.0.0-9.0.1] 304 || GetAdvertiseData
|-
|-
| [9.0.0-9.0.1] 312 ||
| [9.0.0-9.0.1] 312 || [[#GetIpConfig]]
|-
|-
| [9.0.0-9.0.1] 320 ||
| [9.0.0-9.0.1] 320 ||
Line 621: Line 621:
| 512 || [[#Scan]]
| 512 || [[#Scan]]
|-
|-
| 768 ||
| 768 || [[#CreateGroup]]
|-
|-
| 776 ||
| 776 || [[#DestroyGroup]]
|-
|-
| 784 ||
| 784 || [[#SetAdvertiseData]]
|-
|-
| 1536 || [[#SendToOtherGroup]]
| 1536 || [[#SendToOtherGroup]]
Line 633: Line 633:
| 1552 || [[#AddAcceptableGroupId]]
| 1552 || [[#AddAcceptableGroupId]]
|-
|-
| 1560 || [9.1.0+]
| 1560 || [9.1.0+] [[#Finalize|Finalize]]
|}
|}


Line 644: Line 644:


=== Scan ===
=== Scan ===
Takes a type-0x19 input buffer containing a 0x200-byte struct, a type-0x22 output buffer containing an array of [[#ScanInfo]], returns an output s32 total_out.
Takes a type-0x19 input buffer containing a 0x200-byte struct, a type-0x22 output buffer containing an array of [[#ScanResult]], returns an output s32 total_out.


=== Cmd768 ===
=== CreateGroup ===
Takes a type-0x31 input buffer containing a 0x200-byte struct, no output.
Takes a type-0x31 input buffer containing a 0x200-byte struct, no output.


[[Mario Kart Live: Home Circuit|mklive]] uses the following string with this: "Failed to create a group: %08X".
[[Mario Kart Live: Home Circuit|mklive]] uses the following string with this: "Failed to create a group: %08X".


=== Cmd776 ===
=== DestroyGroup ===
No input/output.
No input/output.


This probably destroys the group created by [[#Cmd768]]?
=== SetAdvertiseData ===
 
=== Cmd784 ===
Takes a type-0x21 input buffer, no output.
Takes a type-0x21 input buffer, no output.


Line 664: Line 662:


=== SendToOtherGroup ===
=== SendToOtherGroup ===
Takes an input [[#MacAddress]], a [[#MacAddress]], a s16, a s16, an u32 flags, a type-0x21 input buffer, no output.
Takes an input [[#MacAddress]], a [[#GroupId]], a s16, a s16, an u32 flags, a type-0x21 input buffer, no output.


The buffer size must be <=0x400.
The buffer size must be <=0x400.
Line 682: Line 680:


=== AddAcceptableGroupId ===
=== AddAcceptableGroupId ===
Takes an input [[#MacAddress]], no output.
Takes an input [[#GroupId]], no output.


=== Cmd1560 ===
=== Finalize ===
No input/output.
No input/output.


Line 712: Line 710:
| 296 ||  
| 296 ||  
|-
|-
| 304 ||  
| 304 || GetAdvertiseData
|-
|-
| 312 ||  
| 312 || [[#GetIpConfig]]
|-
|-
| 320 ||  
| 320 ||  
Line 731: Line 729:
Takes a type-0x32 output buffer containing a [[#GroupInfo]].
Takes a type-0x32 output buffer containing a [[#GroupInfo]].


=== Cmd312 ===
=== GetIpConfig ===
Takes a type-0x1A output buffer containing a 0x100-byte struct.
Takes a type-0x1A output buffer containing a 0x100-byte struct.


Line 1,055: Line 1,053:
= MacAddress =
= MacAddress =
This is "nn::ldn::MacAddress". This is a 6-byte struct with 1-byte alignment.
This is "nn::ldn::MacAddress". This is a 6-byte struct with 1-byte alignment.
= GroupId =
This is "nn::lp2p::GroupId". This is a 6-byte struct with 1-byte alignment.


= NodeInfo =
= NodeInfo =
Line 1,111: Line 1,112:


= GroupInfo =
= GroupInfo =
This is a 0x200-byte struct.
This is "nn::lp2p::GroupInfo". This is a 0x200-byte struct.


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 1,126: Line 1,127:
|}
|}


= ScanInfo =
= ScanResult =
This is a 0x300-byte struct.
This is "nn::lp2p::ScanResult". This is a 0x300-byte struct.


{| class="wikitable" border="1"
{| class="wikitable" border="1"