service: nifm: Match documentation names
This commit is contained in:
		| @@ -22,15 +22,19 @@ namespace { | ||||
|  | ||||
| namespace Service::NIFM { | ||||
|  | ||||
| // This is nn::nifm::RequestState | ||||
| enum class RequestState : u32 { | ||||
|     NotSubmitted = 1, | ||||
|     Error = 1, ///< The duplicate 1 is intentional; it means both not submitted and error on HW. | ||||
|     Pending = 2, | ||||
|     Connected = 3, | ||||
|     Invalid = 1, ///< The duplicate 1 is intentional; it means both not submitted and error on HW. | ||||
|     OnHold = 2, | ||||
|     Accepted = 3, | ||||
|     Blocking = 4, | ||||
| }; | ||||
|  | ||||
| enum class InternetConnectionType : u8 { | ||||
|     WiFi = 1, | ||||
| // This is nn::nifm::NetworkInterfaceType | ||||
| enum class NetworkInterfaceType : u32 { | ||||
|     Invalid = 0, | ||||
|     WiFi_Ieee80211 = 1, | ||||
|     Ethernet = 2, | ||||
| }; | ||||
|  | ||||
| @@ -42,14 +46,23 @@ enum class InternetConnectionStatus : u8 { | ||||
|     Connected, | ||||
| }; | ||||
|  | ||||
| // This is nn::nifm::NetworkProfileType | ||||
| enum class NetworkProfileType : u32 { | ||||
|     User, | ||||
|     SsidList, | ||||
|     Temporary, | ||||
| }; | ||||
|  | ||||
| // This is nn::nifm::IpAddressSetting | ||||
| struct IpAddressSetting { | ||||
|     bool is_automatic{}; | ||||
|     Network::IPv4Address current_address{}; | ||||
|     Network::IPv4Address ip_address{}; | ||||
|     Network::IPv4Address subnet_mask{}; | ||||
|     Network::IPv4Address gateway{}; | ||||
|     Network::IPv4Address default_gateway{}; | ||||
| }; | ||||
| static_assert(sizeof(IpAddressSetting) == 0xD, "IpAddressSetting has incorrect size."); | ||||
|  | ||||
| // This is nn::nifm::DnsSetting | ||||
| struct DnsSetting { | ||||
|     bool is_automatic{}; | ||||
|     Network::IPv4Address primary_dns{}; | ||||
| @@ -57,18 +70,26 @@ struct DnsSetting { | ||||
| }; | ||||
| static_assert(sizeof(DnsSetting) == 0x9, "DnsSetting has incorrect size."); | ||||
|  | ||||
| // This is nn::nifm::AuthenticationSetting | ||||
| struct AuthenticationSetting { | ||||
|     bool is_enabled{}; | ||||
|     std::array<char, 0x20> user{}; | ||||
|     std::array<char, 0x20> password{}; | ||||
| }; | ||||
| static_assert(sizeof(AuthenticationSetting) == 0x41, "AuthenticationSetting has incorrect size."); | ||||
|  | ||||
| // This is nn::nifm::ProxySetting | ||||
| struct ProxySetting { | ||||
|     bool enabled{}; | ||||
|     bool is_enabled{}; | ||||
|     INSERT_PADDING_BYTES(1); | ||||
|     u16 port{}; | ||||
|     std::array<char, 0x64> proxy_server{}; | ||||
|     bool automatic_auth_enabled{}; | ||||
|     std::array<char, 0x20> user{}; | ||||
|     std::array<char, 0x20> password{}; | ||||
|     AuthenticationSetting authentication{}; | ||||
|     INSERT_PADDING_BYTES(1); | ||||
| }; | ||||
| static_assert(sizeof(ProxySetting) == 0xAA, "ProxySetting has incorrect size."); | ||||
|  | ||||
| // This is nn::nifm::IpSettingData | ||||
| struct IpSettingData { | ||||
|     IpAddressSetting ip_address_setting{}; | ||||
|     DnsSetting dns_setting{}; | ||||
| @@ -101,6 +122,7 @@ static_assert(sizeof(NifmWirelessSettingData) == 0x70, | ||||
|               "NifmWirelessSettingData has incorrect size."); | ||||
|  | ||||
| #pragma pack(push, 1) | ||||
| // This is nn::nifm::detail::sf::NetworkProfileData | ||||
| struct SfNetworkProfileData { | ||||
|     IpSettingData ip_setting_data{}; | ||||
|     u128 uuid{}; | ||||
| @@ -114,13 +136,14 @@ struct SfNetworkProfileData { | ||||
| }; | ||||
| static_assert(sizeof(SfNetworkProfileData) == 0x17C, "SfNetworkProfileData has incorrect size."); | ||||
|  | ||||
| // This is nn::nifm::NetworkProfileData | ||||
| struct NifmNetworkProfileData { | ||||
|     u128 uuid{}; | ||||
|     std::array<char, 0x40> network_name{}; | ||||
|     u32 unknown_1{}; | ||||
|     u32 unknown_2{}; | ||||
|     u8 unknown_3{}; | ||||
|     u8 unknown_4{}; | ||||
|     NetworkProfileType network_profile_type{}; | ||||
|     NetworkInterfaceType network_interface_type{}; | ||||
|     bool is_auto_connect{}; | ||||
|     bool is_large_capacity{}; | ||||
|     INSERT_PADDING_BYTES(2); | ||||
|     NifmWirelessSettingData wireless_setting_data{}; | ||||
|     IpSettingData ip_setting_data{}; | ||||
| @@ -196,7 +219,7 @@ private: | ||||
|         LOG_WARNING(Service_NIFM, "(STUBBED) called"); | ||||
|  | ||||
|         if (state == RequestState::NotSubmitted) { | ||||
|             UpdateState(RequestState::Pending); | ||||
|             UpdateState(RequestState::OnHold); | ||||
|         } | ||||
|  | ||||
|         IPC::ResponseBuilder rb{ctx, 2}; | ||||
| @@ -219,14 +242,14 @@ private: | ||||
|             switch (state) { | ||||
|             case RequestState::NotSubmitted: | ||||
|                 return has_connection ? ResultSuccess : ResultNetworkCommunicationDisabled; | ||||
|             case RequestState::Pending: | ||||
|             case RequestState::OnHold: | ||||
|                 if (has_connection) { | ||||
|                     UpdateState(RequestState::Connected); | ||||
|                     UpdateState(RequestState::Accepted); | ||||
|                 } else { | ||||
|                     UpdateState(RequestState::Error); | ||||
|                     UpdateState(RequestState::Invalid); | ||||
|                 } | ||||
|                 return ResultPendingConnection; | ||||
|             case RequestState::Connected: | ||||
|             case RequestState::Accepted: | ||||
|             default: | ||||
|                 return ResultSuccess; | ||||
|             } | ||||
| @@ -338,9 +361,9 @@ void IGeneralService::GetCurrentNetworkProfile(Kernel::HLERequestContext& ctx) { | ||||
|             .ip_setting_data{ | ||||
|                 .ip_address_setting{ | ||||
|                     .is_automatic{true}, | ||||
|                     .current_address{Network::TranslateIPv4(net_iface->ip_address)}, | ||||
|                     .ip_address{Network::TranslateIPv4(net_iface->ip_address)}, | ||||
|                     .subnet_mask{Network::TranslateIPv4(net_iface->subnet_mask)}, | ||||
|                     .gateway{Network::TranslateIPv4(net_iface->gateway)}, | ||||
|                     .default_gateway{Network::TranslateIPv4(net_iface->gateway)}, | ||||
|                 }, | ||||
|                 .dns_setting{ | ||||
|                     .is_automatic{true}, | ||||
| @@ -348,12 +371,14 @@ void IGeneralService::GetCurrentNetworkProfile(Kernel::HLERequestContext& ctx) { | ||||
|                     .secondary_dns{1, 0, 0, 1}, | ||||
|                 }, | ||||
|                 .proxy_setting{ | ||||
|                     .enabled{false}, | ||||
|                     .is_enabled{false}, | ||||
|                     .port{}, | ||||
|                     .proxy_server{}, | ||||
|                     .automatic_auth_enabled{}, | ||||
|                     .user{}, | ||||
|                     .password{}, | ||||
|                     .authentication{ | ||||
|                         .is_enabled{}, | ||||
|                         .user{}, | ||||
|                         .password{}, | ||||
|                     }, | ||||
|                 }, | ||||
|                 .mtu{1500}, | ||||
|             }, | ||||
| @@ -370,7 +395,7 @@ void IGeneralService::GetCurrentNetworkProfile(Kernel::HLERequestContext& ctx) { | ||||
|     // When we're connected to a room, spoof the hosts IP address | ||||
|     if (auto room_member = network.GetRoomMember().lock()) { | ||||
|         if (room_member->IsConnected()) { | ||||
|             network_profile_data.ip_setting_data.ip_address_setting.current_address = | ||||
|             network_profile_data.ip_setting_data.ip_address_setting.ip_address = | ||||
|                 room_member->GetFakeIpAddress(); | ||||
|         } | ||||
|     } | ||||
| @@ -444,9 +469,9 @@ void IGeneralService::GetCurrentIpConfigInfo(Kernel::HLERequestContext& ctx) { | ||||
|         return IpConfigInfo{ | ||||
|             .ip_address_setting{ | ||||
|                 .is_automatic{true}, | ||||
|                 .current_address{Network::TranslateIPv4(net_iface->ip_address)}, | ||||
|                 .ip_address{Network::TranslateIPv4(net_iface->ip_address)}, | ||||
|                 .subnet_mask{Network::TranslateIPv4(net_iface->subnet_mask)}, | ||||
|                 .gateway{Network::TranslateIPv4(net_iface->gateway)}, | ||||
|                 .default_gateway{Network::TranslateIPv4(net_iface->gateway)}, | ||||
|             }, | ||||
|             .dns_setting{ | ||||
|                 .is_automatic{true}, | ||||
| @@ -459,7 +484,7 @@ void IGeneralService::GetCurrentIpConfigInfo(Kernel::HLERequestContext& ctx) { | ||||
|     // When we're connected to a room, spoof the hosts IP address | ||||
|     if (auto room_member = network.GetRoomMember().lock()) { | ||||
|         if (room_member->IsConnected()) { | ||||
|             ip_config_info.ip_address_setting.current_address = room_member->GetFakeIpAddress(); | ||||
|             ip_config_info.ip_address_setting.ip_address = room_member->GetFakeIpAddress(); | ||||
|         } | ||||
|     } | ||||
|  | ||||
| @@ -480,7 +505,7 @@ void IGeneralService::GetInternetConnectionStatus(Kernel::HLERequestContext& ctx | ||||
|     LOG_WARNING(Service_NIFM, "(STUBBED) called"); | ||||
|  | ||||
|     struct Output { | ||||
|         InternetConnectionType type{InternetConnectionType::WiFi}; | ||||
|         u8 type{static_cast<u8>(NetworkInterfaceType::WiFi_Ieee80211)}; | ||||
|         u8 wifi_strength{3}; | ||||
|         InternetConnectionStatus state{InternetConnectionStatus::Connected}; | ||||
|     }; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user