static void ddp_clean(void) { struct ddpcp *ddp; for (ddp = ddpcb_list; ddp != NULL; ddp = ddp->ddp_next) at_pcbdetach(ddp->ddp_socket, ddp); DDP_LIST_LOCK_DESTROY(); }
static void ddp_clean(void ) { struct ddpcb *ddp; for ( ddp = ddpcb; ddp; ddp = ddp->ddp_next ) { at_pcbdetach( ddp->ddp_socket, ddp ); } }
static void ddp_detach(struct socket *so) { struct ddpcb *ddp; ddp = sotoddpcb(so); KASSERT(ddp != NULL, ("ddp_detach: ddp == NULL")); DDP_LIST_XLOCK(); DDP_LOCK(ddp); at_pcbdetach(so, ddp); DDP_LIST_XUNLOCK(); }
int ddp_pru_detach(struct socket *so) { int s; struct atpcb *pcb = (struct atpcb *)((so)->so_pcb); if (pcb == NULL) return (EINVAL); s = splnet(); at_pcbdetach(pcb); splx(s); return 0; }
static int ddp_detach(struct socket *so) { struct ddpcb *ddp; int s; ddp = sotoddpcb( so ); if ( ddp == NULL ) { return( EINVAL); } s = splnet(); at_pcbdetach( so, ddp ); splx(s); return(0); }
int ddp_pru_disconnect(struct socket *so) { int s, error = 0; at_ddp_t *ddp = NULL; struct atpcb *pcb = (struct atpcb *)((so)->so_pcb); if (pcb == NULL) return (EINVAL); if ((so->so_state & SS_ISCONNECTED) == 0) return ENOTCONN; soisdisconnected(so); s = splnet(); at_pcbdetach(pcb); splx(s); return error; }