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