mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-03 04:34:31 +02:00
tcpip_adapter: add set hostname interface
This commit is contained in:
@@ -372,6 +372,19 @@ wifi_interface_t tcpip_adapter_get_wifi_if(void *dev);
|
|||||||
*/
|
*/
|
||||||
esp_err_t tcpip_adapter_get_sta_list(wifi_sta_list_t *wifi_sta_list, tcpip_adapter_sta_list_t *tcpip_sta_list);
|
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
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@@ -607,4 +607,32 @@ esp_err_t tcpip_adapter_get_sta_list(wifi_sta_list_t *wifi_sta_list, tcpip_adapt
|
|||||||
return ESP_OK;
|
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
|
#endif
|
||||||
|
Reference in New Issue
Block a user