COMPATNAME
m = COMPATNAME(rt_msg1)(RTM_OIFINFO, &info, (void *)&oifm, sizeof(oifm));
COMPATNAME(route_enqueue)(m, 0);
if (COMPATNAME(route_info).ri_cb.any_count == 0)
raw_input(m, &proto, &COMPATNAME(route_info).ri_src,
&COMPATNAME(route_info).ri_dst, &rt_rawcb);
COMPATNAME(rt_msg1)(int type, struct rt_addrinfo *rtinfo, void *data, int datalen)
MCLAIM(m, &COMPATNAME(routedomain).dom_mowner);
COMPATNAME(rt_missmsg)(int type, const struct rt_addrinfo *rtinfo, int flags,
if (COMPATNAME(route_info).ri_cb.any_count == 0)
m = COMPATNAME(rt_msg1)(type, &info, &rtm, sizeof(rtm));
COMPATNAME(route_enqueue)(m, sa ? sa->sa_family : 0);
if (COMPATNAME(route_info).ri_cb.any_count == 0)
m = COMPATNAME(rt_msg1)(RTM_IFINFO, &info, &ifm, sizeof(ifm));
COMPATNAME(route_enqueue)(m, 0);
COMPATNAME(rt_addrmsg0)(int cmd, struct ifaddr *ifa, int error,
if (COMPATNAME(route_info).ri_cb.any_count == 0)
struct route_info COMPATNAME(route_info) = {
m = COMPATNAME(rt_msg1)(ncmd, &info, &ifam, sizeof(ifam));
m = COMPATNAME(rt_msg1)(cmd, &info, &rtm, sizeof(rtm));
COMPATNAME(route_enqueue)(m, sa ? sa->sa_family : 0);
COMPATNAME(rt_addrmsg)(int cmd, struct ifaddr *ifa)
COMPATNAME(rt_addrmsg0)(cmd, ifa, 0, NULL, NULL);
COMPATNAME(rt_addrmsg_rt)(int cmd, struct ifaddr *ifa, int error,
COMPATNAME(rt_addrmsg0)(cmd, ifa, error, rt, NULL);
COMPATNAME(rt_addrmsg_src)(int cmd, struct ifaddr *ifa,
COMPATNAME(rt_addrmsg0)(cmd, ifa, 0, NULL, src);
static void COMPATNAME(route_init)(void);
static int COMPATNAME(route_output)(struct mbuf *, struct socket *);
return COMPATNAME(rt_msg1)(type, info, &ifan, sizeof(ifan));
COMPATNAME(rt_ifannouncemsg)(struct ifnet *ifp, int what)
if (COMPATNAME(route_info).ri_cb.any_count == 0)
COMPATNAME(route_enqueue)(m, 0);
COMPATNAME(rt_ieee80211msg)(struct ifnet *ifp, int what, void *data,
if (COMPATNAME(route_info).ri_cb.any_count == 0)
COMPATNAME(route_enqueue)(m, 0);
struct route_info * const ri = &COMPATNAME(route_info);
COMPATNAME(route_enqueue)(struct mbuf *m, int family)
static const struct protosw COMPATNAME(route_protosw)[];
struct route_info * const ri = &COMPATNAME(route_info);
struct route_info * const ri = &COMPATNAME(route_info);
COMPATNAME(route_intr), NULL);
MOWNER_ATTACH(&COMPATNAME(routedomain).dom_mowner);
.pr_attach = COMPATNAME(route_attach_wrapper),
.pr_detach = COMPATNAME(route_detach_wrapper),
.pr_accept = COMPATNAME(route_accept_wrapper),
.pr_bind = COMPATNAME(route_bind_wrapper),
.pr_listen = COMPATNAME(route_listen_wrapper),
.pr_connect = COMPATNAME(route_connect_wrapper),
.pr_connect2 = COMPATNAME(route_connect2_wrapper),
.pr_disconnect = COMPATNAME(route_disconnect_wrapper),
.pr_shutdown = COMPATNAME(route_shutdown_wrapper),
.pr_abort = COMPATNAME(route_abort_wrapper),
.pr_ioctl = COMPATNAME(route_ioctl_wrapper),
.pr_stat = COMPATNAME(route_stat_wrapper),
.pr_peeraddr = COMPATNAME(route_peeraddr_wrapper),
.pr_sockaddr = COMPATNAME(route_sockaddr_wrapper),
.pr_rcvd = COMPATNAME(route_rcvd_wrapper),
.pr_recvoob = COMPATNAME(route_recvoob_wrapper),
.pr_send = COMPATNAME(route_send_wrapper),
.pr_sendoob = COMPATNAME(route_sendoob_wrapper),
.pr_purgeif = COMPATNAME(route_purgeif_wrapper),
static const struct protosw COMPATNAME(route_protosw)[] = {
.pr_domain = &COMPATNAME(routedomain),
struct domain COMPATNAME(routedomain) = {
.dom_init = COMPATNAME(route_init),
.dom_protosw = COMPATNAME(route_protosw),
&COMPATNAME(route_protosw)[__arraycount(COMPATNAME(route_protosw))],
struct route_cb * const cb = &COMPATNAME(route_info).ri_cb;
COMPATNAME(route_filter)(struct mbuf *m, struct sockproto *proto,
COMPATNAME(route_attach)(struct socket *so, int proto)
rp->rcb_laddr = &COMPATNAME(route_info).ri_src;
rp->rcb_faddr = &COMPATNAME(route_info).ri_dst;
rp->rcb_filter = COMPATNAME(route_filter);
COMPATNAME(route_accept)(struct socket *so, struct sockaddr *nam)
COMPATNAME(route_bind)(struct socket *so, struct sockaddr *nam, struct lwp *l)
COMPATNAME(route_listen)(struct socket *so, struct lwp *l)
COMPATNAME(route_connect)(struct socket *so, struct sockaddr *nam, struct lwp *l)
COMPATNAME(route_connect2)(struct socket *so, struct socket *so2)
COMPATNAME(route_ioctl)(struct socket *so, u_long cmd, void *nam,
COMPATNAME(route_stat)(struct socket *so, struct stat *ub)
COMPATNAME(route_peeraddr)(struct socket *so, struct sockaddr *nam)
COMPATNAME(route_sockaddr)(struct socket *so, struct sockaddr *nam)
COMPATNAME(route_rcvd)(struct socket *so, int flags, struct lwp *l)
COMPATNAME(route_recvoob)(struct socket *so, struct mbuf *m, int flags)
COMPATNAME(route_send)(struct socket *so, struct mbuf *m,
KASSERT(so->so_proto == &COMPATNAME(route_protosw)[0]);
error = raw_send(so, m, nam, control, l, &COMPATNAME(route_output));
COMPATNAME(route_sendoob)(struct socket *so, struct mbuf *m,
COMPATNAME(route_purgeif)(struct socket *so, struct ifnet *ifp)
COMPATNAME(route_output)(struct mbuf *m, struct socket *so)
if (COMPATNAME(route_info).ri_cb.any_count <= 1) {