pr_usrreqs
struct pr_usrreqs *pu;
pu = pr->pr_usrreqs;
0, so->so_proto->pr_usrreqs->pru_accept);
0, so->so_proto->pr_usrreqs->pru_attach);
netisr_fn_t func = so->so_proto->pr_usrreqs->pru_attach;
error = so->so_proto->pr_usrreqs->pru_preattach(so, proto, ai);
so->so_proto->pr_usrreqs->pru_attach);
0, so->so_proto->pr_usrreqs->pru_bind);
0, so->so_proto->pr_usrreqs->pru_connect);
KASSERT(so->so_proto->pr_usrreqs->pru_preconnect != NULL,
error = so->so_proto->pr_usrreqs->pru_preconnect(so, nam, td);
so->so_proto->pr_usrreqs->pru_connect);
0, so1->so_proto->pr_usrreqs->pru_connect2);
netisr_fn_t func = so->so_proto->pr_usrreqs->pru_control;
0, so->so_proto->pr_usrreqs->pru_detach);
netisr_fn_t func = so->so_proto->pr_usrreqs->pru_detach;
0, so->so_proto->pr_usrreqs->pru_disconnect);
netisr_fn_t func = so->so_proto->pr_usrreqs->pru_disconnect;
0, so->so_proto->pr_usrreqs->pru_listen);
0, so->so_proto->pr_usrreqs->pru_peeraddr);
0, so->so_proto->pr_usrreqs->pru_rcvd);
0, so->so_proto->pr_usrreqs->pru_rcvoob);
0, so->so_proto->pr_usrreqs->pru_send);
0, so->so_proto->pr_usrreqs->pru_send);
0, so->so_proto->pr_usrreqs->pru_sense);
0, so->so_proto->pr_usrreqs->pru_shutdown);
0, so->so_proto->pr_usrreqs->pru_sockaddr);
0, so->so_proto->pr_usrreqs->pru_abort);
netisr_fn_t func = so->so_proto->pr_usrreqs->pru_abort;
.pr_usrreqs = &uipc_usrreqs
.pr_usrreqs = &uipc_usrreqs
.pr_usrreqs = &uipc_usrreqs
so->so_proto->pr_usrreqs->pru_rcvd);
if (prp == NULL || prp->pr_usrreqs->pru_attach == 0)
if (use_socreate_fast && prp->pr_usrreqs->pru_preattach)
if (!sync && so->so_proto->pr_usrreqs->pru_preconnect)
if (faddr != NULL && so->so_proto->pr_usrreqs->pru_savefaddr != NULL)
so->so_proto->pr_usrreqs->pru_savefaddr(so, faddr);
struct pr_usrreqs uipc_usrreqs = {
.pr_usrreqs = &rip_usrreqs
.pr_usrreqs = &rip_usrreqs
extern struct pr_usrreqs raw_usrreqs;
struct pr_usrreqs raw_usrreqs = {
.pr_usrreqs = &route_usrreqs
static struct pr_usrreqs route_usrreqs = {
.pr_usrreqs = &rip_usrreqs
.pr_usrreqs = &l2cap_usrreqs
.pr_usrreqs = &rfcomm_usrreqs
extern struct pr_usrreqs hci_usrreqs;
.pr_usrreqs = &hci_usrreqs
.pr_usrreqs = &sco_usrreqs
struct pr_usrreqs hci_usrreqs = {
extern struct pr_usrreqs hci_usrreqs;
extern struct pr_usrreqs l2cap_usrreqs;
struct pr_usrreqs l2cap_usrreqs = {
extern struct pr_usrreqs rfcomm_usrreqs;
struct pr_usrreqs rfcomm_usrreqs = {
extern struct pr_usrreqs sco_usrreqs;
struct pr_usrreqs sco_usrreqs = {
.pr_usrreqs = &ngd_usrreqs
static struct pr_usrreqs ngc_usrreqs = {
static struct pr_usrreqs ngd_usrreqs = {
.pr_usrreqs = &ngc_usrreqs
static struct pr_usrreqs ng_btsocket_l2cap_usrreqs = {
static struct pr_usrreqs ng_btsocket_rfcomm_usrreqs = {
.pr_usrreqs = &ng_btsocket_hci_raw_usrreqs,
.pr_usrreqs = &ng_btsocket_l2cap_raw_usrreqs,
.pr_usrreqs = &ng_btsocket_l2cap_usrreqs,
.pr_usrreqs = &ng_btsocket_rfcomm_usrreqs,
static struct pr_usrreqs ng_btsocket_hci_raw_usrreqs = {
static struct pr_usrreqs ng_btsocket_l2cap_raw_usrreqs = {
0, s->l2so->so_proto->pr_usrreqs->pru_send);
static struct pr_usrreqs ngc_usrreqs = {
static struct pr_usrreqs ngd_usrreqs = {
.pr_usrreqs = &ngc_usrreqs
.pr_usrreqs = &ngd_usrreqs
.pr_usrreqs = &rip_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
.pr_usrreqs = &rip_usrreqs
.pr_usrreqs = &rip_usrreqs
.pr_usrreqs = &rip_usrreqs
.pr_usrreqs = &rip_usrreqs
.pr_usrreqs = &div_usrreqs
.pr_usrreqs = &rip_usrreqs
.pr_usrreqs = &rip_usrreqs
.pr_usrreqs = &rip_usrreqs
.pr_usrreqs = &rip_usrreqs
static struct pr_usrreqs nousrreqs;
.pr_usrreqs = &nousrreqs
struct pr_usrreqs div_usrreqs = {
extern struct pr_usrreqs div_usrreqs;
extern struct pr_usrreqs rip_usrreqs;
struct pr_usrreqs rip_usrreqs = {
struct pr_usrreqs tcp6_usrreqs = {
struct pr_usrreqs tcp_usrreqs = {
extern struct pr_usrreqs tcp_usrreqs;
struct pr_usrreqs udp_usrreqs = {
extern struct pr_usrreqs udp_usrreqs;
.pr_usrreqs = &rip6_usrreqs
static struct pr_usrreqs nousrreqs;
.pr_usrreqs = &nousrreqs
.pr_usrreqs = &udp6_usrreqs
.pr_usrreqs = &tcp6_usrreqs
.pr_usrreqs = &rip6_usrreqs
.pr_usrreqs = &rip6_usrreqs
.pr_usrreqs = &nousrreqs
.pr_usrreqs = &nousrreqs
.pr_usrreqs = &nousrreqs
.pr_usrreqs = &rip6_usrreqs
.pr_usrreqs = &rip6_usrreqs
.pr_usrreqs = &rip6_usrreqs
.pr_usrreqs = &rip6_usrreqs
.pr_usrreqs = &rip6_usrreqs
extern struct pr_usrreqs rip6_usrreqs;
struct pr_usrreqs;
struct pr_usrreqs rip6_usrreqs = {
extern struct pr_usrreqs tcp6_usrreqs;
struct pr_usrreqs udp6_usrreqs = {
extern struct pr_usrreqs udp6_usrreqs;
static struct pr_usrreqs nousrreqs; /* XXX use this for something */
.pr_usrreqs = &nousrreqs
.pr_usrreqs = &nousrreqs
struct pr_usrreqs *pr_usrreqs; /* messaged requests to proto thread */
return ((*so->so_proto->pr_usrreqs->pru_sosend)(so, addr, uio, top,
return ((*so->so_proto->pr_usrreqs->pru_soreceive)(so, paddr, uio, sio,
extern struct pr_usrreqs uipc_usrreqs;