Lines Matching refs:q

202 rlmodopen(queue_t *q, dev_t *devp, int oflag, int sflag, cred_t *cred)  in rlmodopen()  argument
212 if (q->q_ptr != NULL) { in rlmodopen()
225 q->q_ptr = rmip; in rlmodopen()
226 WR(q)->q_ptr = rmip; in rlmodopen()
239 qprocson(q); in rlmodopen()
252 bufcall_id_t id = qbufcall(q, sizeof (union T_primitives), in rlmodopen()
254 if (!qwait_sig(q)) { in rlmodopen()
255 qunbufcall(q, id); in rlmodopen()
259 qunbufcall(q, id); in rlmodopen()
274 bufcall_id_t id = qbufcall(q, sizeof (union T_primitives), in rlmodopen()
276 if (!qwait_sig(q)) { in rlmodopen()
277 qunbufcall(q, id); in rlmodopen()
281 qunbufcall(q, id); in rlmodopen()
289 putnext(q, bp); in rlmodopen()
292 qprocsoff(q); in rlmodopen()
297 q->q_ptr = NULL; in rlmodopen()
298 WR(q)->q_ptr = NULL; in rlmodopen()
310 rlmodclose(queue_t *q, int flag, cred_t *credp) in rlmodclose() argument
312 struct rlmod_info *rmip = (struct rlmod_info *)q->q_ptr; in rlmodclose()
321 while (mp = getq(WR(q))) in rlmodclose()
322 putnext(WR(q), mp); in rlmodclose()
325 (void) putnextctl(q, M_HANGUP); in rlmodclose()
327 qprocsoff(q); in rlmodclose()
329 qunbufcall(q, rmip->wbufcid); in rlmodclose()
333 qunbufcall(q, rmip->rbufcid); in rlmodclose()
337 (void) quntimeout(q, rmip->wtimoutid); in rlmodclose()
341 (void) quntimeout(q, rmip->rtimoutid); in rlmodclose()
353 kmem_free(q->q_ptr, sizeof (struct rlmod_info)); in rlmodclose()
354 q->q_ptr = WR(q)->q_ptr = NULL; in rlmodclose()
365 rlmodrput(queue_t *q, mblk_t *mp) in rlmodrput() argument
367 struct rlmod_info *rmip = (struct rlmod_info *)q->q_ptr; in rlmodrput()
371 "q %p, mp %p", q, mp); in rlmodrput()
377 ((q->q_first) || in rlmodrput()
382 (void) putq(q, mp); in rlmodrput()
384 "rlmodrput end: q %p, mp %p, %s", q, mp, "flow"); in rlmodrput()
411 putnext(q, mp); in rlmodrput()
412 qreply(q, rmip->unbind_mp); in rlmodrput()
415 putnext(q, mp); in rlmodrput()
437 if (canputnext(q) && q->q_first == NULL) { in rlmodrput()
438 (void) rlmodrmsg(q, mp); in rlmodrput()
440 (void) putq(q, mp); in rlmodrput()
452 flushq(q, FLUSHALL); in rlmodrput()
454 putnext(q, mp); in rlmodrput()
462 if (mp->b_datap->db_type <= QPCTL && !canputnext(q)) in rlmodrput()
463 (void) putq(q, mp); in rlmodrput()
465 putnext(q, mp); in rlmodrput()
476 "mp %p, %s", q, mp, "done"); in rlmodrput()
484 rlmodrsrv(queue_t *q) in rlmodrsrv() argument
487 struct rlmod_info *rmip = (struct rlmod_info *)q->q_ptr; in rlmodrsrv()
491 "q %p", q); in rlmodrsrv()
492 while ((mp = getq(q)) != NULL) { in rlmodrsrv()
497 (void) putbq(q, mp); in rlmodrsrv()
499 "rlmodrsrv end: q %p, mp %p, %s", q, mp, in rlmodrsrv()
503 if (!canputnext(q)) { in rlmodrsrv()
504 (void) putbq(q, mp); in rlmodrsrv()
507 q, mp, "!canputnext"); in rlmodrsrv()
510 if (!rlmodrmsg(q, mp)) { in rlmodrsrv()
513 q, mp, "!rlmodrmsg"); in rlmodrsrv()
538 putnext(q, mp); in rlmodrsrv()
539 qreply(q, rmip->unbind_mp); in rlmodrsrv()
542 putnext(q, mp); in rlmodrsrv()
564 if (!canputnext(q)) { in rlmodrsrv()
565 (void) putbq(q, mp); in rlmodrsrv()
568 q, mp, "!canputnext M_SETOPTS"); in rlmodrsrv()
571 putnext(q, mp); in rlmodrsrv()
585 "mp %p, %s", q, mp, "empty"); in rlmodrsrv()
595 rlmodwput(queue_t *q, mblk_t *mp) in rlmodwput() argument
598 struct rlmod_info *rmip = (struct rlmod_info *)q->q_ptr; in rlmodwput()
603 "q %p, mp %p", q, mp); in rlmodwput()
612 if (!canputnext(q)) { in rlmodwput()
613 (void) putq(q, mp); in rlmodwput()
616 q, mp, "expdata && !canputnext"); in rlmodwput()
620 putnext(q, tmpmp); in rlmodwput()
623 recover1(q, sizeof (mblk_t)); /* XXX.sparker */ in rlmodwput()
627 if ((q->q_first || rmip->rl_expdat) && mp->b_datap->db_type < QPCTL) { in rlmodwput()
628 (void) putq(q, mp); in rlmodwput()
630 "q %p, mp %p, %s", q, mp, "queued data"); in rlmodwput()
636 if (!canputnext(q)) in rlmodwput()
637 (void) putq(q, mp); in rlmodwput()
639 putnext(q, mp); in rlmodwput()
649 qreply(q, mp); in rlmodwput()
657 flushq(q, FLUSHDATA); in rlmodwput()
668 (void) putnextctl1(q, M_FLUSH, FLUSHW); in rlmodwput()
673 if (!canputnext(q)) { in rlmodwput()
676 q, mp, "flushw && !canputnext"); in rlmodwput()
681 recover1(q, sizeof (mblk_t)); in rlmodwput()
684 q, mp, "!make_expmblk"); in rlmodwput()
687 putnext(q, mp); in rlmodwput()
692 if (!rlmodwioctl(q, mp)) in rlmodwput()
693 (void) putq(q, mp); in rlmodwput()
701 putnext(q, mp); in rlmodwput()
717 putnext(q, mp); in rlmodwput()
734 "q %p, mp %p, %s", q, mp, "done"); in rlmodwput()
742 rlmodwsrv(queue_t *q) in rlmodwsrv() argument
746 struct rlmod_info *rmip = (struct rlmod_info *)q->q_ptr; in rlmodwsrv()
749 "start: q %p", q); in rlmodwsrv()
756 if (!canputnext(q)) { in rlmodwsrv()
759 q, NULL, "!canputnext && expdat"); in rlmodwsrv()
763 putnext(q, tmpmp); in rlmodwsrv()
766 recover1(q, sizeof (mblk_t)); in rlmodwsrv()
769 q, NULL, "!make_expmblk"); in rlmodwsrv()
773 while ((mp = getq(q)) != NULL) { in rlmodwsrv()
775 if (!canputnext(q) || rmip->rl_expdat) { in rlmodwsrv()
776 (void) putbq(q, mp); in rlmodwsrv()
779 q, mp, "!canputnext || expdat"); in rlmodwsrv()
783 if (!rlmodwioctl(q, mp)) { in rlmodwsrv()
786 q, mp, "!rlmodwioctl"); in rlmodwsrv()
787 (void) putbq(q, mp); in rlmodwsrv()
792 putnext(q, mp); in rlmodwsrv()
795 "mp %p, %s", q, mp, "done"); in rlmodwsrv()
840 rlmodrmsg(queue_t *q, mblk_t *mp) in rlmodrmsg() argument
846 struct rlmod_info *rmip = (struct rlmod_info *)q->q_ptr; in rlmodrmsg()
888 recover(q, newmp, sz); in rlmodrmsg()
942 if (rlwinsetup(q, mp, tmp) == NULL) { in rlmodrmsg()
944 recover(q, mp, sz); in rlmodrmsg()
977 if (!canputnext(q)) { in rlmodrmsg()
978 (void) putbq(q, newmp); in rlmodrmsg()
981 putnext(q, newmp); in rlmodrmsg()
993 rlwinctl(queue_t *q, mblk_t *mp) in rlwinctl() argument
997 struct rlmod_info *rmip = (struct rlmod_info *)q->q_ptr; in rlwinctl()
1000 "mp %p", q, mp); in rlwinctl()
1006 "q %p, mp %p, allocb failed", q, mp); in rlwinctl()
1017 putnext(q, rl_msgp); in rlwinctl()
1019 "q %p, mp %p, done", q, mp); in rlwinctl()
1030 rlwinsetup(queue_t *q, mblk_t *mp, unsigned char *blk) in rlwinsetup() argument
1055 if ((rlwinctl(q, mp1)) == 0) { in rlwinsetup()
1083 tty_flow(queue_t *q, struct rlmod_info *rmip, mblk_t *mp) in tty_flow() argument
1106 miocnak(q, mp, 0, error); in tty_flow()
1120 miocnak(q, mp, 0, error); in tty_flow()
1136 miocnak(q, mp, 0, EINVAL); in tty_flow()
1149 recover(q, mp, sizeof (mblk_t)); in tty_flow()
1152 if (!canputnext(q)) { in tty_flow()
1156 putnext(q, tmpmp); in tty_flow()
1163 recover(q, mp, sizeof (mblk_t)); in tty_flow()
1166 if (!canputnext(q)) { in tty_flow()
1170 putnext(q, tmpmp); in tty_flow()
1175 miocack(q, mp, 0, 0); in tty_flow()
1182 rlmodwioctl(queue_t *q, mblk_t *mp) in rlmodwioctl() argument
1185 struct rlmod_info *rmip = (struct rlmod_info *)q->q_ptr; in rlmodwioctl()
1202 miocnak(q, mp, 0, EINVAL); in rlmodwioctl()
1206 (void) putbq(RD(q), mp->b_cont); in rlmodwioctl()
1212 qenable(RD(q)); in rlmodwioctl()
1213 miocack(q, mp, 0, 0); in rlmodwioctl()
1216 q, mp, "IOCACK enable"); in rlmodwioctl()
1230 return (tty_flow(q, rmip, mp)); in rlmodwioctl()
1236 miocnak(q, mp, 0, EINVAL); in rlmodwioctl()
1242 miocnak(q, mp, 0, error); in rlmodwioctl()
1250 miocack(q, mp, 0, 0); in rlmodwioctl()
1255 putnext(q, mp); in rlmodwioctl()
1262 miocnak(q, mp, 0, EINVAL); in rlmodwioctl()
1271 queue_t *q = arg; in rlmod_timer() local
1272 struct rlmod_info *rmip = (struct rlmod_info *)q->q_ptr; in rlmod_timer()
1275 if (q->q_flag & QREADR) { in rlmod_timer()
1282 enableok(q); in rlmod_timer()
1283 qenable(q); in rlmod_timer()
1289 queue_t *q = arg; in rlmod_buffer() local
1290 struct rlmod_info *rmip = (struct rlmod_info *)q->q_ptr; in rlmod_buffer()
1293 if (q->q_flag & QREADR) { in rlmod_buffer()
1300 enableok(q); in rlmod_buffer()
1301 qenable(q); in rlmod_buffer()
1305 recover(queue_t *q, mblk_t *mp, size_t size) in recover() argument
1312 noenable(q); in recover()
1313 (void) putbq(q, mp); in recover()
1314 recover1(q, size); in recover()
1318 recover1(queue_t *q, size_t size) in recover1() argument
1320 struct rlmod_info *rmip = (struct rlmod_info *)q->q_ptr; in recover1()
1327 if (q->q_flag & QREADR) { in recover1()
1334 if (!(bid = qbufcall(RD(q), size, BPRI_MED, rlmod_buffer, q))) { in recover1()
1335 tid = qtimeout(RD(q), rlmod_timer, q, SIMWAIT); in recover1()
1336 if (q->q_flag & QREADR) in recover1()
1341 if (q->q_flag & QREADR) in recover1()