LINUX.ORG.RU

MAC address & ioctl


0

0

значит, вытаскиваю я из сокета мак-аддресс своей сетевухи с помощью ioctl. int sock; struct ifreq ifr; struct sockaddr memset(&ifr, 0, sizeof(ifr)); sock = socket(AF_INET, SOCK_PACKET, htons(ETH_P_ARP)); strcpy(ifr.ifr_name, "eth0"); ifr.ifr_ifindex = if_nametoindex(ifr.ifr_name); ioctl(sock, SIOCGIFHWADDR, &ifr); /**************************************************/ printf("family: %d\n", ifr.ifr_hwaddr.sa_family); printf("data: %s\n", ifr.ifr_hwaddr.sa_data); /*************************************************/ так вот...прога выводит family: 1 /*т.е. ARPHRD_ETHER */ а для data нихрена невыводит, в заголовках указано, что в структуре struct sockaddr есть поле: char sa_data[14]; Вопрос: что в этой sa_data должно быть при ioctl запросе "get MAC address"


Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.