net_addr_s GatewayAddr; /** Gateway address */
char BServerAddr; /** Whether DHCP Server address present or not */
net_addr_s ServerAddr; /** DHCP Server Address */
+ int DHCPLeaseDuration; /** DHCP Lease duration in seconds */
net_proxy_type_e ProxyMethod; /** Proxy Method type */
char ProxyAddr[NET_PROXY_LEN_MAX+1]; /** Proxy address */
char MacAddr[NET_MAX_MAC_ADDR_LEN+1]; /** MAC address */
__net_extract_ip(value, &net_info->ServerAddr);
net_info->BServerAddr = TRUE;
+ } else if (g_strcmp0(subKey, "DHCPLeaseDuration") == 0) {
+ net_info->DHCPLeaseDuration = g_variant_get_int32(var);
}
}
g_variant_iter_free(iter);
return WIFI_MANAGER_ERROR_NONE;
}
+
+EXPORT_API int wifi_manager_ap_get_dhcp_lease_duration(wifi_manager_ap_h ap,
+ wifi_manager_address_family_e address_family, int* dhcp_lease_duration)
+{
+ CHECK_FEATURE_SUPPORTED(WIFI_FEATURE);
+
+ if (_wifi_check_ap_validity(ap) == false ||
+ (address_family != WIFI_MANAGER_ADDRESS_FAMILY_IPV4 &&
+ address_family != WIFI_MANAGER_ADDRESS_FAMILY_IPV6)) {
+ WIFI_LOG(WIFI_ERROR, "Invalid parameter"); //LCOV_EXCL_LINE
+ return WIFI_MANAGER_ERROR_INVALID_PARAMETER; //LCOV_EXCL_LINE
+ }
+
+ if (address_family == WIFI_MANAGER_ADDRESS_FAMILY_IPV6) {
+ WIFI_LOG(WIFI_ERROR, "Not supported"); //LCOV_EXCL_LINE
+ return WIFI_MANAGER_ERROR_NOT_SUPPORTED; //LCOV_EXCL_LINE
+ }
+
+ net_profile_info_s *profile_info = ap;
+ net_dev_info_s *net_info = &profile_info->net_info;
+
+ WIFI_LOG(WIFI_INFO, "DHCP lease duration %d", net_info->DHCPLeaseDuration);
+
+ *dhcp_lease_duration = net_info->DHCPLeaseDuration;
+
+ return WIFI_MANAGER_ERROR_NONE;
+}
+
EXPORT_API int wifi_manager_ap_get_proxy_address(wifi_manager_ap_h ap,
wifi_manager_address_family_e address_family, char **proxy_address)
{
g_free(str_value);
} else
printf("Fail to get DHCP Server\n");
+ if (wifi_manager_ap_get_dhcp_lease_duration(ap, address_type, &int_value) ==
+ WIFI_MANAGER_ERROR_NONE) {
+ printf("DHCP Lease duration : %d\n", int_value);
+ } else
+ printf("Fail to get DHCP lease duration\n");
}
if (wifi_manager_ap_get_proxy_type(ap, &proxy_type) == WIFI_MANAGER_ERROR_NONE)