Lines Matching refs:pcbp

126 static void	ng_detach_common(struct ngpcb *pcbp, int type);
128 static int ng_connect_data(struct sockaddr *nam, struct ngpcb *pcbp);
129 static int ng_bind(struct sockaddr *nam, struct ngpcb *pcbp);
198 struct ngpcb *const pcbp = sotongpcb(so); in ngc_attach() local
204 if (pcbp != NULL) in ngc_attach()
212 struct ngpcb *const pcbp = sotongpcb(so); in ngc_detach() local
214 KASSERT(pcbp != NULL, ("ngc_detach: pcbp == NULL")); in ngc_detach()
215 ng_detach_common(pcbp, NG_CONTROL); in ngc_detach()
222 struct ngpcb *const pcbp = sotongpcb(so); in ngc_send() local
223 struct ngsock *const priv = NG_NODE_PRIVATE(pcbp->sockdata->node); in ngc_send()
312 if ((error = ng_address_path((pcbp->sockdata->node), item, path, 0)) in ngc_send()
368 struct ngpcb *const pcbp = sotongpcb(so); in ngc_bind() local
370 if (pcbp == NULL) in ngc_bind()
372 return (ng_bind(nam, pcbp)); in ngc_bind()
393 struct ngpcb *const pcbp = sotongpcb(so); in ngd_attach() local
395 if (pcbp != NULL) in ngd_attach()
403 struct ngpcb *const pcbp = sotongpcb(so); in ngd_detach() local
405 KASSERT(pcbp != NULL, ("ngd_detach: pcbp == NULL")); in ngd_detach()
406 ng_detach_common(pcbp, NG_DATA); in ngd_detach()
414 struct ngpcb *const pcbp = sotongpcb(so); in ngd_send() local
421 if ((pcbp == NULL) || (control != NULL)) { in ngd_send()
425 if (pcbp->sockdata == NULL) { in ngd_send()
440 if (NG_NODE_NUMHOOKS(pcbp->sockdata->node) != 1) { in ngd_send()
448 hook = LIST_FIRST(&pcbp->sockdata->node->nd_hooks); in ngd_send()
463 hook = ng_findhook(pcbp->sockdata->node, hookname); in ngd_send()
488 struct ngpcb *const pcbp = sotongpcb(so); in ngd_connect() local
490 if (pcbp == NULL) in ngd_connect()
492 return (ng_connect_data(nam, pcbp)); in ngd_connect()
501 struct ngpcb *pcbp; in ng_getsockaddr() local
506 pcbp = sotongpcb(so); in ng_getsockaddr()
507 if ((pcbp == NULL) || (pcbp->sockdata == NULL)) in ng_getsockaddr()
515 mtx_lock(&pcbp->sockdata->mtx); in ng_getsockaddr()
516 if (pcbp->sockdata->node != NULL) { in ng_getsockaddr()
517 node_p node = pcbp->sockdata->node; in ng_getsockaddr()
522 mtx_unlock(&pcbp->sockdata->mtx); in ng_getsockaddr()
528 mtx_unlock(&pcbp->sockdata->mtx); in ng_getsockaddr()
546 struct ngpcb *pcbp; in ng_attach_cntl() local
553 pcbp = sotongpcb(so); in ng_attach_cntl()
557 ng_detach_common(pcbp, NG_CONTROL); in ng_attach_cntl()
574 priv->ctlsock = pcbp; in ng_attach_cntl()
575 pcbp->sockdata = priv; in ng_attach_cntl()
578 pcbp->node_id = node->nd_ID; /* hint for netstat(1) */ in ng_attach_cntl()
601 struct ngpcb *pcbp; in ng_attach_common() local
610 pcbp = malloc(sizeof(struct ngpcb), M_PCB, M_WAITOK | M_ZERO); in ng_attach_common()
611 pcbp->type = type; in ng_attach_common()
614 so->so_pcb = (caddr_t)pcbp; in ng_attach_common()
615 pcbp->ng_socket = so; in ng_attach_common()
619 LIST_INSERT_HEAD(&ngsocklist, pcbp, socks); in ng_attach_common()
631 ng_detach_common(struct ngpcb *pcbp, int which) in ng_detach_common() argument
633 struct ngsock *priv = pcbp->sockdata; in ng_detach_common()
648 pcbp->sockdata = NULL; in ng_detach_common()
649 pcbp->node_id = 0; in ng_detach_common()
654 pcbp->ng_socket->so_pcb = NULL; in ng_detach_common()
656 LIST_REMOVE(pcbp, socks); in ng_detach_common()
658 free(pcbp, M_PCB); in ng_detach_common()
693 ng_connect_data(struct sockaddr *nam, struct ngpcb *pcbp) in ng_connect_data() argument
702 if (pcbp->sockdata != NULL) in ng_connect_data()
739 priv->datasock = pcbp; in ng_connect_data()
740 pcbp->sockdata = priv; in ng_connect_data()
741 pcbp->node_id = priv->node->nd_ID; /* hint for netstat(1) */ in ng_connect_data()
752 ng_bind(struct sockaddr *nam, struct ngpcb *pcbp) in ng_bind() argument
754 struct ngsock *const priv = pcbp->sockdata; in ng_bind()
894 struct ngpcb *pcbp; in ngs_rcvmsg() local
911 pcbp = priv->ctlsock; in ngs_rcvmsg()
917 if (pcbp == NULL) { in ngs_rcvmsg()
923 so = pcbp->ng_socket; in ngs_rcvmsg()
1009 struct ngpcb *const pcbp = priv->datasock; in ngs_rcvdata() local
1020 if (pcbp == NULL) { in ngs_rcvdata()
1024 so = pcbp->ng_socket; in ngs_rcvdata()
1088 struct ngpcb *dpcbp, *pcbp; in ngs_shutdown() local
1092 pcbp = priv->ctlsock; in ngs_shutdown()
1097 if (pcbp != NULL) in ngs_shutdown()
1098 soisdisconnected(pcbp->ng_socket); in ngs_shutdown()