--- a/src/core/log.h Fri Apr 17 14:06:51 2009 +0200
+++ b/src/core/log.h Fri Apr 17 15:22:41 2009 +0200
@@ -23,6 +23,7 @@
#include <string>
#include <iostream>
+#include <stdint.h>
namespace ns3 {
--- a/src/devices/emu/emu-encode-decode.cc Fri Apr 17 14:06:51 2009 +0200
+++ b/src/devices/emu/emu-encode-decode.cc Fri Apr 17 15:22:41 2009 +0200
@@ -20,6 +20,7 @@
#include <iostream>
#include <iomanip>
#include <sstream>
+#include <stdint.h>
namespace ns3 {
--- a/src/devices/tap-bridge/tap-creator.cc Fri Apr 17 14:06:51 2009 +0200
+++ b/src/devices/tap-bridge/tap-creator.cc Fri Apr 17 15:22:41 2009 +0200
@@ -138,13 +138,17 @@
}
}
-static void
-SetInetAddress (sockaddr *ad, uint32_t networkOrder)
+static sockaddr
+CreateInetAddress (uint32_t networkOrder)
{
- struct sockaddr_in *sin = (struct sockaddr_in*)ad;
- sin->sin_family = AF_INET;
- sin->sin_port = 0; // unused
- sin->sin_addr.s_addr = htonl (networkOrder);
+ union {
+ struct sockaddr any_socket;
+ struct sockaddr_in si;
+ } s;
+ s.si.sin_family = AF_INET;
+ s.si.sin_port = 0; // unused
+ s.si.sin_addr.s_addr = htonl (networkOrder);
+ return s.any_socket;
}
static void
@@ -330,7 +334,7 @@
//
// Set the IP address of the new interface/device.
//
- SetInetAddress (&ifr.ifr_addr, AsciiToIpv4 (ip));
+ ifr.ifr_addr = CreateInetAddress (AsciiToIpv4 (ip));
status = ioctl (fd, SIOCSIFADDR, &ifr);
ABORT_IF (status == -1, "Could not set IP address", true);
LOG ("Set device IP address to " << ip);
@@ -338,7 +342,7 @@
//
// Set the net mask of the new interface/device
//
- SetInetAddress (&ifr.ifr_netmask, AsciiToIpv4 (netmask));
+ ifr.ifr_netmask = CreateInetAddress (AsciiToIpv4 (netmask));
status = ioctl (fd, SIOCSIFNETMASK, &ifr);
ABORT_IF (status == -1, "Could not set net mask", true);
LOG ("Set device Net Mask to " << netmask);
--- a/src/devices/tap-bridge/tap-encode-decode.cc Fri Apr 17 14:06:51 2009 +0200
+++ b/src/devices/tap-bridge/tap-encode-decode.cc Fri Apr 17 15:22:41 2009 +0200
@@ -20,6 +20,7 @@
#include <iostream>
#include <iomanip>
#include <sstream>
+#include <stdint.h>
namespace ns3 {