예제 #1
0
파일: netdev2_eth.c 프로젝트: JMR-b/RIOT
static int _get_iid(netdev2_t *netdev, eui64_t *value, size_t max_len)
{
    if (max_len < sizeof(eui64_t)) {
        return -EOVERFLOW;
    }

    uint8_t addr[ETHERNET_ADDR_LEN];
    netdev->driver->get(netdev, NETOPT_ADDRESS, addr, ETHERNET_ADDR_LEN);
    ethernet_get_iid(value, addr);

    return sizeof(eui64_t);
}
예제 #2
0
static inline int _get_iid(netdev2_t *netdev, eui64_t *value, size_t max_len)
{
    if (max_len < sizeof(eui64_t)) {
        return -EOVERFLOW;
    }

    uint8_t addr[ETHERNET_ADDR_LEN];
    _get_mac_addr(netdev, addr);
    ethernet_get_iid(value, addr);

    return sizeof(eui64_t);
}
예제 #3
0
static inline int _get_iid(ng_netdev_eth_t *netdev, eui64_t *value, size_t max_len)
{
    if (max_len < sizeof(eui64_t)) {
        /* value buffer not big enough */
        return -EOVERFLOW;
    }

    dev_eth_t *dev = netdev->ethdev;
    uint8_t addr[ETHERNET_ADDR_LEN];
    dev->driver->get_mac_addr(dev, addr);
    ethernet_get_iid(value, addr);

    return sizeof(eui64_t);
}