static int _set(netdev_t *netdev, netopt_t opt, const void *val, size_t max_len) { ESP_WIFI_DEBUG("%s %p %p %u", netopt2str(opt), netdev, val, max_len); assert(netdev != NULL); assert(val != NULL); esp_wifi_netdev_t *dev = (esp_wifi_netdev_t *) netdev; switch (opt) { case NETOPT_ADDRESS: assert(max_len >= sizeof(dev->mac)); memcpy(dev->mac, val, sizeof(dev->mac)); return sizeof(dev->mac); default: return netdev_eth_set(netdev, opt, val, max_len); } }
static int _set(netdev_t *dev, netopt_t opt, const void *value, size_t value_len) { (void)value_len; int res = 0; switch (opt) { case NETOPT_ADDRESS: assert(value_len >= ETHERNET_ADDR_LEN); _set_mac_addr(dev, (const uint8_t*)value); res = ETHERNET_ADDR_LEN; break; case NETOPT_PROMISCUOUSMODE: _set_promiscous(dev, ((const bool *)value)[0]); res = sizeof(netopt_enable_t); break; default: res = netdev_eth_set(dev, opt, value, value_len); break; } return res; }