summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa/if_ie.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/i386/isa/if_ie.c')
-rw-r--r--sys/i386/isa/if_ie.c29
1 files changed, 28 insertions, 1 deletions
diff --git a/sys/i386/isa/if_ie.c b/sys/i386/isa/if_ie.c
index c0465e9..46aa428 100644
--- a/sys/i386/isa/if_ie.c
+++ b/sys/i386/isa/if_ie.c
@@ -43,7 +43,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: if_ie.c,v 1.26 1995/09/19 18:55:09 bde Exp $
+ * $Id: if_ie.c,v 1.27 1995/10/13 19:47:47 wollman Exp $
*/
/*
@@ -133,6 +133,11 @@ iomem, and to make 16-pointers, we subtract iomem and and with 0xffff.
#include <netinet/if_ether.h>
#endif
+#ifdef IPX
+#include <netipx/ipx.h>
+#include <netipx/ipx_if.h>
+#endif
+
#ifdef NS
#include <netns/ns.h>
#include <netns/ns_if.h>
@@ -1891,6 +1896,28 @@ ieioctl(ifp, command, data)
break;
#endif /* INET */
+#ifdef IPX
+ /* This magic copied from if_is.c; I don't use XNS, so I have no
+ * way of telling if this actually works or not.
+ */
+ case AF_IPX:
+ {
+ struct ipx_addr *ina = &(IA_SIPX(ifa)->sipx_addr);
+
+ if(ipx_nullhost(*ina)) {
+ ina->x_host = *(union ipx_host *)(ie->arpcom.ac_enaddr);
+ } else {
+ ifp->if_flags &= ~IFF_RUNNING;
+ bcopy((caddr_t)ina->x_host.c_host,
+ (caddr_t)ie->arpcom.ac_enaddr,
+ sizeof ie->arpcom.ac_enaddr);
+ }
+
+ ieinit(ifp->if_unit);
+ }
+ break;
+#endif /* IPX */
+
#ifdef NS
/* This magic copied from if_is.c; I don't use XNS, so I have no
* way of telling if this actually works or not.
OpenPOWER on IntegriCloud