LDN services: Difference between revisions
Line 561: | Line 561: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
| 0 || CreateNetworkService | | 0 || [[#CreateNetworkService]] | ||
|- | |- | ||
| 8 || CreateNetworkServiceMonitor | | 8 || [[#CreateNetworkServiceMonitor]] | ||
|} | |} | ||
== CreateNetworkService == | |||
Takes an input u32, an u64 pid_reserved, a PID, returns an output [[#INetworkService]]. | |||
The input u32 must be value 0x1. | |||
== CreateNetworkServiceMonitor == | |||
Takes an input u64 pid_reserved, a PID, returns an output [[#INetworkServiceMonitor]]. | |||
== INetworkService == | == INetworkService == | ||
Line 601: | Line 609: | ||
| 784 || | | 784 || | ||
|- | |- | ||
| 1536 || SendToOtherGroup | | 1536 || [[#SendToOtherGroup]] | ||
|- | |- | ||
| 1544 || RecvFromOtherGroup | | 1544 || [[#RecvFromOtherGroup]] | ||
|- | |- | ||
| 1552 || AddAcceptableGroupId | | 1552 || [[#AddAcceptableGroupId]] | ||
|- | |- | ||
| 1560 || [9.1.0+] | | 1560 || [9.1.0+] | ||
Line 611: | Line 619: | ||
=== Initialize === | === Initialize === | ||
No input/output. | |||
Returns 0. | Returns 0. | ||
=== Cmd512 === | |||
Takes a type-0x19 input buffer containing a 0x200-byte struct, a type-0x22 output buffer containing an array of struct {unknown}, returns an output u32. | |||
=== Cmd768 === | |||
Takes a type-0x31 input buffer containing a 0x200-byte struct, no output. | |||
=== Cmd776 === | |||
No input/output. | |||
=== Cmd784 === | |||
Takes a type-0x21 input buffer, no output. | |||
The buffer size must be <=0x80. | |||
=== SendToOtherGroup === | |||
Takes an input [[#MacAddress]], a [[#MacAddress]], an u16, an u16, an u32, a type-0x21 input buffer, no output. | |||
The buffer size must be <=0x400. | |||
=== RecvFromOtherGroup === | |||
Takes an input u32, a type-0x22 output buffer, returns a [[#MacAddress]], an u16, an u16, an u32 out_size, a s32. | |||
The out_size is the original size used for copying to the output buffer, before it's clamped to the output-buffer size. | |||
=== AddAcceptableGroupId === | |||
Takes an input [[#MacAddress]], no output. | |||
=== Cmd1560 === | |||
No input/output. | |||
== INetworkServiceMonitor == | == INetworkServiceMonitor == |