#define WIFI_CONFIG_IPV4_METHOD "IPv4.method"
#define WIFI_CONFIG_IPV6_METHOD "IPv6.method"
#define WIFI_CONFIG_IPV4_ADDRESS "IPv4.local_address"
+#define WIFI_CONFIG_IPV4_SUBNET_MASK "IPv4.netmask_prefixlen"
#define WIFI_CONFIG_FAILURE "Failure"
#define WIFI_CONFIG_EAP_ANONYMOUS_IDENTITY "AnonymousIdentity"
#define WIFI_CONFIG_EAP_CACERT "CACertFile"
g_variant_builder_add(b, "{sv}", WIFI_CONFIG_IPV4_ADDRESS,
g_variant_new_string(ip_info->ip_address));
+ if (ip_info->subnet_mask)
+ g_variant_builder_add(b, "{sv}", WIFI_CONFIG_IPV4_SUBNET_MASK,
+ g_variant_new_string(ip_info->subnet_mask));
break;
case NET_IP_CONFIG_TYPE_DYNAMIC:
g_variant_builder_add(b, "{sv}", WIFI_CONFIG_IPV4_METHOD,
return WIFI_MANAGER_ERROR_NONE;
}
+EXPORT_API int wifi_manager_config_set_subnet_mask(wifi_manager_config_h config,
+ wifi_manager_address_family_e address_family, const char *subnet_mask)
+{
+ __NETWORK_CAPI_FUNC_ENTER__;
+
+ CHECK_FEATURE_SUPPORTED(WIFI_FEATURE);
+
+ wifi_config_s *h = (wifi_config_s *)config;
+
+ if (_wifi_check_config_validity(config) == false ||
+ (address_family != WIFI_MANAGER_ADDRESS_FAMILY_IPV4 &&
+ address_family != WIFI_MANAGER_ADDRESS_FAMILY_IPV6)) {
+ WIFI_LOG(WIFI_ERROR, "Invalid parameter"); //LCOV_EXCL_LINE
+ __NETWORK_CAPI_FUNC_EXIT__; //LCOV_EXCL_LINE
+ return WIFI_MANAGER_ERROR_INVALID_PARAMETER; //LCOV_EXCL_LINE
+ }
+
+ h->ip_info->subnet_mask = g_strdup(subnet_mask);
+
+ __NETWORK_CAPI_FUNC_EXIT__;
+
+ return WIFI_MANAGER_ERROR_NONE;
+}
+
EXPORT_API int wifi_manager_config_get_eap_anonymous_identity(wifi_manager_config_h config,
char **anonymous_identity)
{