Lines Matching refs:pcbp
128 static void ng_detach_common(struct ngpcb *pcbp, int type);
133 static int ng_connect_data(struct sockaddr *nam, struct ngpcb *pcbp);
134 static int ng_bind(struct sockaddr *nam, struct ngpcb *pcbp);
179 struct ngpcb *const pcbp = sotongpcb(so); in ngc_attach() local
186 } else if (pcbp != NULL) { in ngc_attach()
198 struct ngpcb *const pcbp = sotongpcb(so); in ngc_detach() local
200 KASSERT(pcbp != NULL, ("ngc_detach: pcbp == NULL")); in ngc_detach()
201 ng_detach_common(pcbp, NG_CONTROL); in ngc_detach()
212 struct ngpcb *const pcbp = sotongpcb(so); in ngc_send() local
223 if (pcbp->sockdata == NULL) { in ngc_send()
310 if ((error = ng_address_path((pcbp->sockdata->node), item, path, 0)) in ngc_send()
361 struct ngpcb *const pcbp = sotongpcb(so); in ngc_bind() local
364 if (pcbp == NULL) in ngc_bind()
367 error = ng_bind(nam, pcbp); in ngc_bind()
390 struct ngpcb *const pcbp = sotongpcb(so); in ngd_attach() local
393 if (pcbp != NULL) in ngd_attach()
404 struct ngpcb *const pcbp = sotongpcb(so); in ngd_detach() local
406 KASSERT(pcbp != NULL, ("ngd_detach: pcbp == NULL")); in ngd_detach()
407 ng_detach_common(pcbp, NG_DATA); in ngd_detach()
418 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()
443 if (NG_NODE_NUMHOOKS(pcbp->sockdata->node) != 1) { in ngd_send()
451 hook = LIST_FIRST(&pcbp->sockdata->node->nd_hooks); in ngd_send()
466 hook = ng_findhook(pcbp->sockdata->node, hookname); in ngd_send()
489 struct ngpcb *const pcbp = sotongpcb(so); in ngd_connect() local
492 if (pcbp == NULL) in ngd_connect()
495 error = ng_connect_data(nam, pcbp); in ngd_connect()
507 struct ngpcb *pcbp; in ng_getsockaddr() local
515 pcbp = sotongpcb(so); in ng_getsockaddr()
516 if ((pcbp == NULL) || (pcbp->sockdata == NULL)) { in ng_getsockaddr()
522 mtx_lock(&pcbp->sockdata->mtx); in ng_getsockaddr()
523 if (pcbp->sockdata->node != NULL) { in ng_getsockaddr()
524 node_p node = pcbp->sockdata->node; in ng_getsockaddr()
538 mtx_unlock(&pcbp->sockdata->mtx); in ng_getsockaddr()
540 mtx_unlock(&pcbp->sockdata->mtx); in ng_getsockaddr()
558 struct ngpcb *pcbp; in ng_attach_cntl() local
569 pcbp = sotongpcb(so); in ng_attach_cntl()
572 priv->ctlsock = pcbp; in ng_attach_cntl()
573 pcbp->sockdata = priv; in ng_attach_cntl()
582 ng_detach_common(pcbp, NG_CONTROL); in ng_attach_cntl()
607 struct ngpcb *pcbp; in ng_attach_common() local
616 pcbp = kmalloc(sizeof(struct ngpcb), M_PCB, M_WAITOK | M_ZERO); in ng_attach_common()
617 pcbp->type = type; in ng_attach_common()
620 so->so_pcb = (caddr_t)pcbp; in ng_attach_common()
621 pcbp->ng_socket = so; in ng_attach_common()
633 ng_detach_common(struct ngpcb *pcbp, int which) in ng_detach_common() argument
635 struct ngsock *priv = pcbp->sockdata; in ng_detach_common()
650 pcbp->sockdata = NULL; in ng_detach_common()
655 pcbp->ng_socket->so_pcb = NULL; in ng_detach_common()
656 kfree(pcbp, M_PCB); in ng_detach_common()
753 ng_connect_data(struct sockaddr *nam, struct ngpcb *pcbp) in ng_connect_data() argument
762 if (pcbp->sockdata != NULL) in ng_connect_data()
801 priv->datasock = pcbp; in ng_connect_data()
802 pcbp->sockdata = priv; in ng_connect_data()
813 ng_bind(struct sockaddr *nam, struct ngpcb *pcbp) in ng_bind() argument
815 struct ngsock *const priv = pcbp->sockdata; in ng_bind()
881 struct ngpcb *const pcbp = priv->ctlsock; in ngs_rcvmsg() local
897 if (pcbp == NULL) { in ngs_rcvmsg()
902 so = pcbp->ng_socket; in ngs_rcvmsg()
978 struct ngpcb *const pcbp = priv->datasock; in ngs_rcvdata() local
989 if (pcbp == NULL) { in ngs_rcvdata()
993 so = pcbp->ng_socket; in ngs_rcvdata()
1052 struct ngpcb *const pcbp = priv->ctlsock; in ngs_shutdown() local
1057 if (pcbp != NULL) in ngs_shutdown()
1058 soisdisconnected(pcbp->ng_socket); in ngs_shutdown()