summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fhandler_socket.cc
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2007-01-16 12:01:36 +0000
committerCorinna Vinschen <corinna@vinschen.de>2007-01-16 12:01:36 +0000
commit835fc32a3ae2bfcbb7c4b16dbbe3fc5906fd99d1 (patch)
treeaba7a98c444702f9fce0a5ec0b35bb2649c534d3 /winsup/cygwin/fhandler_socket.cc
parent2fd167e6de34199a834a88a5d61a7b67e3a0d6c9 (diff)
downloadcygnal-835fc32a3ae2bfcbb7c4b16dbbe3fc5906fd99d1.tar.gz
cygnal-835fc32a3ae2bfcbb7c4b16dbbe3fc5906fd99d1.tar.bz2
cygnal-835fc32a3ae2bfcbb7c4b16dbbe3fc5906fd99d1.zip
* fhandler_socket.cc (fhandler_socket::ioctl): Handle SIOCGIFINDEX.
* net.cc (get_2k_ifconf): Ditto. (get_nt_ifconf): Fake SIOCGIFINDEX. (get_95_ifconf): Ditto. (get_ifconf): Handle SIOCGIFINDEX. Fake it for loopback on systems not supporting IP Helper Lib. * include/asm/socket.h (SIOCGIFINDEX): Define. * include/cygwin/if.h (struct ifreq): Add member for interface index. (ifr_ifindex): Define.
Diffstat (limited to 'winsup/cygwin/fhandler_socket.cc')
-rw-r--r--winsup/cygwin/fhandler_socket.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/winsup/cygwin/fhandler_socket.cc b/winsup/cygwin/fhandler_socket.cc
index 3f7799eec..0ef0f593d 100644
--- a/winsup/cygwin/fhandler_socket.cc
+++ b/winsup/cygwin/fhandler_socket.cc
@@ -1419,6 +1419,7 @@ fhandler_socket::ioctl (unsigned int cmd, void *p)
case SIOCGIFHWADDR:
case SIOCGIFMETRIC:
case SIOCGIFMTU:
+ case SIOCGIFINDEX:
{
ifc.ifc_len = 2048;
ifc.ifc_buf = (char *) alloca (2048);
@@ -1469,6 +1470,9 @@ fhandler_socket::ioctl (unsigned int cmd, void *p)
case SIOCGIFMTU:
ifr->ifr_mtu = ifrp->ifr_mtu;
break;
+ case SIOCGIFINDEX:
+ ifr->ifr_ifindex = ifrp->ifr_ifindex;
+ break;
}
break;
}