diff --git a/ChangeLog b/ChangeLog index ae0dfc82..cd58f8e5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2006-03-04 Doug MacEachern + * Add net_interface_config.description + * Use IFMIB (GetIfEntry) rather netbios to get hwaddr on Win32 * Add net_interface_config.mtu for Win32 diff --git a/bindings/java/src/jni/generate.pl b/bindings/java/src/jni/generate.pl index 1491b234..6214dd11 100644 --- a/bindings/java/src/jni/generate.pl +++ b/bindings/java/src/jni/generate.pl @@ -680,6 +680,11 @@ my %classes = ( desc => '', plat => '*' }, + { + name => 'description', type => 'String', + desc => '', + plat => '*' + }, { name => 'address', type => 'NetAddr', desc => '', diff --git a/bindings/java/src/net/hyperic/sigar/cmd/Ifconfig.java b/bindings/java/src/net/hyperic/sigar/cmd/Ifconfig.java index e7382602..696cf219 100644 --- a/bindings/java/src/net/hyperic/sigar/cmd/Ifconfig.java +++ b/bindings/java/src/net/hyperic/sigar/cmd/Ifconfig.java @@ -75,6 +75,10 @@ public class Ifconfig extends SigarCommandBase { hwaddr = " HWaddr " + ifconfig.getHwaddr(); } + if (!ifconfig.getName().equals(ifconfig.getDescription())) { + println(ifconfig.getDescription()); + } + println(ifconfig.getName() + "\t" + "Link encap:" + ifconfig.getType() + hwaddr); diff --git a/include/sigar.h b/include/sigar.h index 98847012..065e3482 100644 --- a/include/sigar.h +++ b/include/sigar.h @@ -459,6 +459,7 @@ typedef struct { char name[16]; char hwaddr[64]; char type[64]; + char description[256]; sigar_uint64_t address, destination, diff --git a/src/os/darwin/darwin_sigar.c b/src/os/darwin/darwin_sigar.c index 166d9e32..76180013 100644 --- a/src/os/darwin/darwin_sigar.c +++ b/src/os/darwin/darwin_sigar.c @@ -1798,6 +1798,10 @@ int sigar_net_interface_config_get(sigar_t *sigar, const char *name, close(sock); + /* XXX can we get a better description like win32? */ + SIGAR_SSTRCPY(ifconfig->description, + ifconfig->name); + return SIGAR_OK; } diff --git a/src/os/win32/win32_sigar.c b/src/os/win32/win32_sigar.c index 4dc5dd9f..050331a4 100644 --- a/src/os/win32/win32_sigar.c +++ b/src/os/win32/win32_sigar.c @@ -1985,6 +1985,9 @@ int sigar_get_ifentry_config(sigar_t *sigar, sigar_hwaddr_format(ifconfig->hwaddr, ifr->bPhysAddr); + SIGAR_SSTRCPY(ifconfig->description, + ifr->bDescr); + return SIGAR_OK; } diff --git a/src/sigar.c b/src/sigar.c index 745c30f9..23cfbc4d 100644 --- a/src/sigar.c +++ b/src/sigar.c @@ -1306,6 +1306,10 @@ int sigar_net_interface_config_get(sigar_t *sigar, const char *name, close(sock); + /* XXX can we get a better description like win32? */ + SIGAR_SSTRCPY(ifconfig->description, + ifconfig->name); + return SIGAR_OK; } diff --git a/src/sigar_win32ish.c b/src/sigar_win32ish.c index fd1ea201..329170c5 100644 --- a/src/sigar_win32ish.c +++ b/src/sigar_win32ish.c @@ -250,6 +250,12 @@ sigar_net_interface_config_get(sigar_t *sigar, SIGAR_NIC_ETHERNET); } + /* should be overridden w/ better description + * using MIB_IFROW.bDescr when hwaddr is lookedup + */ + SIGAR_SSTRCPY(ifconfig->description, + ifconfig->name); + hwaddr_lookup(sigar, ifconfig, i); if (flags & IFF_POINTTOPOINT) {