Network Interface services: Difference between revisions

No edit summary
No edit summary
Line 286: Line 286:


==== SetConnectionConfirmationOption ====
==== SetConnectionConfirmationOption ====
Set how to verify the internet connection.
Takes an input [[#ConnectionConfirmationOption]]. No output.
 
{| class="wikitable" border="1"
|-
! Option || Description
|-
| 0 ||
|-
| 1 ||
|-
| 2 || "Local" network (does not check for working DNS)
|-
| 3 ||
|-
| 4 || Default
|-
| 5 ||
|-
|}


==== SetPersistent ====
==== SetPersistent ====
Line 361: Line 343:


= ClientId =
= ClientId =
This is "nn::nifm::ClientId". This contains an u32.
This is "nn::nifm::ClientId". This is a 0x4-byte struct.


= SfNetworkProfileData =
= SfNetworkProfileData =
Line 372: Line 354:
! Description
! Description
|-
|-
| 0x0 || 0xC2 || [[#IpSettingData]]
| 0x0 || 0xC2 || [[#IpSettingData|IpSetting]]
|-
|-
| 0xC2 || 0x10 || "nn::util::Uuid"
| 0xC2 || 0x10 || Id
|-
|-
| 0xD2 || 0x40 || NUL-terminated Network Name string
| 0xD2 || 0x40 || Name (NUL-terminated Network Name string)
|-
|-
| 0x112 || 0x1 ||  
| 0x112 || 0x1 ||  
Line 386: Line 368:
| 0x115 || 0x1 ||  
| 0x115 || 0x1 ||  
|-
|-
| 0x116 || 0x65 || [[#SfWirelessSettingData]]
| 0x116 || 0x65 || [[#SfWirelessSettingData|SfWirelessSettingData]]
|-
|-
| 0x17B || 0x1 || Padding
| 0x17B || 0x1 || Reserved
|}
|}


Line 400: Line 382:
! Description
! Description
|-
|-
| 0x0 || 0x10 || "nn::util::Uuid"
| 0x0 || 0x10 || Id
|-
|-
| 0x10 || 0x40 || NUL-terminated Network Name string
| 0x10 || 0x40 || Name (NUL-terminated Network Name string)
|-
|-
| 0x50 || 0x4 ||  
| 0x50 || 0x4 || [[#NetworkProfileType|NetworkProfileType]]
|-
|-
| 0x54 || 0x4 ||  
| 0x54 || 0x4 || [[#NetworkInterfaceType|NetworkInterfaceType]]
|-
|-
| 0x58 || 0x1 ||  
| 0x58 || 0x1 || IsAutoConnect
|-
|-
| 0x59 || 0x1 ||  
| 0x59 || 0x1 || IsLargeCapacity
|-
|-
| 0x5A || 0x2 || Padding
| 0x5A || 0x2 || Reserved
|-
|-
| 0x5C || 0x70 || [[#WirelessSettingData]]
| 0x5C || 0x70 || [[#WirelessSettingData|WirelessSetting]]
|-
|-
| 0xCC || 0xC2 || [[#IpSettingData]]
| 0xCC || 0xC2 || [[#IpSettingData|IpSetting]]
|}
 
= NetworkProfileType =
This is "nn::nifm::NetworkProfileType".
 
{| class="wikitable" border="1"
|-
! Bits
! Description
|-
| 0 || User
|-
| 1 || SsidList
|-
| 2 || Temporary
|}
 
= NetworkInterfaceType =
This is "nn::nifm::NetworkInterfaceType".
 
{| class="wikitable" border="1"
|-
! Value
! Description
|-
| 0 || Invalid
|-
| 1 || Ieee80211
|-
| 2 || Ethernet
|}
|}


Line 428: Line 440:
! Description
! Description
|-
|-
| 0x0 || 0x1 || SSID length (Clamped to max len 0x20 during [[#NetworkProfileData]] conversion)
| 0x0 || 0x21 || [[#Ssid|Ssid]] (length is clamped to 0x20 during [[#NetworkProfileData]] conversion)
|-
| 0x1 || 0x20 || SSID string
|-
|-
| 0x21 || 0x1 ||  
| 0x21 || 0x1 ||  
Line 438: Line 448:
| 0x23 || 0x1 ||  
| 0x23 || 0x1 ||  
|-
|-
| 0x24 || 0x41 || Passphrase
| 0x24 || 0x41 || [[#SharedKey|SharedKey]]
|}
|}


Line 450: Line 460:
! Description
! Description
|-
|-
| 0x0 || 0x1 || SSID [[#SfWirelessSettingData|length]]
| 0x0 || 0x22 || [[#SsidConfig|SsidConfig]]
|-
| 0x23 || 0x2 || Reserved
|-
| 0x24 || 0x4C || [[#Security|Security]]
|}
 
= SsidConfig =
This is "nn::nifm::SsidConfig". This is a 0x22-byte struct.
 
{| class="wikitable" border="1"
|-
! Offset
! Size
! Description
|-
| 0x0 || 0x21 || [[#Ssid|Ssid]]
|-
|-
| 0x1 || 0x21 || NUL-terminated SSID string
| 0x21 || 0x1 || NonBroadcast
|}
 
= Security =
This is "nn::nifm::Security". This is a 0x4C-byte struct.
 
{| class="wikitable" border="1"
|-
|-
| 0x22 || 0x1 ||  
! Offset
! Size
! Description
|-
| 0x0 || 0x8 || [[#AuthEncryption|AuthEncryption]]
|-
| 0x8 || 0x41 || [[#SharedKey|SharedKey]]
|-
| 0x49 || 0x3 || Reserved
|}
 
= Ssid =
This is "nn::nifm::Ssid". This is a 0x21-byte struct.
 
{| class="wikitable" border="1"
|-
! Offset
! Size
! Description
|-
| 0x0 || 0x1 || Length
|-
| 0x1 || 0x20 || Hex (NUL-terminated SSID string)
|}
 
= AuthEncryption =
This is "nn::nifm::AuthEncryption". This is a 0x8-byte struct.
 
{| class="wikitable" border="1"
|-
! Offset
! Size
! Description
|-
| 0x0 || 0x4 || [[#Authentication|Authentication]]
|-
| 0x4 || 0x4 || [[#Encryption|Encryption]]
|}
 
= SharedKey =
This is "nn::nifm::SharedKey". This is a 0x41-byte struct.
 
{| class="wikitable" border="1"
|-
! Offset
! Size
! Description
|-
| 0x0 || 0x1 || Length
|-
| 0x1 || 0x40 || KeyMaterial
|}
 
= Authentication =
This is "nn::nifm::Authentication".
 
{| class="wikitable" border="1"
|-
! Value
! Description
|-
| 0 || Invalid
|-
| 1 || Open
|-
| 2 || Shared
|-
| 3 || Wpa
|-
| 4 || WpaPsk
|-
| 5 || Wpa2
|-
| 6 || Wpa2Psk
|-
| 7 || Unknown
|}
 
= Encryption =
This is "nn::nifm::Encryption".
 
{| class="wikitable" border="1"
|-
! Value
! Description
|-
|-
| 0x23 || 0x1 || Padding
| 0 || Invalid
|-
|-
| 0x24 || 0x4 ||  
| 1 || None
|-
|-
| 0x28 || 0x4 ||  
| 2 || Wep
|-
|-
| 0x2C || 0x41 || Passphrase
| 3 || Tkip
|-
|-
| 0x6D || 0x3 || Padding
| 4 || Aes
|}
|}


Line 476: Line 592:
! Description
! Description
|-
|-
| 0x0 || 0xD || [[#IpAddressSetting]]
| 0x0 || 0xD || [[#IpAddressSetting|Ip]]
|-
|-
| 0xD || 0x9 || [[#DnsSetting]]
| 0xD || 0x9 || [[#DnsSetting|Dns]]
|-
|-
| 0x16 || 0xAA || [[#ProxySetting]]
| 0x16 || 0xAA || [[#ProxySetting|Proxy]]
|-
|-
| 0xC0 || 0x2 || MTU
| 0xC0 || 0x2 || Mtu
|}
|}


Line 494: Line 610:
! Description
! Description
|-
|-
| 0x0 || 0x1 || Enables using the proxy when set.
| 0x0 || 0x1 || IsEnabled
|-
|-
| 0x1 || 0x1 || Padding
| 0x1 || 0x1 || Reserved
|-
|-
| 0x2 || 0x2 || Port
| 0x2 || 0x2 || Port
|-
|-
| 0x4 || 0x64 || Server string, NUL-terminated.
| 0x4 || 0x64 || Proxy (server string, NUL-terminated)
|-
| 0x68 || 0x41 || [[#AuthenticationSetting|Authentication]]
|-
| 0xA9 || 0x1 || Reserved
|}
 
= AuthenticationSetting =
This is "nn::nifm::AuthenticationSetting". This is a 0x41-byte struct.
 
{| class="wikitable" border="1"
|-
|-
| 0x68 || 0x1 || Enables auto-authentication when set, which uses the following two strings.
! Offset
! Size
! Description
|-
|-
| 0x69 || 0x20 || User string, NUL-terminated.
| 0x0 || 0x1 || IsEnabled
|-
|-
| 0x89 || 0x20 || Password string, NUL-terminated.
| 0x1 || 0x20 || Username (user string, NUL-terminated)
|-
|-
| 0xA9 || 0x1 || Padding
| 0x21 || 0x20 || Password (password string, NUL-terminated)
|}
|}


Line 525: Line 653:
! Description
! Description
|-
|-
| 0x0 || 0x1 || Whether this setting is automatic. Ignored by [[#GetCurrentIpConfigInfo]].
| 0x0 || 0x1 || IsAuto (Ignored by [[#GetCurrentIpConfigInfo]])
|-
|-
| 0x1 || 0x4 || Copied to an output <code>struct in_addr</code> by sdknso. Same as the output from [[#GetCurrentIpAddress]].
| 0x1 || 0x4 || IpAddress (Copied to an output <code>struct in_addr</code> by sdknso)
|-
|-
| 0x5 || 0x4 || Copied to an output <code>struct in_addr</code> by sdknso. Subnet Mask.
| 0x5 || 0x4 || SubnetMask (Copied to an output <code>struct in_addr</code> by sdknso)
|-
|-
| 0x9 || 0x4 || Copied to an output <code>struct in_addr</code> by sdknso. Gateway.
| 0x9 || 0x4 || DefaultGateway (Copied to an output <code>struct in_addr</code> by sdknso)
|}
|}


Line 543: Line 671:
! Description
! Description
|-
|-
| 0x0 || 0x1 || Whether this setting is automatic. Ignored by [[#GetCurrentIpConfigInfo]].
| 0x0 || 0x1 || IsAuto (Ignored by [[#GetCurrentIpConfigInfo]])
|-
| 0x1 || 0x4 || PreferredDns (Copied to an output <code>struct in_addr</code> by sdknso)
|-
| 0x5 || 0x4 || AlternateDns (Copied to an output <code>struct in_addr</code> by sdknso)
|}
 
= ConnectionConfirmationOption =
This is "nn::nifm::ConnectionConfirmationOption".
 
{| class="wikitable" border="1"
|-
! Value
! Description
|-
| 0 || Invalid
|-
| 1 || Prohibited
|-
| 2 || NotRequired
|-
| 3 || Preferred
|-
|-
| 0x1 || 0x4 || Copied to an output <code>struct in_addr</code> by sdknso. Primary DNS server.
| 4 || Required
|-
|-
| 0x5 || 0x4 || Copied to an output <code>struct in_addr</code> by sdknso. Secondary DNS server.
| 5 || Forced
|}
|}


[[Category:Services]]
[[Category:Services]]