Can we have some readable return codes? Not -1 -2 and etc?

Something like that:
/** > 0  success, size of mac is returned,
 * < 0  -ERROR is returned
**/
ssize_t odp_pktio_mac_addr(odp_pktio_t id, unsigned char *mac_addr,
               size_t addr_size)
{
    pktio_entry_t *entry;
    int sockfd;
    struct ifreq ifr;
    int ret;

    if (addr_size < ETH_ALEN)
        return -ENOMEM;

    entry = get_entry(id);
    if (entry == NULL) {
        ODP_DBG("pktio entry %d does not exist\n", id);
        return -ENOENT;
    }

    if (entry->s.pkt_sock_mmap.sockfd > -1)
        sockfd = entry->s.pkt_sock_mmap.sockfd;
    else
        sockfd = entry->s.pkt_sock.sockfd;

    strncpy(ifr.ifr_name, entry->s.name, IFNAMSIZ - 1);
    ifr.ifr_name[IFNAMSIZ] = 0;

    ret = ioctl(sockfd, SIOCGIFHWADDR, &ifr);
    if (ret < 0) {
        ODP_DBG("ioctl SIOCGIFHWADDR error\n");
        return ret;
    }

    memcpy(mac_addr, (unsigned char *)ifr.ifr_ifru.ifru_hwaddr.sa_data,
           ETH_ALEN);

    return ETH_ALEN;
}

_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to