Lines Matching refs:mp

134 static int	rcv_parse(queue_t *q, mblk_t *mp);
135 static int snd_parse(queue_t *q, mblk_t *mp);
308 mblk_t *mp; in telmodclose() local
316 while (mp = getq(WR(q))) in telmodclose()
317 putnext(WR(q), mp); in telmodclose()
356 telmodrput(queue_t *q, mblk_t *mp) in telmodrput() argument
362 if ((mp->b_datap->db_type < QPCTL) && in telmodrput()
365 (void) putq(q, mp); in telmodrput()
369 switch (mp->b_datap->db_type) { in telmodrput()
380 recover(q, mp, msgdsize(mp)); in telmodrput()
386 newmp->b_cont = mp; in telmodrput()
403 (void) rcv_parse(q, mp); in telmodrput()
412 mp->b_flag |= MSGMARK; in telmodrput()
413 if (*mp->b_rptr & FLUSHR) in telmodrput()
415 putnext(q, mp); in telmodrput()
426 putnext(q, mp); in telmodrput()
434 tip = (union T_primitives *)mp->b_rptr; in telmodrput()
440 ASSERT(mp->b_cont == NULL); in telmodrput()
441 mp->b_datap->db_type = M_HANGUP; in telmodrput()
442 mp->b_wptr = mp->b_rptr; in telmodrput()
443 if (mp->b_cont) { in telmodrput()
444 freemsg(mp->b_cont); in telmodrput()
445 mp->b_cont = NULL; in telmodrput()
454 putnext(q, mp); in telmodrput()
458 putnext(q, mp); in telmodrput()
464 newmp = mp->b_cont; in telmodrput()
465 freeb(mp); in telmodrput()
466 mp = newmp; in telmodrput()
467 if (mp) { in telmodrput()
468 ASSERT(mp->b_datap->db_type == M_DATA); in telmodrput()
469 if (msgdsize(mp) != 0) { in telmodrput()
472 freemsg(mp); in telmodrput()
482 freemsg(mp); in telmodrput()
491 freemsg(mp); in telmodrput()
499 mp->b_datap->db_type); in telmodrput()
501 freemsg(mp); in telmodrput()
513 mblk_t *mp, *newmp; in telmodrsrv() local
517 while ((mp = getq(q)) != NULL) { in telmodrsrv()
520 (void) putbq(q, mp); in telmodrsrv()
523 switch (mp->b_datap->db_type) { in telmodrsrv()
530 recover(q, mp, msgdsize(mp)); in telmodrsrv()
536 newmp->b_cont = mp; in telmodrsrv()
545 if (!rcv_parse(q, mp)) { in telmodrsrv()
552 tip = (union T_primitives *)mp->b_rptr; in telmodrsrv()
567 ASSERT(mp->b_cont == NULL); in telmodrsrv()
568 mp->b_datap->db_type = M_HANGUP; in telmodrsrv()
569 mp->b_wptr = mp->b_rptr; in telmodrsrv()
570 if (mp->b_cont) { in telmodrsrv()
571 freemsg(mp->b_cont); in telmodrsrv()
572 mp->b_cont = NULL; in telmodrsrv()
581 putnext(q, mp); in telmodrsrv()
585 putnext(q, mp); in telmodrsrv()
591 newmp = mp->b_cont; in telmodrsrv()
592 freeb(mp); in telmodrsrv()
593 mp = newmp; in telmodrsrv()
594 if (mp) { in telmodrsrv()
595 ASSERT(mp->b_datap->db_type == M_DATA); in telmodrsrv()
596 if (msgdsize(mp) != 0) { in telmodrsrv()
599 freemsg(mp); in telmodrsrv()
609 freemsg(mp); in telmodrsrv()
618 freemsg(mp); in telmodrsrv()
623 putnext(q, mp); in telmodrsrv()
630 mp->b_datap->db_type); in telmodrsrv()
632 freemsg(mp); in telmodrsrv()
653 mblk_t *mp) /* Pointer to current message block */ in telmodwput() argument
663 switch (mp->b_datap->db_type) { in telmodwput()
668 (void) putq(q, mp); in telmodwput()
677 (void) snd_parse(q, mp); in telmodwput()
681 if (((mp->b_wptr - mp->b_rptr) == 1) && in telmodwput()
682 (*(mp->b_rptr) == M_CTL_MAGIC_NUMBER)) { in telmodwput()
683 savemp = mp->b_cont; in telmodwput()
684 freeb(mp); in telmodwput()
685 mp = savemp; in telmodwput()
687 putnext(q, mp); in telmodwput()
691 ioc = (struct iocblk *)mp->b_rptr; in telmodwput()
700 miocnak(q, mp, 0, EINVAL); in telmodwput()
707 miocack(q, mp, 0, 0); in telmodwput()
723 miocnak(q, mp, 0, EINVAL); in telmodwput()
727 if (mp->b_cont) { in telmodwput()
728 (void) putbq(RD(q), mp->b_cont); in telmodwput()
729 mp->b_cont = 0; in telmodwput()
737 miocack(q, mp, 0, 0); in telmodwput()
745 error = miocpullup(mp, sizeof (uchar_t)); in telmodwput()
747 miocnak(q, mp, 0, error); in telmodwput()
750 tmip->flags |= *(mp->b_cont->b_rptr) & in telmodwput()
752 miocack(q, mp, 0, 0); in telmodwput()
765 miocnak(q, mp, 0, EINVAL); in telmodwput()
769 error = miocpullup(mp, sizeof (uchar_t)); in telmodwput()
771 miocnak(q, mp, 0, error); in telmodwput()
774 if (*(mp->b_cont->b_rptr) == 0x01) in telmodwput()
779 miocack(q, mp, 0, 0); in telmodwput()
784 putnext(q, mp); in telmodwput()
791 miocnak(q, mp, 0, EINVAL); in telmodwput()
806 rw = *mp->b_rptr; in telmodwput()
816 *mp->b_rptr = rw & ~FLUSHW; in telmodwput()
817 qreply(q, mp); in telmodwput()
819 freemsg(mp); in telmodwput()
833 putnext(q, mp); in telmodwput()
839 (void) putq(q, mp); in telmodwput()
841 putnext(q, mp); in telmodwput()
848 mp->b_datap->db_type); in telmodwput()
850 freemsg(mp); in telmodwput()
861 mblk_t *mp, *savemp; in telmodwsrv() local
865 while ((mp = getq(q)) != NULL) { in telmodwsrv()
867 ASSERT(mp->b_datap->db_type < QPCTL); in telmodwsrv()
868 (void) putbq(q, mp); in telmodwsrv()
871 switch (mp->b_datap->db_type) { in telmodwsrv()
875 (void) putbq(q, mp); in telmodwsrv()
882 if (!snd_parse(q, mp)) { in telmodwsrv()
888 if (((mp->b_wptr - mp->b_rptr) == 1) && in telmodwsrv()
889 (*(mp->b_rptr) == M_CTL_MAGIC_NUMBER)) { in telmodwsrv()
890 savemp = mp->b_cont; in telmodwsrv()
891 freeb(mp); in telmodwsrv()
892 mp = savemp; in telmodwsrv()
894 putnext(q, mp); in telmodwsrv()
898 putnext(q, mp); in telmodwsrv()
905 mp->b_datap->db_type); in telmodwsrv()
907 freemsg(mp); in telmodwsrv()
940 rcv_parse(queue_t *q, mblk_t *mp) in rcv_parse() argument
948 datamp = mp; in rcv_parse()
951 while (mp) { in rcv_parse()
955 if (mp->b_rptr == mp->b_wptr) { in rcv_parse()
956 prevmp = mp; in rcv_parse()
957 mp = mp->b_cont; in rcv_parse()
968 if ((*mp->b_rptr == '\n') || (*mp->b_rptr == NULL)) { in rcv_parse()
969 if (mp->b_wptr == (mp->b_rptr + 1)) { in rcv_parse()
972 prevmp->b_cont = mp->b_cont; in rcv_parse()
973 freeb(mp); in rcv_parse()
974 mp = prevmp->b_cont; in rcv_parse()
977 datamp = mp->b_cont; in rcv_parse()
978 freeb(mp); in rcv_parse()
991 mp = datamp; in rcv_parse()
996 mp->b_rptr += 1; in rcv_parse()
1000 tmp = mp->b_rptr; in rcv_parse()
1005 while (tmp < mp->b_wptr) { in rcv_parse()
1013 if (tmp > mp->b_rptr) { in rcv_parse()
1014 if ((protomp = dupb(mp)) == NULL) { in rcv_parse()
1019 ASSERT(tmp >= mp->b_datap->db_base); in rcv_parse()
1020 ASSERT(tmp <= mp->b_datap->db_lim); in rcv_parse()
1024 mp->b_wptr = tmp; in rcv_parse()
1026 protomp->b_cont = mp->b_cont; in rcv_parse()
1027 mp->b_cont = 0; in rcv_parse()
1030 prevmp->b_cont = mp; in rcv_parse()
1033 protomp = mp; in rcv_parse()
1074 if ((tmp == (mp->b_wptr - 1)) && in rcv_parse()
1091 if (mp->b_wptr > (tmp + 2)) { in rcv_parse()
1093 (mp->b_wptr - tmp - 2)); in rcv_parse()
1094 mp->b_wptr -= 1; in rcv_parse()
1096 mp->b_wptr = tmp + 1; in rcv_parse()
1100 prevmp->b_cont = mp; in rcv_parse()
1105 prevmp = mp; in rcv_parse()
1106 mp = mp->b_cont; in rcv_parse()
1127 snd_parse(queue_t *q, mblk_t *mp) in snd_parse() argument
1132 size_t size = msgdsize(mp); in snd_parse()
1134 savemp = mp; in snd_parse()
1137 putnext(q, mp); in snd_parse()
1147 recover(q, mp, (2 * size)+1); in snd_parse()
1153 while (mp) { in snd_parse()
1156 if (*(mp->b_rptr) != '\n') in snd_parse()
1160 tmp = mp->b_rptr; in snd_parse()
1161 while (tmp < mp->b_wptr) { in snd_parse()
1164 if ((tmp == (mp->b_wptr - 1)) && in snd_parse()
1186 mp = mp->b_cont; in snd_parse()
1235 recover(queue_t *q, mblk_t *mp, size_t size) in recover() argument
1241 ASSERT(mp->b_datap->db_type < QPCTL); in recover()
1243 (void) putbq(q, mp); in recover()