]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/netinet/in_var.h
xnu-4570.51.1.tar.gz
[apple/xnu.git] / bsd / netinet / in_var.h
index 7368ed28d00cce5dd38e413d375f3fa55d1e96a5..5b0506120dd82e5693d7c410c32fc42c99681ad1 100644 (file)
@@ -147,6 +147,7 @@ struct kev_in_portinuse {
 #ifdef BSD_KERNEL_PRIVATE
 #include <net/if.h>
 #include <net/if_var.h>
+#include <net/if_llatbl.h>
 #include <kern/locks.h>
 #include <sys/tree.h>
 /*
@@ -335,10 +336,10 @@ struct in_multi {
 };
 
 #define        INM_LOCK_ASSERT_HELD(_inm)                                      \
-       lck_mtx_assert(&(_inm)->inm_lock, LCK_MTX_ASSERT_OWNED)
+       LCK_MTX_ASSERT(&(_inm)->inm_lock, LCK_MTX_ASSERT_OWNED)
 
 #define        INM_LOCK_ASSERT_NOTHELD(_inm)                                   \
-       lck_mtx_assert(&(_inm)->inm_lock, LCK_MTX_ASSERT_NOTOWNED)
+       LCK_MTX_ASSERT(&(_inm)->inm_lock, LCK_MTX_ASSERT_NOTOWNED)
 
 #define        INM_LOCK(_inm)                                                  \
        lck_mtx_lock(&(_inm)->inm_lock)
@@ -462,14 +463,17 @@ struct inpcb;
 struct in_ifextra {
        uint32_t                netsig_len;
        u_int8_t                netsig[IFNET_SIGNATURELEN];
+       struct lltable          *ii_llt;        /* ARP state */
 };
 #define        IN_IFEXTRA(_ifp)        ((struct in_ifextra *)(_ifp->if_inetdata))
+#define LLTABLE(ifp)           ((IN_IFEXTRA(ifp) == NULL) ? NULL : IN_IFEXTRA(ifp)->ii_llt)
 
 extern u_int32_t ipv4_ll_arp_aware;
 
 extern void in_ifaddr_init(void);
-extern int imo_multi_filter(const struct ip_moptions *, const struct ifnet *,
-    const struct sockaddr *, const struct sockaddr *);
+extern int imo_multi_filter(const struct ip_moptions *,
+    const struct ifnet *, const struct sockaddr_in *,
+    const struct sockaddr_in *);
 extern int imo_clone(struct inpcb *, struct inpcb *);
 extern void inm_commit(struct in_multi *);
 extern void inm_clear_recorded(struct in_multi *);