*/
esp_err_t tcpip_adapter_get_sta_list(wifi_sta_list_t *wifi_sta_list, tcpip_adapter_sta_list_t *tcpip_sta_list);
+#define TCPIP_HOSTNAME_MAX_SIZE 31
+/**
+ * @brief Set the hostname to the interface
+ *
+ * @param[in] tcpip_if: the interface which we will set the hostname
+ * @param[in] hostname: the host name for set the interfce
+ *
+ * @return ESP_OK:success
+ * ESP_ERR_TCPIP_ADAPTER_IF_NOT_READY:interface status error
+ * ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS:parameter error
+ */
+esp_err_t tcpip_adapter_set_hostname(tcpip_adapter_if_t tcpip_if, const char *hostname);
+
#ifdef __cplusplus
}
#endif
return ESP_OK;
}
+esp_err_t tcpip_adapter_set_hostname(tcpip_adapter_if_t tcpip_if, const char *hostname)
+{
+ struct netif *p_netif;
+ static char hostinfo[TCPIP_HOSTNAME_MAX_SIZE + 1];
+
+ if (tcpip_if >= TCPIP_ADAPTER_IF_MAX || hostname == NULL) {
+ return ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS;
+ }
+
+ if (strlen(hostname) >= TCPIP_HOSTNAME_MAX_SIZE) {
+ return ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS;
+ }
+
+ p_netif = esp_netif[tcpip_if];
+ if (p_netif != NULL) {
+ if (netif_is_up(p_netif)) {
+ return ESP_ERR_TCPIP_ADAPTER_IF_NOT_READY;
+ } else {
+ memset(hostinfo, 0, sizeof(hostinfo));
+ memcpy(hostinfo, hostname, strlen(hostname));
+ p_netif->hostname = hostinfo;
+ return ESP_OK;
+ }
+ } else {
+ return ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS;
+ }
+}
+
#endif