summaryrefslogtreecommitdiffstats
path: root/cpukit/libnetworking/net/if.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/libnetworking/net/if.c')
-rw-r--r--cpukit/libnetworking/net/if.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/cpukit/libnetworking/net/if.c b/cpukit/libnetworking/net/if.c
index 740bb90700..b6c73cd002 100644
--- a/cpukit/libnetworking/net/if.c
+++ b/cpukit/libnetworking/net/if.c
@@ -54,6 +54,9 @@
#include <net/if_types.h>
#include <net/if_var.h>
#include <net/radix.h>
+#ifdef __rtems__
+#include <rtems/rtems_bsdnet.h>
+#endif /* __rtems__ */
/*
* System initialization
@@ -478,6 +481,7 @@ ifunit(char *name)
int
ifioctl(struct socket *so, u_long cmd, caddr_t data, struct proc *p)
{
+ struct rtems_tap_ifreq *tr;
struct ifnet *ifp;
struct ifreq *ifr;
int error;
@@ -488,6 +492,7 @@ ifioctl(struct socket *so, u_long cmd, caddr_t data, struct proc *p)
case OSIOCGIFCONF:
return (ifconf(cmd, data));
}
+ tr = (struct rtems_tap_ifreq *)data;
ifr = (struct ifreq *)data;
ifp = ifunit(ifr->ifr_name);
if (ifp == 0)
@@ -660,11 +665,11 @@ ifioctl(struct socket *so, u_long cmd, caddr_t data, struct proc *p)
* RTEMS additions for setting/getting `tap' function
*/
case SIOCSIFTAP:
- ifp->if_tap = ifr->ifr_tap;
+ ifp->if_tap = tr->ifr_tap;
return 0;
case SIOCGIFTAP:
- ifr->ifr_tap = ifp->if_tap;
+ tr->ifr_tap = ifp->if_tap;
return 0;
}
return (0);