summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlli Savia <ops@iki.fi>2009-07-09 11:55:53 +0000
committerOlli Savia <ops@iki.fi>2009-07-09 11:55:53 +0000
commit52ed9a15704e956d7d3fa64c73f3e6a076176a80 (patch)
treea74847b31c0a06e93b9249f4bcdeed6a61454e4d
parent2ad1adaf45a8efb77f99f9d0bb1f0170f98930ba (diff)
downloadATCD-52ed9a15704e956d7d3fa64c73f3e6a076176a80.tar.gz
ChangeLogTag: Thu Jul 9 11:54:57 UTC 2009 Olli Savia <ops@iki.fi>
-rw-r--r--ACE/ChangeLog5
-rw-r--r--ACE/ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp16
2 files changed, 20 insertions, 1 deletions
diff --git a/ACE/ChangeLog b/ACE/ChangeLog
index 4879692b8ef..e8949d40767 100644
--- a/ACE/ChangeLog
+++ b/ACE/ChangeLog
@@ -1,3 +1,8 @@
+Thu Jul 9 11:54:57 UTC 2009 Olli Savia <ops@iki.fi>
+
+ * ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp:
+ Added support for OpenBSD.
+
Thu Jul 9 06:44:32 UTC 2009 Olli Savia <ops@iki.fi>
* ace/Monitor_Control/Bytes_Received_Monitor.h:
diff --git a/ACE/ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp b/ACE/ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp
index 3d9d191a797..b76bb07aea4 100644
--- a/ACE/ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp
+++ b/ACE/ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp
@@ -80,16 +80,30 @@ namespace ACE
p = ifa->ifa_name;
+#if defined (__OpenBSD__)
+ struct ifreq ifdr;
+#else
struct ifdatareq ifdr;
+#endif
memset (&ifdr, 0, sizeof (ifdr));
- strncpy (ifdr.ifdr_name, ifa->ifa_name, sizeof (ifdr));
+#if defined (__OpenBSD__)
+ struct if_data if_data;
+ ifdr.ifr_data = reinterpret_cast<caddr_t> (&if_data);
+ strncpy (ifdr.ifr_name, ifa->ifa_name, IFNAMSIZ-1);
+#else
+ strncpy (ifdr.ifdr_name, ifa->ifa_name, sizeof (ifdr));
+#endif
if (ioctl (fd, SIOCGIFDATA, &ifdr) == -1)
{
ACE_ERROR ((LM_ERROR, ACE_TEXT ("SIOCGIFDATA failed\n")));
}
+#if defined (__OpenBSD__)
+ struct if_data * const ifi = &if_data;
+#else
struct if_data * const ifi = &ifdr.ifdr_data;
+#endif
if (this->lookup_str_ == "ibytes")
{