diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2001-02-07 22:50:50 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2001-02-07 22:50:50 +0000 |
commit | 9182099c105321c24a12b53183f92cc58f4e0580 (patch) | |
tree | ec80e1de7965359155d6ff7c68d4d5450e1641a0 /winsup/cygwin/include | |
parent | 93ac44870753d7b4650d2575ae5d68bd0432f59e (diff) | |
download | cygnal-9182099c105321c24a12b53183f92cc58f4e0580.tar.gz cygnal-9182099c105321c24a12b53183f92cc58f4e0580.tar.bz2 cygnal-9182099c105321c24a12b53183f92cc58f4e0580.zip |
* autoload.cc: Add LoadDLLinitfunc for iphlpapi.dll.
Add LoadDLLfuncEx statements for GetIfTable@12 and GetIpAddrTable@12.
* fhandler_socket.cc (fhandler_socket::ioctl): Move variable
definitions to the beginning of the function to allow better debugging.
Add handling for SIOCGIFHWADDR, SIOCGIFMETRIC and SIOCGIFMTU.
* net.cc: Include iphlpapi.h.
(get_2k_ifconf): Rewritten. Uses IP Helper API now.
(get_nt_ifconf): Add handling for SIOCGIFHWADDR, SIOCGIFMETRIC
and SIOCGIFMTU.
(get_95_ifconf): Ditto. Renamed from `get_9x_ifconf'.
(get_ifconf): Name loopback `lo' instead of `lo0' as in Linux.
Add handling for SIOCGIFHWADDR, SIOCGIFMETRIC and SIOCGIFMTU.
Call `get_95_ifconf' only on Windows 95, `get_nt_ifconf' only
on Windows NT < Service Pack 3, `get_2k_ifconf otherwise.
* include/asm/socket.h: Add defines for SIOCGIFHWADDR, SIOCGIFMETRIC
and SIOCGIFMTU.
* include/cygwin/if.h: Add `ifr_hwaddr', `ifr_metric' and `ifr_mtu'.
(struct ifreq): Add `ifru_hwaddr'.
Diffstat (limited to 'winsup/cygwin/include')
-rw-r--r-- | winsup/cygwin/include/asm/socket.h | 9 | ||||
-rw-r--r-- | winsup/cygwin/include/cygwin/if.h | 6 |
2 files changed, 12 insertions, 3 deletions
diff --git a/winsup/cygwin/include/asm/socket.h b/winsup/cygwin/include/asm/socket.h index 905e81505..aa1aa7535 100644 --- a/winsup/cygwin/include/asm/socket.h +++ b/winsup/cygwin/include/asm/socket.h @@ -23,11 +23,14 @@ #define SIOCGLOWAT _IOR('s', 3, u_long) /* get low watermark */ /* Needed for if queries */ -#define SIOCGIFCONF _IOW('s', 100, struct ifconf) /* get if list */ -#define SIOCGIFFLAGS _IOW('s', 101, struct ifreq) /* Get if flags */ -#define SIOCGIFADDR _IOW('s', 102, struct ifreq) /* Get if addr */ +#define SIOCGIFCONF _IOW('s', 100, struct ifconf) /* get if list */ +#define SIOCGIFFLAGS _IOW('s', 101, struct ifreq) /* Get if flags */ +#define SIOCGIFADDR _IOW('s', 102, struct ifreq) /* Get if addr */ #define SIOCGIFBRDADDR _IOW('s', 103, struct ifreq) /* Get if broadcastaddr */ #define SIOCGIFNETMASK _IOW('s', 104, struct ifreq) /* Get if netmask */ +#define SIOCGIFHWADDR _IOW('s', 105, struct ifreq) /* Get hw addr */ +#define SIOCGIFMETRIC _IOW('s', 106, struct ifreq) /* get metric */ +#define SIOCGIFMTU _IOW('s', 107, struct ifreq) /* get MTU size */ #define SOL_SOCKET 0xffff /* options for socket level */ diff --git a/winsup/cygwin/include/cygwin/if.h b/winsup/cygwin/include/cygwin/if.h index fe0b8b4c1..977166ed7 100644 --- a/winsup/cygwin/include/cygwin/if.h +++ b/winsup/cygwin/include/cygwin/if.h @@ -27,6 +27,7 @@ extern "C" { struct ifreq { #define IFNAMSIZ 16 +#define IFHWADDRLEN 6 union { char ifrn_name[IFNAMSIZ]; /* if name, e.g. "en0" */ @@ -36,6 +37,7 @@ struct ifreq struct sockaddr ifru_addr; struct sockaddr ifru_broadaddr; struct sockaddr ifru_netmask; + struct sockaddr ifru_hwaddr; short ifru_flags; int ifru_metric; int ifru_mtu; @@ -47,6 +49,10 @@ struct ifreq #define ifr_broadaddr ifr_ifru.ifru_broadaddr /* broadcast address */ #define ifr_netmask ifr_ifru.ifru_netmask /* interface net mask */ #define ifr_flags ifr_ifru.ifru_flags /* flags */ +#define ifr_hwaddr ifr_ifru.ifru_hwaddr /* MAC address */ +#define ifr_metric ifr_ifru.ifru_metric /* metric */ +#define ifr_mtu ifr_ifru.ifru_mtu /* mtu */ + /* * Structure used in SIOCGIFCONF request. |