int adsp_window = 1;
+int attachData(CCBPtr, gbuf_t *mp);
+
/*
* CalcRecvWdw
*
bytes = calcRecvQ(sp);
bytes = sp->rbuflen - bytes; /* get what is left */
- if (bytes <= 16) { /* %%% this should be zero */
+ if ((bytes <= 16)) { /* %%% this should be zero */
sp->rbufFull = 1; /* Save flag that our recv buf is full */
return 0;
}
return ((bytes+bytes+bytes) >> 2) + 1; /* %%% */
}
+int
calcRecvQ(sp)
CCBPtr sp;
{
register gbuf_t *mb;
if (sp->rData) { /* There is data in buffer */
- if (mb = sp->rbuf_mb) {
+ if ((mb = sp->rbuf_mb)) {
do {
bytes += gbuf_msgsize(mb);
mb = gbuf_next(mb);
} while (mb);
}
- if (mb = sp->crbuf_mb)
+ if ((mb = sp->crbuf_mb))
bytes += gbuf_msgsize(mb);
}
#endif
{
int i;
int attnMsg; /* True if attention message */
- int s;
register gbuf_t *mp; /* send message block */
#ifdef notdef
register gbuf_t *tmp;
int use_attention_code;
int len; /* length used in allocd mblk */
int datalen; /* amount of data attached to mblk */
- gbuf_t *mprev, *mlist = 0;
+ gbuf_t *mprev = 0, *mlist = 0;
top:
gbuf_freel(mlist);
return; /* can't get buffers... do nothing! */
}
- ATDISABLE(s, sp->lock);
sp->callSend = 0; /* Clear flag */
use_attention_code = 0;
len = 0;
/* point past ADSP header (no attention) */
dp = ((char *) gbuf_wptr(mp)) + ADSP_FRAME_LEN;
- UAL_ASSIGN(sp->f.pktFirstByteSeq, netdw(sp->firstRtmtSeq));
+ UAL_ASSIGN_HTON(sp->f.pktFirstByteSeq, sp->firstRtmtSeq);
- UAS_ASSIGN(sp->of.version, netw(0x0100)); /* Fill in open connection parms */
- UAS_ASSIGN(sp->of.dstCID, sp->remCID); /* Destination CID */
- UAL_ASSIGN(sp->of.pktAttnRecvSeq, netdw(sp->attnRecvSeq));
+ UAS_ASSIGN_HTON(sp->of.version, netw(0x0100)); /* Fill in open connection parms */
+ UAS_ASSIGN_HTON(sp->of.dstCID, sp->remCID); /* Destination CID */
+ UAL_ASSIGN_HTON(sp->of.pktAttnRecvSeq, sp->attnRecvSeq);
bcopy((caddr_t) &sp->of, (caddr_t) dp, ADSP_OPEN_FRAME_LEN);
len += ADSP_OPEN_FRAME_LEN;
if (i & B_CTL_OREQ) {
- UAS_ASSIGN(sp->f.CID, sp->locCID);
+ UAS_ASSIGN_HTON(sp->f.CID, sp->locCID);
mask = B_CTL_OREQ;
sp->f.descriptor = ADSP_CONTROL_BIT | ADSP_CTL_OREQ;
} else if (i & B_CTL_OACK) {
- UAS_ASSIGN(sp->f.CID, sp->locCID);
+ UAS_ASSIGN_HTON(sp->f.CID, sp->locCID);
mask = B_CTL_OACK;
sp->f.descriptor = ADSP_CONTROL_BIT | ADSP_CTL_OACK;
} else if (i & B_CTL_OREQACK) {
- UAS_ASSIGN(sp->f.CID, sp->locCID);
+ UAS_ASSIGN_HTON(sp->f.CID, sp->locCID);
mask = B_CTL_OREQACK;
sp->f.descriptor = ADSP_CONTROL_BIT | ADSP_CTL_OREQACK;
} else /* Deny */
}
} else {
/* seq # of next byte to send */
- UAL_ASSIGN(sp->f.pktFirstByteSeq, netdw(sp->sendSeq));
+ UAL_ASSIGN_HTON(sp->f.pktFirstByteSeq, sp->sendSeq);
if (i & B_CTL_CLOSE) {
sp->state = sClosed; /* Now we're closed */
* in a row. */
{
attnMsg = 0;
- if (datalen = attachData(sp, mp)) /* attach data to mp */
+ if ((datalen = attachData(sp, mp))) /* attach data to mp */
goto sendit; /* if successful, sendit */
}
if (sp->sendDataAck) {
- UAL_ASSIGN(sp->f.pktFirstByteSeq, netdw(sp->sendSeq)); /* seq # of next byte */
+ UAL_ASSIGN_HTON(sp->f.pktFirstByteSeq, sp->sendSeq); /* seq # of next byte */
attnMsg = 0;
sp->f.descriptor = ADSP_CONTROL_BIT;
goto sendit;
*/
if (mp)
gbuf_freem(mp);
- ATENABLE(s, sp->lock);
if (mlist)
adsp_sendddp(sp, mlist, 0, &sp->remoteAddress, DDP_ADSP);
return;
sendit:
if (attnMsg) {
- UAL_ASSIGN(sp->f.pktFirstByteSeq, netdw(sp->attnSendSeq));
- UAL_ASSIGN(sp->f.pktNextRecvSeq, netdw(sp->attnRecvSeq));
+ UAL_ASSIGN_HTON(sp->f.pktFirstByteSeq, sp->attnSendSeq);
+ UAL_ASSIGN_HTON(sp->f.pktNextRecvSeq, sp->attnRecvSeq);
UAS_ASSIGN(sp->f.pktRecvWdw, 0); /* Always zero in attn pkt */
} else {
sp->sendDataAck = 0;
- UAL_ASSIGN(sp->f.pktNextRecvSeq, netdw(sp->recvSeq));
- UAS_ASSIGN(sp->f.pktRecvWdw, netw(CalcRecvWdw(sp)));
+ UAL_ASSIGN_HTON(sp->f.pktNextRecvSeq, sp->recvSeq);
+ UAS_ASSIGN_HTON(sp->f.pktRecvWdw, CalcRecvWdw(sp));
}
if (use_attention_code) {
bcopy((caddr_t) &sp->f, (caddr_t) gbuf_wptr(mp), ADSP_FRAME_LEN + 2);
if (sp->state == sClosed) { /* must have sent a close advice */
/* send header + data */
- ATENABLE(s, sp->lock);
adsp_sendddp(sp, mlist, 0, &sp->remoteAddress, DDP_ADSP);
DoClose(sp, 0, -1); /* complete close! */
return;
}
- ATENABLE(s, sp->lock);
if (sp->state == sClosing) /* See if we were waiting on this write */
CheckOkToClose(sp);
goto top;
gbuf_freem(pb->mp);
}
+
+int
attachData(sp, mp)
register CCBPtr sp;
register gbuf_t *mp;
* The easiest fix to this timing dilemma seems to be to reset
* sendSeq to first Rtmt Seq if we're sending the first packet.
*/
- UAL_ASSIGN(sp->f.pktFirstByteSeq, netdw(sp->sendSeq));
+ UAL_ASSIGN_HTON(sp->f.pktFirstByteSeq, sp->sendSeq);
- if (smp = sp->sbuf_mb) /* Get oldest header */
+ if ((smp = sp->sbuf_mb)) /* Get oldest header */
eom = 1;
- else if (smp = sp->csbuf_mb)
+ else if ((smp = sp->csbuf_mb))
eom = 0;
if (smp == 0) { /* this shouldn't happen... */