pr_usrreqs
.pr_usrreqs = &uipc_usrreqs,
.pr_usrreqs = &uipc_usrreqs,
.pr_usrreqs = &uipc_dgram_usrreqs,
if (sosp->so_proto->pr_usrreqs->pru_send !=
so->so_proto->pr_usrreqs->pru_send) {
if (prp == NULL || prp->pr_usrreqs == NULL)
const struct pr_usrreqs uipc_usrreqs = {
const struct pr_usrreqs uipc_dgram_usrreqs = {
extern const struct pr_usrreqs ether_frm_usrreqs;
.pr_usrreqs = ðer_frm_usrreqs,
const struct pr_usrreqs ether_frm_usrreqs = {
const struct pr_usrreqs pfkeyv2_usrreqs = {
.pr_usrreqs = &pfkeyv2_usrreqs,
const struct pr_usrreqs route_usrreqs = {
.pr_usrreqs = &route_usrreqs,
.pr_usrreqs = &udp_usrreqs,
.pr_usrreqs = &tcp_usrreqs,
.pr_usrreqs = &rip_usrreqs,
.pr_usrreqs = &rip_usrreqs,
.pr_usrreqs = &rip_usrreqs,
.pr_usrreqs = &rip_usrreqs, /* XXX */
.pr_usrreqs = &rip_usrreqs,
.pr_usrreqs = &rip_usrreqs,
.pr_usrreqs = &rip_usrreqs,
.pr_usrreqs = &rip_usrreqs,
.pr_usrreqs = &rip_usrreqs,
.pr_usrreqs = &gre_usrreqs,
.pr_usrreqs = &rip_usrreqs,
.pr_usrreqs = &rip_usrreqs,
.pr_usrreqs = &divert_usrreqs,
.pr_usrreqs = &rip_usrreqs,
.pr_usrreqs = &rip_usrreqs,
const struct pr_usrreqs divert_usrreqs = {
extern const struct pr_usrreqs divert_usrreqs, divert6_usrreqs;
const struct pr_usrreqs gre_usrreqs = {
extern const struct pr_usrreqs gre_usrreqs;
extern const struct pr_usrreqs rip_usrreqs;
const struct pr_usrreqs rip_usrreqs = {
const struct pr_usrreqs tcp_usrreqs = {
const struct pr_usrreqs tcp6_usrreqs = {
extern const struct pr_usrreqs tcp_usrreqs;
extern const struct pr_usrreqs tcp6_usrreqs;
const struct pr_usrreqs udp_usrreqs = {
const struct pr_usrreqs udp6_usrreqs = {
extern const struct pr_usrreqs udp_usrreqs;
extern const struct pr_usrreqs udp6_usrreqs;
.pr_usrreqs = &udp6_usrreqs,
.pr_usrreqs = &tcp6_usrreqs,
.pr_usrreqs = &rip6_usrreqs,
.pr_usrreqs = &rip6_usrreqs,
.pr_usrreqs = &rip6_usrreqs,
.pr_usrreqs = &rip6_usrreqs,
.pr_usrreqs = &rip6_usrreqs,
.pr_usrreqs = &rip6_usrreqs, /* XXX */
.pr_usrreqs = &rip6_usrreqs, /* XXX */
.pr_usrreqs = &rip6_usrreqs, /* XXX */
.pr_usrreqs = &rip6_usrreqs,
.pr_usrreqs = &divert6_usrreqs,
.pr_usrreqs = &rip6_usrreqs,
.pr_usrreqs = &rip6_usrreqs,
.pr_usrreqs = &rip6_usrreqs,
const struct pr_usrreqs divert6_usrreqs = {
extern const struct pr_usrreqs rip6_usrreqs;
const struct pr_usrreqs rip6_usrreqs = {
const struct pr_usrreqs *pr_usrreqs;
return (*so->so_proto->pr_usrreqs->pru_attach)(so, proto, wait);
return (*so->so_proto->pr_usrreqs->pru_detach)(so);
if (so->so_proto->pr_usrreqs->pru_bind)
return (*so->so_proto->pr_usrreqs->pru_bind)(so, nam, p);
if (so->so_proto->pr_usrreqs->pru_listen)
return (*so->so_proto->pr_usrreqs->pru_listen)(so);
if (so->so_proto->pr_usrreqs->pru_connect)
return (*so->so_proto->pr_usrreqs->pru_connect)(so, nam);
if (so->so_proto->pr_usrreqs->pru_accept)
return (*so->so_proto->pr_usrreqs->pru_accept)(so, nam);
if (so->so_proto->pr_usrreqs->pru_disconnect)
return (*so->so_proto->pr_usrreqs->pru_disconnect)(so);
return (*so->so_proto->pr_usrreqs->pru_shutdown)(so);
(*so->so_proto->pr_usrreqs->pru_rcvd)(so);
return (*so->so_proto->pr_usrreqs->pru_send)(so, top, addr, control);
(*so->so_proto->pr_usrreqs->pru_abort)(so);
if (so->so_proto->pr_usrreqs->pru_control)
return (*so->so_proto->pr_usrreqs->pru_control)(so,
if (so->so_proto->pr_usrreqs->pru_sense)
return (*so->so_proto->pr_usrreqs->pru_sense)(so, ub);
if (so->so_proto->pr_usrreqs->pru_rcvoob)
return (*so->so_proto->pr_usrreqs->pru_rcvoob)(so, m, flags);
if (so->so_proto->pr_usrreqs->pru_sendoob)
return (*so->so_proto->pr_usrreqs->pru_sendoob)(so,
return (*so->so_proto->pr_usrreqs->pru_sockaddr)(so, addr);
return (*so->so_proto->pr_usrreqs->pru_peeraddr)(so, addr);
return (*so->so_proto->pr_usrreqs->pru_flowid)(so);
if (so1->so_proto->pr_usrreqs->pru_connect2)
return (*so1->so_proto->pr_usrreqs->pru_connect2)(so1, so2);
extern const struct pr_usrreqs uipc_usrreqs;
extern const struct pr_usrreqs uipc_dgram_usrreqs;