X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/8f6c56a50524aa785f7e596d52dddfb331e18961..89b3af67bb32e691275bf6fa803d1834b2284115:/bsd/netat/ddp_usrreq.c?ds=sidebyside diff --git a/bsd/netat/ddp_usrreq.c b/bsd/netat/ddp_usrreq.c index b4862ef98..9ad2b99f2 100644 --- a/bsd/netat/ddp_usrreq.c +++ b/bsd/netat/ddp_usrreq.c @@ -86,7 +86,7 @@ int ddp_pru_control(struct socket *so, u_long cmd, caddr_t data, int ddp_pru_attach(struct socket *so, int proto, struct proc *p) { - int s, error = 0; + int error = 0; at_ddp_t *ddp = NULL; struct atpcb *pcb = (struct atpcb *)((so)->so_pcb); @@ -94,9 +94,7 @@ int ddp_pru_attach(struct socket *so, int proto, if (error != 0) return error; - s = splnet(); error = at_pcballoc(so, &ddp_head); - splx(s); if (error) return error; pcb = (struct atpcb *)((so)->so_pcb); @@ -111,7 +109,7 @@ int ddp_pru_attach(struct socket *so, int proto, int ddp_pru_disconnect(struct socket *so) { - int s, error = 0; + int error = 0; at_ddp_t *ddp = NULL; struct atpcb *pcb = (struct atpcb *)((so)->so_pcb); @@ -122,9 +120,7 @@ int ddp_pru_disconnect(struct socket *so) return ENOTCONN; soisdisconnected(so); - s = splnet(); at_pcbdetach(pcb); - splx(s); return error; } @@ -132,31 +128,25 @@ int ddp_pru_disconnect(struct socket *so) int ddp_pru_abort(struct socket *so) { - int s; struct atpcb *pcb = (struct atpcb *)((so)->so_pcb); if (pcb == NULL) return (EINVAL); soisdisconnected(so); - s = splnet(); at_pcbdetach(pcb); - splx(s); return 0; } 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; } @@ -229,8 +219,8 @@ int ddp_pru_send(struct socket *so, int flags, struct mbuf *m, } } if (ddp) { - ddp->length = m->m_pkthdr.len; - UAS_ASSIGN(ddp->checksum, + DDPLEN_ASSIGN(ddp, m->m_pkthdr.len); + UAS_ASSIGN_HTON(ddp->checksum, (pcb->ddp_flags & DDPFLG_CHKSUM)? 1: 0); ddp->type = (pcb->ddptype)? pcb->ddptype: DEFAULT_OT_DDPTYPE; #ifdef NOT_YET @@ -259,8 +249,8 @@ int ddp_pru_send(struct socket *so, int flags, struct mbuf *m, NET_ASSIGN(ddp->src_net, ifID->ifThisNode.s_net); ddp->src_node = ifID->ifThisNode.s_node; ddp->src_socket = pcb->lport; - if (UAS_VALUE(ddp->checksum)) - UAS_ASSIGN(ddp->checksum, ddp_checksum(m, 4)); + if (UAS_VALUE_NTOH(ddp->checksum)) + UAS_ASSIGN_HTON(ddp->checksum, ddp_checksum(m, 4)); ddp_input(n, ifID); } } @@ -270,7 +260,6 @@ int ddp_pru_send(struct socket *so, int flags, struct mbuf *m, int ddp_pru_sockaddr(struct socket *so, struct sockaddr **nam) { - int s; struct atpcb *pcb; struct sockaddr_at *sat; @@ -279,9 +268,7 @@ int ddp_pru_sockaddr(struct socket *so, return(ENOMEM); bzero((caddr_t)sat, sizeof(*sat)); - s = splnet(); if ((pcb = sotoatpcb(so)) == NULL) { - splx(s); FREE(sat, M_SONAME); return(EINVAL); } @@ -290,7 +277,6 @@ int ddp_pru_sockaddr(struct socket *so, sat->sat_len = sizeof(*sat); sat->sat_port = pcb->lport; sat->sat_addr = pcb->laddr; - splx(s); *nam = (struct sockaddr *)sat; return(0); @@ -300,7 +286,6 @@ int ddp_pru_sockaddr(struct socket *so, int ddp_pru_peeraddr(struct socket *so, struct sockaddr **nam) { - int s; struct atpcb *pcb; struct sockaddr_at *sat; @@ -309,9 +294,7 @@ int ddp_pru_peeraddr(struct socket *so, return (ENOMEM); bzero((caddr_t)sat, sizeof(*sat)); - s = splnet(); if ((pcb = sotoatpcb(so)) == NULL) { - splx(s); FREE(sat, M_SONAME); return(EINVAL); } @@ -320,7 +303,6 @@ int ddp_pru_peeraddr(struct socket *so, sat->sat_len = sizeof(*sat); sat->sat_port = pcb->rport; sat->sat_addr = pcb->raddr; - splx(s); *nam = (struct sockaddr *)sat; return(0);