diff options
author | olli <olli@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-07-09 11:55:53 +0000 |
---|---|---|
committer | olli <olli@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-07-09 11:55:53 +0000 |
commit | f2906c231f819c07202dc9ec0ee4ebcc0a333bdc (patch) | |
tree | a74847b31c0a06e93b9249f4bcdeed6a61454e4d /ACE | |
parent | 41b5b8420337a4d4b214998afb2c536061ce3669 (diff) | |
download | ATCD-f2906c231f819c07202dc9ec0ee4ebcc0a333bdc.tar.gz |
ChangeLogTag: Thu Jul 9 11:54:57 UTC 2009 Olli Savia <ops@iki.fi>
Diffstat (limited to 'ACE')
-rw-r--r-- | ACE/ChangeLog | 5 | ||||
-rw-r--r-- | ACE/ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp | 16 |
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") { |