]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/netinet/in_var.h
xnu-3789.1.32.tar.gz
[apple/xnu.git] / bsd / netinet / in_var.h
index 8a3e7b94c0451dcce5435974b67ba3c6b938c62a..ed563523b729e20923fb885aa8ec59ce82b167f8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000-2013 Apple Inc. All rights reserved.
+ * Copyright (c) 2000-2016 Apple Inc. All rights reserved.
  *
  * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  *
@@ -66,6 +66,7 @@
 
 #include <sys/queue.h>
 #include <sys/kern_event.h>
+#include <net/net_kev.h>
 
 #ifdef BSD_KERNEL_PRIVATE
 #include <net/route.h>
@@ -143,26 +144,8 @@ struct kev_in_portinuse {
 };
 #endif /* __APPLE_API_PRIVATE */
 
-/*
- * Define inet event subclass and specific inet events.
- */
-#define        KEV_INET_SUBCLASS               1 /* inet subclass identifier */
-
-#define        KEV_INET_NEW_ADDR               1 /* Userland configured IP address */
-#define        KEV_INET_CHANGED_ADDR           2 /* Address changed event */
-#define        KEV_INET_ADDR_DELETED           3 /* IPv6 address was deleted */
-#define        KEV_INET_SIFDSTADDR             4 /* Dest. address was set */
-#define        KEV_INET_SIFBRDADDR             5 /* Broadcast address was set */
-#define        KEV_INET_SIFNETMASK             6 /* Netmask was set */
-#define        KEV_INET_ARPCOLLISION           7 /* ARP collision detected */
-#ifdef __APPLE_API_PRIVATE
-#define        KEV_INET_PORTINUSE              8 /* use ken_in_portinuse */
-#endif
-#define        KEV_INET_ARPRTRFAILURE          9 /* ARP resolution failed for router */
-#define        KEV_INET_ARPRTRALIVE            10 /* ARP resolution succeeded for 
-                                             router */
-
 #ifdef BSD_KERNEL_PRIVATE
+#include <net/if.h>
 #include <net/if_var.h>
 #include <kern/locks.h>
 #include <sys/tree.h>
@@ -473,6 +456,15 @@ struct inpcb;
 #define        MCAST_NOTSMEMBER        2       /* This host excluded source */
 #define        MCAST_MUTED             3       /* [deprecated] */
 
+/*
+ * Per-interface IPv4 structures.
+ */
+struct in_ifextra {
+       uint32_t                netsig_len;
+       u_int8_t                netsig[IFNET_SIGNATURELEN];
+};
+#define        IN_IFEXTRA(_ifp)        ((struct in_ifextra *)(_ifp->if_inetdata))
+
 extern u_int32_t ipv4_ll_arp_aware;
 
 extern void in_ifaddr_init(void);
@@ -500,6 +492,7 @@ extern int in_inithead(void **, int);
 extern void in_rtqdrain(void);
 extern struct radix_node *in_validate(struct radix_node *);
 extern void ip_input(struct mbuf *);
+extern void ip_input_process_list(struct mbuf *);
 extern int in_ifadown(struct ifaddr *ifa, int);
 extern void in_ifscrub(struct ifnet *, struct in_ifaddr *, int);
 extern u_int32_t inaddr_hashval(u_int32_t);