1 /* 2 * SPDX-FileCopyrightText: 2019-2022 Espressif Systems (Shanghai) CO LTD 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #include <string.h> 8 #include "esp_log.h" 9 #include "esp_netif.h" 10 #include "esp_wifi_ap_get_sta_list.h" 11 12 esp_wifi_ap_get_sta_list_with_ip(const wifi_sta_list_t * wifi_sta_list,wifi_sta_mac_ip_list_t * wifi_sta_ip_mac_list)13esp_err_t esp_wifi_ap_get_sta_list_with_ip(const wifi_sta_list_t *wifi_sta_list, wifi_sta_mac_ip_list_t *wifi_sta_ip_mac_list) 14 { 15 if ((wifi_sta_list == NULL) || (wifi_sta_ip_mac_list == NULL)) { 16 return ESP_ERR_ESP_NETIF_INVALID_PARAMS; 17 } 18 esp_netif_t *ap = esp_netif_get_handle_from_ifkey("WIFI_AP_DEF"); 19 if (ap == NULL) { 20 return ESP_ERR_ESP_NETIF_IF_NOT_READY; 21 } 22 int num = wifi_sta_list->num; 23 wifi_sta_ip_mac_list->num = num; 24 for (int i = 0; i < num; i++) { 25 memcpy(wifi_sta_ip_mac_list->sta[i].mac, wifi_sta_list->sta[i].mac, 6); 26 memset(&wifi_sta_ip_mac_list->sta[i].ip, 0, sizeof(esp_ip4_addr_t)); 27 } 28 return esp_netif_dhcps_get_clients_by_mac(ap, num, wifi_sta_ip_mac_list->sta); 29 } 30