]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/netat/adsp.c
xnu-792.25.20.tar.gz
[apple/xnu.git] / bsd / netat / adsp.c
index f32217bd6311888111efac6ee544c0a6c38fa526..1b88d6750cc4948aa6f97a53f4362716427b925b 100644 (file)
@@ -3,20 +3,19 @@
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
+ * The contents of this file constitute Original Code as defined in and
+ * are subject to the Apple Public Source License Version 1.1 (the
+ * "License").  You may not use this file except in compliance with the
+ * License.  Please obtain a copy of the License at
+ * http://www.apple.com/publicsource and read it before using this file.
  * 
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * This Original Code and all software distributed under the License are
+ * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
+ * License for the specific language governing rights and limitations
+ * under the License.
  * 
  * @APPLE_LICENSE_HEADER_END@
  */
@@ -51,7 +50,6 @@ struct adsp_debug adsp_dtable[1025];
 int ad_entry = 0;
 #endif
 
-extern atlock_t adspgen_lock;
 
 adspAllocateCCB(gref)
     register gref_t *gref;     /* READ queue */
@@ -70,9 +68,6 @@ adspAllocateCCB(gref)
     sp->pid = gref->pid; /* save the caller process pointer */
     sp->gref = gref;           /* save a back pointer to the WRITE queue */
     sp->sp_mp = ccb_mp;                /* and its message block */
-    ATLOCKINIT(sp->lock);
-    ATLOCKINIT(sp->lockClose);
-    ATLOCKINIT(sp->lockRemove);
     return 1;
 }
 
@@ -80,19 +75,14 @@ adspRelease(gref)
     register gref_t *gref;     /* READ queue */
 {
     register CCBPtr sp;
-    int s, l;
 
-    ATDISABLE(l, adspgen_lock);
     if (gref->info) {
        sp = (CCBPtr)gbuf_rptr(((gbuf_t *)gref->info));
-       ATDISABLE(s, sp->lock);
-       ATENABLE(s, adspgen_lock);
                                /* Tells completion routine of close */
                                /* packet to remove us. */
 
        if (sp->state == sPassive || sp->state == sClosed || 
            sp->state == sOpening || sp->state == sListening) {
-           ATENABLE(l, sp->lock);
            if (sp->state == sListening)
                CompleteQueue(&sp->opb, errAborted);
            sp->removing = 1;   /* Prevent allowing another dspClose. */
@@ -101,7 +91,6 @@ adspRelease(gref)
        } else {                        /* sClosing & sOpen */
            sp->state = sClosing;
        }
-       ATENABLE(l, sp->lock);
 
        if (CheckOkToClose(sp)) { /* going to close */
            sp->sendCtl = B_CTL_CLOSE; /* Send close advice */
@@ -111,13 +100,10 @@ adspRelease(gref)
                    sp->sendCtl = B_CTL_CLOSE; /* Setup to send close advice */
        }
        CheckSend(sp);          /* and force out the close */
-       ATDISABLE(s, sp->lock);
            sp->removing = 1;   /* Prevent allowing another dspClose. */
            sp->state = sClosed;
-       ATENABLE(s, sp->lock);
            DoClose(sp, errAborted, 0);  /* to closed and remove CCB */
-    } else
-       ATENABLE(l, adspgen_lock);
+    } 
 }
 
 
@@ -360,11 +346,11 @@ adsp_sendddp(sp, mp, length, dstnetaddr, ddptype)
    /* Set up the DDP header */
 
    ddp = (DDPX_FRAME *) gbuf_rptr(mp);
-   UAS_ASSIGN(ddp->ddpx_length, (length + DDPL_FRAME_LEN));
+   UAS_ASSIGN_HTON(ddp->ddpx_length, (length + DDPL_FRAME_LEN));
    UAS_ASSIGN(ddp->ddpx_cksm, 0);
    if (sp) {
        if (sp->useCheckSum)
-          UAS_ASSIGN(ddp->ddpx_cksm, 1);
+          UAS_ASSIGN_HTON(ddp->ddpx_cksm, 1);
    }
 
    NET_ASSIGN(ddp->ddpx_dnet, dstnetaddr->a.net);