Example #1
0
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);
    }
}
Example #2
0
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;
}