www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2010/08/09/05:03:22

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-0.7 required=5.0 tests=AWL,BAYES_00,RCVD_NUMERIC_HELO
X-Spam-Check-By: sourceware.org
To: cygwin AT cygwin DOT com
Subject: Ethernet interface names with cygwin 1.7.5
MIME-Version: 1.0
X-KeepSent: 47560A7F:E0551056-C125777A:0031B63E; type=4; name=$KeepSent
Message-ID: <OF47560A7F.E0551056-ONC125777A.0031B63E-C125777A.0031C19F@atlascopco.com>
From: laurent DOT metais AT cp DOT com
Date: Mon, 9 Aug 2010 11:03:28 +0200
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

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 -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019