LDN services: Difference between revisions

 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
LDN handles all local network communication.
LDN handles all local network communication.
There's 2 IPC handler threads for all ldn:* services.


= ldn:m =
= ldn:m =
Line 88: Line 90:
= ldn:s =
= ldn:s =
This is "nn::ldn::detail::ISystemServiceCreator".
This is "nn::ldn::detail::ISystemServiceCreator".
This has IPC max_sessions 5.


[18.0.0+] The sdknso uses SessionManager with this, where the additional session-count is 0x3.
[18.0.0+] The sdknso uses SessionManager with this, where the additional session-count is 0x3.
Line 531: Line 535:
= ldn:u =
= ldn:u =
This is "nn::ldn::detail::IUserServiceCreator".
This is "nn::ldn::detail::IUserServiceCreator".
This has IPC max_sessions 3.


[18.0.0+] The sdknso uses SessionManager with this, where the additional session-count is 0x3.
[18.0.0+] The sdknso uses SessionManager with this, where the additional session-count is 0x3.
Line 1,345: Line 1,351:
= UserConfig =
= UserConfig =
This is "nn::ldn::UserConfig". This is a 0x30-byte struct with 1-byte alignment.
This is "nn::ldn::UserConfig". This is a 0x30-byte struct with 1-byte alignment.
An error is thrown if UserName+0x20 is non-zero.


sdknso copies the input UserConfig to a tmp struct on stack, which is then used with the cmd. Only the first 0x20-bytes are copied, with the rest cleared.
sdknso copies the input UserConfig to a tmp struct on stack, which is then used with the cmd. Only the first 0x20-bytes are copied, with the rest cleared.