Lines Matching refs:pcbp
124 static void ng_detach_common(struct ngpcb *pcbp, int type);
126 static int ng_connect_data(struct sockaddr *nam, struct ngpcb *pcbp);
127 static int ng_bind(struct sockaddr *nam, struct ngpcb *pcbp);
196 struct ngpcb *const pcbp = sotongpcb(so); in ngc_attach() local
202 if (pcbp != NULL) in ngc_attach()
210 struct ngpcb *const pcbp = sotongpcb(so); in ngc_detach() local
212 KASSERT(pcbp != NULL, ("ngc_detach: pcbp == NULL")); in ngc_detach()
213 ng_detach_common(pcbp, NG_CONTROL); in ngc_detach()
220 struct ngpcb *const pcbp = sotongpcb(so); in ngc_send() local
221 struct ngsock *const priv = NG_NODE_PRIVATE(pcbp->sockdata->node); in ngc_send()
315 if ((error = ng_address_path((pcbp->sockdata->node), item, path, 0)) in ngc_send()
371 struct ngpcb *const pcbp = sotongpcb(so); in ngc_bind() local
373 if (pcbp == NULL) in ngc_bind()
375 return (ng_bind(nam, pcbp)); in ngc_bind()
396 struct ngpcb *const pcbp = sotongpcb(so); in ngd_attach() local
398 if (pcbp != NULL) in ngd_attach()
406 struct ngpcb *const pcbp = sotongpcb(so); in ngd_detach() local
408 KASSERT(pcbp != NULL, ("ngd_detach: pcbp == NULL")); in ngd_detach()
409 ng_detach_common(pcbp, NG_DATA); in ngd_detach()
417 struct ngpcb *const pcbp = sotongpcb(so); in ngd_send() local
424 if ((pcbp == NULL) || (control != NULL)) { in ngd_send()
428 if (pcbp->sockdata == NULL) { in ngd_send()
449 if (NG_NODE_NUMHOOKS(pcbp->sockdata->node) != 1) { in ngd_send()
457 hook = LIST_FIRST(&pcbp->sockdata->node->nd_hooks); in ngd_send()
472 hook = ng_findhook(pcbp->sockdata->node, hookname); in ngd_send()
497 struct ngpcb *const pcbp = sotongpcb(so); in ngd_connect() local
499 if (pcbp == NULL) in ngd_connect()
501 return (ng_connect_data(nam, pcbp)); in ngd_connect()
511 struct ngpcb *pcbp; in ng_getsockaddr() local
514 pcbp = sotongpcb(so); in ng_getsockaddr()
515 if ((pcbp == NULL) || (pcbp->sockdata == NULL)) in ng_getsockaddr()
524 mtx_lock(&pcbp->sockdata->mtx); in ng_getsockaddr()
525 if (pcbp->sockdata->node != NULL) { in ng_getsockaddr()
526 node_p node = pcbp->sockdata->node; in ng_getsockaddr()
536 mtx_unlock(&pcbp->sockdata->mtx); in ng_getsockaddr()
551 struct ngpcb *pcbp; in ng_attach_cntl() local
558 pcbp = sotongpcb(so); in ng_attach_cntl()
562 ng_detach_common(pcbp, NG_CONTROL); in ng_attach_cntl()
579 priv->ctlsock = pcbp; in ng_attach_cntl()
580 pcbp->sockdata = priv; in ng_attach_cntl()
583 pcbp->node_id = node->nd_ID; /* hint for netstat(1) */ in ng_attach_cntl()
606 struct ngpcb *pcbp; in ng_attach_common() local
615 pcbp = malloc(sizeof(struct ngpcb), M_PCB, M_WAITOK | M_ZERO); in ng_attach_common()
616 pcbp->type = type; in ng_attach_common()
619 so->so_pcb = (caddr_t)pcbp; in ng_attach_common()
620 pcbp->ng_socket = so; in ng_attach_common()
624 LIST_INSERT_HEAD(&ngsocklist, pcbp, socks); in ng_attach_common()
636 ng_detach_common(struct ngpcb *pcbp, int which) in ng_detach_common() argument
638 struct ngsock *priv = pcbp->sockdata; in ng_detach_common()
653 pcbp->sockdata = NULL; in ng_detach_common()
654 pcbp->node_id = 0; in ng_detach_common()
659 pcbp->ng_socket->so_pcb = NULL; in ng_detach_common()
661 LIST_REMOVE(pcbp, socks); in ng_detach_common()
663 free(pcbp, M_PCB); in ng_detach_common()
698 ng_connect_data(struct sockaddr *nam, struct ngpcb *pcbp) in ng_connect_data() argument
707 if (pcbp->sockdata != NULL) in ng_connect_data()
744 priv->datasock = pcbp; in ng_connect_data()
745 pcbp->sockdata = priv; in ng_connect_data()
746 pcbp->node_id = priv->node->nd_ID; /* hint for netstat(1) */ in ng_connect_data()
757 ng_bind(struct sockaddr *nam, struct ngpcb *pcbp) in ng_bind() argument
759 struct ngsock *const priv = pcbp->sockdata; in ng_bind()
899 struct ngpcb *pcbp; in ngs_rcvmsg() local
916 pcbp = priv->ctlsock; in ngs_rcvmsg()
922 if (pcbp == NULL) { in ngs_rcvmsg()
928 so = pcbp->ng_socket; in ngs_rcvmsg()
1014 struct ngpcb *const pcbp = priv->datasock; in ngs_rcvdata() local
1025 if (pcbp == NULL) { in ngs_rcvdata()
1029 so = pcbp->ng_socket; in ngs_rcvdata()
1093 struct ngpcb *dpcbp, *pcbp; in ngs_shutdown() local
1097 pcbp = priv->ctlsock; in ngs_shutdown()
1102 if (pcbp != NULL) in ngs_shutdown()
1103 soisdisconnected(pcbp->ng_socket); in ngs_shutdown()