struct sockaddr_in ia_sockmask; /* reserve space for general netmask */
TAILQ_ENTRY(in_ifaddr) ia_hash; /* hash bucket entry */
};
+
+#define ifatoia(ifa) ((struct in_ifaddr *)(void *)(ifa))
#endif /* XNU_KERNEL_PRIVATE */
struct in_aliasreq {
struct route;
struct ip_moptions;
+struct inpcb;
/*
* Return values for imo_multi_filter().
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_clone(struct ip_moptions *, struct ip_moptions *);
+extern int imo_clone(struct inpcb *, struct inpcb *);
extern void inm_commit(struct in_multi *);
extern void inm_clear_recorded(struct in_multi *);
extern void inm_print(const struct in_multi *);
extern void imf_leave(struct in_mfilter *);
extern void imf_purge(struct in_mfilter *);
-struct inpcb;
-
__private_extern__ int inp_join_group(struct inpcb *, struct sockopt *);
__private_extern__ int inp_leave_group(struct inpcb *, struct sockopt *);
__private_extern__ void in_multihead_lock_exclusive(void);