for(i=0;i<num.lifn_count;i++)
{
/* Get IP address */
ioctl(sock,SIOCGLIFADDR,&(lifrs[ i ]));
soap=(struct sockaddr_in *)&(lifrs[ i ].lifr_addr);
soap2=(struct sockaddr_in *)&(ar.arp_pa);
*soap2=*soap;
/* Print IP address */
p=(unsigned char *)&(soap->sin_addr);
printf("%s: %u.%u.%u.%u - ",lifrs[ i ].lifr_name,
p[0],p[1],p[2],p[3]);
/* Get ethernet address */
if(ioctl(sock,SIOCGARP,&ar)<0)
{
printf("No ethernet address.\n");
}
else
{
p=(unsigned char *)&(ar.arp_ha.sa_data);
printf("%02X:%02X:%02X:%02X:%02X:%02X\n",
p[0],p[1],p[2],p[3],p[4],p[5]);
Which part of the above does not work for IPv6?
What happens if you use SIOCGLIFCONF and SIOCGLIFADDR for IPv6?
Hi Darren,
This 2 parts do not work.
It shows NO ethernet address and die IP Addresses always shows a fault
number.
greetings,
_______________________________________________
networking-discuss mailing list
[email protected]