Lines Matching refs:smp
395 register gbuf_t *smp; /* send data message block */
412 if ((smp = sp->sbuf_mb)) /* Get oldest header */
414 else if ((smp = sp->csbuf_mb))
417 if (smp == 0) { /* this shouldn't happen... */
425 while ((diff = (sp->sendSeq - seq)) >= ((bsize = gbuf_msgsize(smp)) + eom)) {
427 if (gbuf_next(smp)) { /* if another send buffer */
428 smp = gbuf_next(smp);
430 } else if (smp == sp->csbuf_mb) { /* seen the current one? */
431 smp = 0;
434 smp = sp->csbuf_mb;
437 smp = 0;
442 if (smp) {
443 if (gbuf_next(smp) == 0) /* last block */
467 if (smp) {
470 if (gbuf_len(smp) > diff)
473 diff -= gbuf_len(smp);
474 smp = gbuf_cont(smp);
476 if((gbuf_cont(mp) = gbuf_dupm(smp)) == 0) /* copy the data */
478 smp = gbuf_cont(mp); /* use the new message blocks */
479 gbuf_rinc(smp,diff); /* and get to the first byte of data to send */
498 if (partial && smp) {
499 psmp = smp;
501 while (tcnt && smp) { /* while there are message blocks and data */
502 if (tcnt >= gbuf_len(smp)) {
503 tcnt -= gbuf_len(smp);
505 psmp = smp;
506 smp = gbuf_cont(smp);
508 if (psmp != smp) { /* not the first item on the list */
510 gbuf_freem(smp);
511 smp = psmp;
513 gbuf_freem(gbuf_cont(smp));
514 gbuf_cont(smp) = 0;
519 gbuf_wset(smp,tcnt);
520 if (gbuf_cont(smp)) {
521 gbuf_freem(gbuf_cont(smp));
522 gbuf_cont(smp) = 0;