libnx
v4.8.0
|
LDN (local network communications) IPC wrapper. More...
Go to the source code of this file.
Data Structures | |
struct | LdnIpv4Address |
Ipv4Address. This is essentially the same as struct in_addr - hence this can be used with standard sockets (byteswap required). More... | |
struct | LdnSubnetMask |
SubnetMask. This is essentially the same as struct in_addr - hence this can be used with standard sockets (byteswap required). More... | |
struct | LdnMacAddress |
MacAddress. More... | |
struct | LdnSsid |
Ssid. More... | |
struct | LdnNodeLatestUpdate |
NodeLatestUpdate. More... | |
struct | LdnAddressEntry |
AddressEntry. More... | |
struct | LdnNodeInfo |
NodeInfo. More... | |
struct | LdnUserConfig |
UserConfig. The input struct is copied to a tmp struct, which is then used with the cmd. More... | |
struct | LdnNetworkInfo |
NetworkInfo. More... | |
struct | LdnScanFilter |
ScanFilter. The input struct is copied to a tmp struct, which is then used with the cmd (ldnScan and ldnScanPrivate). More... | |
struct | LdnSecurityConfig |
SecurityConfig. More... | |
struct | LdnSecurityParameter |
SecurityParameter. The struct used by ldnCreateNetwork internally is randomly-generated. More... | |
struct | LdnNetworkConfig |
NetworkConfig. The input struct is copied to a tmp struct, which is then used with the cmd (ldnCreateNetwork, ldnCreateNetworkPrivate, ldnConnectPrivate). More... | |
LDN (local network communications) IPC wrapper.
See also: https://switchbrew.org/wiki/LDN_services
enum LdnAcceptPolicy |
AcceptPolicy.
Enumerator | |
---|---|
LdnAcceptPolicy_AllowAll | Allow all. |
LdnAcceptPolicy_DenyAll | Deny all. |
LdnAcceptPolicy_Blacklist | Blacklist, addresses in the list (ldnAddAcceptFilterEntry) are not allowed. |
LdnAcceptPolicy_Whitelist | Whitelist, only addresses in the list (ldnAddAcceptFilterEntry) are allowed. |
enum LdnDisconnectReason |
DisconnectReason loaded by ldnGetDisconnectReason.
enum LdnOperationMode |
enum LdnScanFilterFlags |
ScanFilterFlags.
Enumerator | |
---|---|
LdnScanFilterFlags_LocalCommunicationId | When set, enables using LdnScanFilter::local_communication_id. |
LdnScanFilterFlags_NetworkId | When set, enables using LdnScanFilter::network_id. |
LdnScanFilterFlags_Unknown2 | When set, enables using LdnScanFilter::unk_x20. |
LdnScanFilterFlags_MacAddr | When set, enables using LdnScanFilter::mac_addr. Only available with ldnScanPrivate. |
LdnScanFilterFlags_Ssid | When set, enables using the LdnScanFilter::ssid. |
LdnScanFilterFlags_UserData | When set, enables using LdnScanFilter::userdata_filter. |
enum LdnServiceType |
enum LdnState |
State loaded by ldnmGetStateForMonitor / ldnGetState.
Enumerator | |
---|---|
LdnState_None | None. |
LdnState_Initialized | Initialized. |
LdnState_AccessPointOpened | AccessPointOpened (ldnOpenAccessPoint) |
LdnState_AccessPointCreated | AccessPointCreated (ldnCreateNetwork / ldnCreateNetworkPrivate) |
LdnState_StationOpened | StationOpened (ldnOpenStation) |
LdnState_StationConnected | StationConnected (ldnConnect / ldnConnectPrivate) |
LdnState_Error | Error. |
Result ldnAddAcceptFilterEntry | ( | LdnMacAddress | addr | ) |
AddAcceptFilterEntry.
[in] | addr | LdnMacAddress. If you want, you can also pass LdnNodeInfo::mac_addr for this. |
AttachStateChangeEvent.
[out] | out_event | Output Event with autoclear=true. |
Result ldnClearAcceptFilter | ( | void | ) |
ClearAcceptFilter.
Result ldnCloseAccessPoint | ( | void | ) |
CloseAccessPoint.
Result ldnCloseStation | ( | void | ) |
CloseStation.
Result ldnConnect | ( | const LdnSecurityConfig * | sec_config, |
const LdnUserConfig * | user_config, | ||
s32 | version, | ||
u32 | option, | ||
const LdnNetworkInfo * | network_info | ||
) |
Connect.
[in] | sec_config | LdnSecurityConfig |
[in] | user_config | LdnUserConfig |
[in] | version | LocalCommunicationVersion, this must be 0x0-0x7FFF. |
[in] | option | ConnectOption bitmask, must be <=0x1. You can use value 0 for example here. |
[in] | network_info | LdnNetworkInfo |
Result ldnConnectPrivate | ( | const LdnSecurityConfig * | sec_config, |
const LdnSecurityParameter * | sec_param, | ||
const LdnUserConfig * | user_config, | ||
s32 | version, | ||
u32 | option, | ||
const LdnNetworkConfig * | network_config | ||
) |
ConnectPrivate.
[in] | sec_config | LdnSecurityConfig |
[in] | sec_param | LdnSecurityParameter |
[in] | user_config | LdnUserConfig |
[in] | version | LocalCommunicationVersion, this must be 0x0-0x7FFF. |
[in] | option | ConnectOption bitmask, must be <=0x1. You can use value 0 for example here. |
[in] | network_config | LdnNetworkConfig |
Result ldnCreateNetwork | ( | const LdnSecurityConfig * | sec_config, |
const LdnUserConfig * | user_config, | ||
const LdnNetworkConfig * | network_config | ||
) |
CreateNetwork.
[in] | sec_config | LdnSecurityConfig |
[in] | user_config | LdnUserConfig |
[in] | network_config | LdnNetworkConfig |
Result ldnCreateNetworkPrivate | ( | const LdnSecurityConfig * | sec_config, |
const LdnSecurityParameter * | sec_param, | ||
const LdnUserConfig * | user_config, | ||
const LdnNetworkConfig * | network_config, | ||
const LdnAddressEntry * | addrs, | ||
s32 | count | ||
) |
CreateNetworkPrivate.
[in] | sec_config | LdnSecurityConfig |
[in] | sec_param | LdnSecurityParameter |
[in] | user_config | LdnUserConfig |
[in] | network_config | LdnNetworkConfig |
[in] | addrs | Input array of LdnAddressEntry. This can be NULL. |
[in] | count | Size of the addrs array in entries. This must be <=8. This can be 0, in which case the network will be non-Private like ldnCreateNetwork. |
Result ldnDestroyNetwork | ( | void | ) |
DestroyNetwork.
Result ldnDisconnect | ( | void | ) |
Disconnect.
Result ldnGetDisconnectReason | ( | LdnDisconnectReason * | out | ) |
GetDisconnectReason.
[out] | out | LdnDisconnectReason |
Result ldnGetIpv4Address | ( | LdnIpv4Address * | addr, |
LdnSubnetMask * | mask | ||
) |
GetIpv4Address.
[out] | addr | LdnIpv4Address |
[out] | mask | LdnSubnetMask |
Result ldnGetNetworkConfig | ( | LdnNetworkConfig * | out | ) |
GetNetworkConfig.
[out] | out | LdnNetworkConfig |
Result ldnGetNetworkInfo | ( | LdnNetworkInfo * | out | ) |
GetNetworkInfo.
[out] | out | LdnNetworkInfo |
Result ldnGetNetworkInfoLatestUpdate | ( | LdnNetworkInfo * | network_info, |
LdnNodeLatestUpdate * | nodes, | ||
s32 | count | ||
) |
GetNetworkInfoLatestUpdate.
[out] | network_info | LdnNetworkInfo |
[out] | nodes | Output array of LdnNodeLatestUpdate. |
[in] | count | Size of the nodes array in entries, must be 8. |
Result ldnGetSecurityParameter | ( | LdnSecurityParameter * | out | ) |
GetSecurityParameter.
[out] | out | LdnSecurityParameter |
Result ldnmGetIpv4AddressForMonitor | ( | LdnIpv4Address * | addr, |
LdnSubnetMask * | mask | ||
) |
GetIpv4AddressForMonitor.
[out] | addr | LdnIpv4Address |
[out] | mask | LdnSubnetMask |
Result ldnmGetNetworkConfigForMonitor | ( | LdnNetworkConfig * | out | ) |
Result ldnmGetNetworkInfoForMonitor | ( | LdnNetworkInfo * | out | ) |
GetNetworkInfoForMonitor.
[out] | out | LdnNetworkInfo |
Result ldnmGetSecurityParameterForMonitor | ( | LdnSecurityParameter * | out | ) |
GetSecurityParameterForMonitor.
[out] | out | LdnSecurityParameter |
Result ldnOpenAccessPoint | ( | void | ) |
OpenAccessPoint.
Result ldnOpenStation | ( | void | ) |
OpenStation.
Result ldnReject | ( | LdnIpv4Address | addr | ) |
Result ldnScan | ( | s32 | channel, |
const LdnScanFilter * | filter, | ||
LdnNetworkInfo * | network_info, | ||
s32 | count, | ||
s32 * | total_out | ||
) |
Scan.
[in] | channel | Channel, value 0 can be used for this. |
[in] | filter | LdnScanFilter |
[out] | network_info | Output array of LdnNetworkInfo. |
[in] | count | Size of the network_info array in entries. Must be at least 1, this is clamped to a maximum of 0x18 internally. |
[out] | total_out | Total output entries. |
Result ldnScanPrivate | ( | s32 | channel, |
const LdnScanFilter * | filter, | ||
LdnNetworkInfo * | network_info, | ||
s32 | count, | ||
s32 * | total_out | ||
) |
ScanPrivate.
[in] | channel | Channel, value 0 can be used for this. |
[in] | filter | LdnScanFilter |
[out] | network_info | Output array of LdnNetworkInfo. |
[in] | count | Size of the network_info array in entries. Must be at least 1, this is clamped to a maximum of 0x18 internally. |
[out] | total_out | Total output entries. |
Result ldnSetAdvertiseData | ( | const void * | buffer, |
size_t | size | ||
) |
SetAdvertiseData.
[in] | buffer | Input buffer containing arbitrary user data. |
[in] | size | Input buffer size, must be <=0x180. If this isn't enough space, you can for example also periodically use this cmd with different regions of your data with some sequence_number field (or use sockets while connected to the network). |
Result ldnSetOperationMode | ( | LdnOperationMode | mode | ) |
SetOperationMode.
[in] | mode | LdnOperationMode |
Result ldnSetStationAcceptPolicy | ( | LdnAcceptPolicy | policy | ) |
SetStationAcceptPolicy.
[in] | policy | LdnAcceptPolicy |
Result ldnSetWirelessControllerRestriction | ( | LdnWirelessControllerRestriction | restriction | ) |
SetWirelessControllerRestriction.
[in] | restriction | LdnWirelessControllerRestriction |