* This function will set network interface device DNS server address. * * @param netdev the network interface device to change * @param dns_num the number of the DNS server * @param dns_server the new DNS server address * * @return 0: set netmask address successfully * -1: set netmask address failed */
| 775 | * -1: set netmask address failed |
| 776 | */ |
| 777 | int netdev_set_dns_server(struct netdev *netdev, uint8_t dns_num, const ip_addr_t *dns_server) |
| 778 | { |
| 779 | RT_ASSERT(netdev); |
| 780 | RT_ASSERT(dns_server); |
| 781 | |
| 782 | if (dns_num >= NETDEV_DNS_SERVERS_NUM) |
| 783 | { |
| 784 | LOG_E("The number of DNS servers(%d) set exceeds the maximum number(%d).", dns_num + 1, NETDEV_DNS_SERVERS_NUM); |
| 785 | return -RT_ERROR; |
| 786 | } |
| 787 | |
| 788 | if (!netdev->ops || !netdev->ops->set_dns_server) |
| 789 | { |
| 790 | LOG_E("The network interface device(%s) not support to set DNS server address.", netdev->name); |
| 791 | return -RT_ERROR; |
| 792 | } |
| 793 | |
| 794 | /* execute network interface device set DNS server address operations */ |
| 795 | return netdev->ops->set_dns_server(netdev, dns_num, (ip_addr_t *)dns_server); |
| 796 | } |
| 797 | |
| 798 | /** |
| 799 | * This function will set network interface device IP, gateway and netmask address according to device name. |
no outgoing calls