in6_mfilter
struct in6_mfilter *im6f[2];
struct in6_mfilter *im6f;
in6m_merge(struct in6_multi *inm, /*const*/ struct in6_mfilter *imf)
/*const*/ struct in6_mfilter *imf, struct in6_multi **pinm,
static void im6f_commit(struct in6_mfilter *);
static int im6f_get_source(struct in6_mfilter *imf,
/*const*/ struct in6_mfilter *imf, struct in6_multi **pinm,
struct in6_mfilter timf;
im6f_graft(struct in6_mfilter *, const uint8_t,
static void im6f_leave(struct in6_mfilter *);
static int im6f_prune(struct in6_mfilter *, const struct sockaddr_in6 *);
static void im6f_purge(struct in6_mfilter *);
static void im6f_rollback(struct in6_mfilter *);
in6_leavegroup(struct in6_multi *inm, /*const*/ struct in6_mfilter *imf)
static void im6f_reap(struct in6_mfilter *);
static struct in6_mfilter *
in6_leavegroup_locked(struct in6_multi *inm, /*const*/ struct in6_mfilter *imf)
struct in6_mfilter timf;
im6o_match_source(struct in6_mfilter *, const struct sockaddr *);
struct in6_mfilter *imf;
struct in6_mfilter *, struct in6_multi **, int);
static int in6m_merge(struct in6_multi *, /*const*/ struct in6_mfilter *);
struct in6_mfilter *imf;
struct in6_mfilter *imf;
struct in6_mfilter *imf;
struct in6_mfilter *imf;
im6f_init(struct in6_mfilter *imf, const int st0, const int st1)
memset(imf, 0, sizeof(struct in6_mfilter));
struct in6_mfilter *
struct in6_mfilter *imf;
ip6_mfilter_free(struct in6_mfilter *imf)
struct in6_mfilter *imf;
static struct in6_mfilter *
struct in6_mfilter *imf;
im6o_match_source(struct in6_mfilter *imf, const struct sockaddr *src)
struct in6_mfilter *imf;
im6f_get_source(struct in6_mfilter *imf, const struct sockaddr_in6 *psin,
im6f_graft(struct in6_mfilter *imf, const uint8_t st1,
im6f_prune(struct in6_mfilter *imf, const struct sockaddr_in6 *psin)
im6f_rollback(struct in6_mfilter *imf)
im6f_leave(struct in6_mfilter *imf)
im6f_commit(struct in6_mfilter *imf)
im6f_reap(struct in6_mfilter *imf)
im6f_purge(struct in6_mfilter *imf)
struct in6_mfilter *imf;
STAILQ_ENTRY(in6_mfilter) im6f_entry; /* list entry */
STAILQ_HEAD(ip6_mfilter_head, in6_mfilter);
struct in6_mfilter *ip6_mfilter_alloc(int mflags, int st0, int st1);
void ip6_mfilter_free(struct in6_mfilter *);
static inline struct in6_mfilter *
ip6_mfilter_insert(struct ip6_mfilter_head *head, struct in6_mfilter *imf)
ip6_mfilter_remove(struct ip6_mfilter_head *head, struct in6_mfilter *imf)
STAILQ_REMOVE(head, imf, in6_mfilter, im6f_entry);
struct in6_mfilter *imf;
struct in6_mfilter *, struct in6_multi **, int);
int in6_leavegroup(struct in6_multi *, struct in6_mfilter *);
int in6_leavegroup_locked(struct in6_multi *, struct in6_mfilter *);
struct in_mfilter* imf, struct in6_mfilter* im6f)
struct in6_mfilter *im6f;
struct in6_mfilter *im6f = NULL;
struct in_mfilter *, struct in6_mfilter *);