Mail Archives: cygwin/2010/08/09/05:03:22
Hello !
I am using a very simple to find all ethernet on my PC with cygwin :
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <net/if.h>
int get_iface_list(struct ifconf *ifconf)
{
int sock, rval;
sock =3D socket(AF_INET,SOCK_STREAM,0);
if(sock < 0)
{
perror("socket");
return (-1);
}
if((rval =3D ioctl(sock, SIOCGIFCONF , (char*) ifconf )) < 0 )
perror("ioctl(SIOGIFCONF)");
close(sock);
return rval;
}
int main()
{
static struct ifreq ifreqs[20];
struct ifconf ifconf;
int nifaces, i;
memset(&ifconf,0,sizeof(ifconf));
ifconf.ifc_buf =3D (char*) (ifreqs);
ifconf.ifc_len =3D sizeof(ifreqs);
if(get_iface_list(&ifconf) < 0) exit(-1);
nifaces =3D ifconf.ifc_len/sizeof(struct ifreq);
printf("Interfaces (count =3D %d):\n", nifaces);
for(i =3D 0; i < nifaces; i++)
{
printf("\t%-10s\n", ifreqs[i].ifr_name);
}
}
With cygwin 1.7.5 the result is :
$ ./a.exe
Interfaces (count =3D 5):
{EE0A9E93-9A06-4CCB-B957-074C921D39FB}
{46D151B0-33BB-4706-A450-B29F50F8095A}
{B9BDEE37-C781-447B-B457-D4B17C576948}
{A46ED7E6-A8A7-431E-BDE0-68DBEA2D334D}
MS TCP Loopback interface
with release 1.5.25, the result was using the well-known names (lo0, eth0,=
=20
eth1, etc...).
How can retrieve the standard names with release 1.7.5 ? Is it a new=20
naming convention ?
Thanks for your help.
Best Regards,
Laurent M=E9tais
Software Designer=20
CP Technocenter=20
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
- Raw text -