-#ifdef __APPLE__
-/*
- * 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;
-};
-#endif /* __APPLE__ */
+ /* Abnormal event and error counting: */
+ uint32_t txconflicts; /* # of ARP conflict probes sent */
+ uint32_t invalidreqs; /* # of invalid ARP resolve requests */
+ uint32_t reqnobufs; /* # of failed requests due to no memory */
+ uint32_t dropped; /* # of packets dropped waiting for a reply. */
+ uint32_t purged; /* # of packets purged while removing entries */
+ uint32_t timeouts; /* # of times with entries removed */
+ /* due to timeout. */
+ uint32_t dupips; /* # of duplicate IPs detected. */