]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/net/if_arp.h
xnu-792.25.20.tar.gz
[apple/xnu.git] / bsd / net / if_arp.h
index 2c3b44705b55b7298b8391b415374d0e73937a50..24caabe6323f7a08216bfeb962b69bde0aea262a 100644 (file)
  * SUCH DAMAGE.
  *
  *     @(#)if_arp.h    8.1 (Berkeley) 6/10/93
+ * $FreeBSD: src/sys/net/if_arp.h,v 1.14.2.1 2000/07/11 20:46:55 archie Exp $
  */
 
 #ifndef _NET_IF_ARP_H_
 #define        _NET_IF_ARP_H_
+#include <sys/appleapiopts.h>
+#include <netinet/in.h>
 
 /*
  * Address Resolution Protocol.
 struct arphdr {
        u_short ar_hrd;         /* format of hardware address */
 #define ARPHRD_ETHER   1       /* ethernet hardware format */
+#define ARPHRD_IEEE802 6       /* token-ring hardware format */
 #define ARPHRD_FRELAY  15      /* frame relay hardware format */
+#define ARPHRD_IEEE1394        24      /* IEEE1394 hardware address */
+#define ARPHRD_IEEE1394_EUI64 27 /* IEEE1394 EUI-64 */
        u_short ar_pro;         /* format of protocol address */
        u_char  ar_hln;         /* length of hardware address */
        u_char  ar_pln;         /* length of protocol address */
@@ -108,49 +114,4 @@ struct arpreq {
 #define        ATF_PUBL        0x08    /* publish entry (respond for other host) */
 #define        ATF_USETRAILERS 0x10    /* has requested trailers */
 
-
-/*
- * Ethernet multicast address structure.  There is one of these for each
- * multicast address or range of multicast addresses that we are supposed
- * to listen to on a particular interface.  They are kept in a linked list,
- * rooted in the interface's arpcom structure.  (This really has nothing to
- * do with ARP, or with the Internet address family, but this appears to be
- * the minimally-disrupting place to put it.)
- */
-struct ether_multi {
-       u_char  enm_addrlo[6];          /* low  or only address of range */
-       u_char  enm_addrhi[6];          /* high or only address of range */
-       struct  arpcom *enm_ac;         /* back pointer to arpcom */
-       u_int   enm_refcount;           /* no. claims to this addr/range */
-       struct  ether_multi *enm_next;  /* ptr to next ether_multi */
-};
-
-/*
- * Structure used by macros below to remember position when stepping through
- * all of the ether_multi records.
- */
-struct ether_multistep {
-       struct ether_multi  *e_enm;
-};
-
-#ifdef KERNEL
-/*
- * Structure shared between the ethernet driver modules and
- * the address resolution code.  For example, each ec_softc or il_softc
- * begins with this structure.
- */
-struct arpcom {
-       /*
-        * The ifnet struct _must_ be at the head of this structure.
-        */
-       struct  ifnet ac_if;            /* network-visible interface */
-       u_char  ac_enaddr[6];           /* ethernet hardware address */
-       struct  in_addr ac_ipaddr;      /* copy of ip address- XXX */
-       struct  ether_multi *ac_multiaddrs; /* list of ether multicast addrs */
-       int     ac_multicnt;            /* length of ac_multiaddrs list */
-};
-
-
-#endif
-
 #endif /* !_NET_IF_ARP_H_ */