X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/39236c6e673c41db228275375ab7fdb0f837b292..3903760236c30e3b5ace7a4eefac3a269d68957c:/bsd/netinet/in_var.h diff --git a/bsd/netinet/in_var.h b/bsd/netinet/in_var.h index 9baa7ac54..ed563523b 100644 --- a/bsd/netinet/in_var.h +++ b/bsd/netinet/in_var.h @@ -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 #include +#include #ifdef BSD_KERNEL_PRIVATE #include @@ -126,6 +127,15 @@ struct kev_in_collision { u_char hw_addr[0]; /* variable length hardware address */ }; +struct kev_in_arpfailure { + struct net_event_data link_data; /* link where ARP is being sent */ +}; + +struct kev_in_arpalive { + struct net_event_data link_data; /* link where ARP was received */ +}; + + #ifdef __APPLE_API_PRIVATE struct kev_in_portinuse { u_int16_t port; /* conflicting port number in host order */ @@ -134,23 +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 - #ifdef BSD_KERNEL_PRIVATE +#include #include #include #include @@ -461,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); @@ -488,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);