Lines Matching refs:q

203 rlmodopen(queue_t *q, dev_t *devp, int oflag, int sflag, cred_t *cred)  in rlmodopen()  argument
213 if (q->q_ptr != NULL) { in rlmodopen()
226 q->q_ptr = rmip; in rlmodopen()
227 WR(q)->q_ptr = rmip; in rlmodopen()
240 qprocson(q); in rlmodopen()
253 bufcall_id_t id = qbufcall(q, sizeof (union T_primitives), in rlmodopen()
255 if (!qwait_sig(q)) { in rlmodopen()
256 qunbufcall(q, id); in rlmodopen()
260 qunbufcall(q, id); in rlmodopen()
275 bufcall_id_t id = qbufcall(q, sizeof (union T_primitives), in rlmodopen()
277 if (!qwait_sig(q)) { in rlmodopen()
278 qunbufcall(q, id); in rlmodopen()
282 qunbufcall(q, id); in rlmodopen()
290 putnext(q, bp); in rlmodopen()
293 qprocsoff(q); in rlmodopen()
298 q->q_ptr = NULL; in rlmodopen()
299 WR(q)->q_ptr = NULL; in rlmodopen()
311 rlmodclose(queue_t *q, int flag, cred_t *credp) in rlmodclose() argument
313 struct rlmod_info *rmip = (struct rlmod_info *)q->q_ptr; in rlmodclose()
322 while (mp = getq(WR(q))) in rlmodclose()
323 putnext(WR(q), mp); in rlmodclose()
326 (void) putnextctl(q, M_HANGUP); in rlmodclose()
328 qprocsoff(q); in rlmodclose()
330 qunbufcall(q, rmip->wbufcid); in rlmodclose()
334 qunbufcall(q, rmip->rbufcid); in rlmodclose()
338 (void) quntimeout(q, rmip->wtimoutid); in rlmodclose()
342 (void) quntimeout(q, rmip->rtimoutid); in rlmodclose()
354 kmem_free(q->q_ptr, sizeof (struct rlmod_info)); in rlmodclose()
355 q->q_ptr = WR(q)->q_ptr = NULL; in rlmodclose()
366 rlmodrput(queue_t *q, mblk_t *mp) in rlmodrput() argument
368 struct rlmod_info *rmip = (struct rlmod_info *)q->q_ptr; in rlmodrput()
372 "q %p, mp %p", q, mp); in rlmodrput()
378 ((q->q_first) || in rlmodrput()
383 (void) putq(q, mp); in rlmodrput()
385 "rlmodrput end: q %p, mp %p, %s", q, mp, "flow"); in rlmodrput()
412 putnext(q, mp); in rlmodrput()
413 qreply(q, rmip->unbind_mp); in rlmodrput()
416 putnext(q, mp); in rlmodrput()
438 if (canputnext(q) && q->q_first == NULL) { in rlmodrput()
439 (void) rlmodrmsg(q, mp); in rlmodrput()
441 (void) putq(q, mp); in rlmodrput()
453 flushq(q, FLUSHALL); in rlmodrput()
455 putnext(q, mp); in rlmodrput()
463 if (mp->b_datap->db_type <= QPCTL && !canputnext(q)) in rlmodrput()
464 (void) putq(q, mp); in rlmodrput()
466 putnext(q, mp); in rlmodrput()
477 "mp %p, %s", q, mp, "done"); in rlmodrput()
485 rlmodrsrv(queue_t *q) in rlmodrsrv() argument
488 struct rlmod_info *rmip = (struct rlmod_info *)q->q_ptr; in rlmodrsrv()
492 "q %p", q); in rlmodrsrv()
493 while ((mp = getq(q)) != NULL) { in rlmodrsrv()
498 (void) putbq(q, mp); in rlmodrsrv()
500 "rlmodrsrv end: q %p, mp %p, %s", q, mp, in rlmodrsrv()
504 if (!canputnext(q)) { in rlmodrsrv()
505 (void) putbq(q, mp); in rlmodrsrv()
508 q, mp, "!canputnext"); in rlmodrsrv()
511 if (!rlmodrmsg(q, mp)) { in rlmodrsrv()
514 q, mp, "!rlmodrmsg"); in rlmodrsrv()
539 putnext(q, mp); in rlmodrsrv()
540 qreply(q, rmip->unbind_mp); in rlmodrsrv()
543 putnext(q, mp); in rlmodrsrv()
565 if (!canputnext(q)) { in rlmodrsrv()
566 (void) putbq(q, mp); in rlmodrsrv()
569 q, mp, "!canputnext M_SETOPTS"); in rlmodrsrv()
572 putnext(q, mp); in rlmodrsrv()
586 "mp %p, %s", q, mp, "empty"); in rlmodrsrv()
596 rlmodwput(queue_t *q, mblk_t *mp) in rlmodwput() argument
599 struct rlmod_info *rmip = (struct rlmod_info *)q->q_ptr; in rlmodwput()
604 "q %p, mp %p", q, mp); in rlmodwput()
613 if (!canputnext(q)) { in rlmodwput()
614 (void) putq(q, mp); in rlmodwput()
617 q, mp, "expdata && !canputnext"); in rlmodwput()
621 putnext(q, tmpmp); in rlmodwput()
624 recover1(q, sizeof (mblk_t)); /* XXX.sparker */ in rlmodwput()
628 if ((q->q_first || rmip->rl_expdat) && mp->b_datap->db_type < QPCTL) { in rlmodwput()
629 (void) putq(q, mp); in rlmodwput()
631 "q %p, mp %p, %s", q, mp, "queued data"); in rlmodwput()
637 if (!canputnext(q)) in rlmodwput()
638 (void) putq(q, mp); in rlmodwput()
640 putnext(q, mp); in rlmodwput()
650 qreply(q, mp); in rlmodwput()
658 flushq(q, FLUSHDATA); in rlmodwput()
669 (void) putnextctl1(q, M_FLUSH, FLUSHW); in rlmodwput()
674 if (!canputnext(q)) { in rlmodwput()
677 q, mp, "flushw && !canputnext"); in rlmodwput()
682 recover1(q, sizeof (mblk_t)); in rlmodwput()
685 q, mp, "!make_expmblk"); in rlmodwput()
688 putnext(q, mp); in rlmodwput()
693 if (!rlmodwioctl(q, mp)) in rlmodwput()
694 (void) putq(q, mp); in rlmodwput()
702 putnext(q, mp); in rlmodwput()
718 putnext(q, mp); in rlmodwput()
735 "q %p, mp %p, %s", q, mp, "done"); in rlmodwput()
743 rlmodwsrv(queue_t *q) in rlmodwsrv() argument
747 struct rlmod_info *rmip = (struct rlmod_info *)q->q_ptr; in rlmodwsrv()
750 "start: q %p", q); in rlmodwsrv()
757 if (!canputnext(q)) { in rlmodwsrv()
760 q, NULL, "!canputnext && expdat"); in rlmodwsrv()
764 putnext(q, tmpmp); in rlmodwsrv()
767 recover1(q, sizeof (mblk_t)); in rlmodwsrv()
770 q, NULL, "!make_expmblk"); in rlmodwsrv()
774 while ((mp = getq(q)) != NULL) { in rlmodwsrv()
776 if (!canputnext(q) || rmip->rl_expdat) { in rlmodwsrv()
777 (void) putbq(q, mp); in rlmodwsrv()
780 q, mp, "!canputnext || expdat"); in rlmodwsrv()
784 if (!rlmodwioctl(q, mp)) { in rlmodwsrv()
787 q, mp, "!rlmodwioctl"); in rlmodwsrv()
788 (void) putbq(q, mp); in rlmodwsrv()
793 putnext(q, mp); in rlmodwsrv()
796 "mp %p, %s", q, mp, "done"); in rlmodwsrv()
841 rlmodrmsg(queue_t *q, mblk_t *mp) in rlmodrmsg() argument
847 struct rlmod_info *rmip = (struct rlmod_info *)q->q_ptr; in rlmodrmsg()
889 recover(q, newmp, sz); in rlmodrmsg()
943 if (rlwinsetup(q, mp, tmp) == NULL) { in rlmodrmsg()
945 recover(q, mp, sz); in rlmodrmsg()
978 if (!canputnext(q)) { in rlmodrmsg()
979 (void) putbq(q, newmp); in rlmodrmsg()
982 putnext(q, newmp); in rlmodrmsg()
994 rlwinctl(queue_t *q, mblk_t *mp) in rlwinctl() argument
998 struct rlmod_info *rmip = (struct rlmod_info *)q->q_ptr; in rlwinctl()
1001 "mp %p", q, mp); in rlwinctl()
1007 "q %p, mp %p, allocb failed", q, mp); in rlwinctl()
1018 putnext(q, rl_msgp); in rlwinctl()
1020 "q %p, mp %p, done", q, mp); in rlwinctl()
1031 rlwinsetup(queue_t *q, mblk_t *mp, unsigned char *blk) in rlwinsetup() argument
1056 if ((rlwinctl(q, mp1)) == NULL) { in rlwinsetup()
1084 tty_flow(queue_t *q, struct rlmod_info *rmip, mblk_t *mp) in tty_flow() argument
1107 miocnak(q, mp, 0, error); in tty_flow()
1121 miocnak(q, mp, 0, error); in tty_flow()
1137 miocnak(q, mp, 0, EINVAL); in tty_flow()
1150 recover(q, mp, sizeof (mblk_t)); in tty_flow()
1153 if (!canputnext(q)) { in tty_flow()
1157 putnext(q, tmpmp); in tty_flow()
1164 recover(q, mp, sizeof (mblk_t)); in tty_flow()
1167 if (!canputnext(q)) { in tty_flow()
1171 putnext(q, tmpmp); in tty_flow()
1176 miocack(q, mp, 0, 0); in tty_flow()
1183 rlmodwioctl(queue_t *q, mblk_t *mp) in rlmodwioctl() argument
1186 struct rlmod_info *rmip = (struct rlmod_info *)q->q_ptr; in rlmodwioctl()
1203 miocnak(q, mp, 0, EINVAL); in rlmodwioctl()
1207 (void) putbq(RD(q), mp->b_cont); in rlmodwioctl()
1213 qenable(RD(q)); in rlmodwioctl()
1214 miocack(q, mp, 0, 0); in rlmodwioctl()
1217 q, mp, "IOCACK enable"); in rlmodwioctl()
1231 return (tty_flow(q, rmip, mp)); in rlmodwioctl()
1237 miocnak(q, mp, 0, EINVAL); in rlmodwioctl()
1243 miocnak(q, mp, 0, error); in rlmodwioctl()
1251 miocack(q, mp, NULL, 0); in rlmodwioctl()
1256 putnext(q, mp); in rlmodwioctl()
1263 miocnak(q, mp, 0, EINVAL); in rlmodwioctl()
1272 queue_t *q = arg; in rlmod_timer() local
1273 struct rlmod_info *rmip = (struct rlmod_info *)q->q_ptr; in rlmod_timer()
1276 if (q->q_flag & QREADR) { in rlmod_timer()
1283 enableok(q); in rlmod_timer()
1284 qenable(q); in rlmod_timer()
1290 queue_t *q = arg; in rlmod_buffer() local
1291 struct rlmod_info *rmip = (struct rlmod_info *)q->q_ptr; in rlmod_buffer()
1294 if (q->q_flag & QREADR) { in rlmod_buffer()
1301 enableok(q); in rlmod_buffer()
1302 qenable(q); in rlmod_buffer()
1306 recover(queue_t *q, mblk_t *mp, size_t size) in recover() argument
1313 noenable(q); in recover()
1314 (void) putbq(q, mp); in recover()
1315 recover1(q, size); in recover()
1319 recover1(queue_t *q, size_t size) in recover1() argument
1321 struct rlmod_info *rmip = (struct rlmod_info *)q->q_ptr; in recover1()
1328 if (q->q_flag & QREADR) { in recover1()
1335 if (!(bid = qbufcall(RD(q), size, BPRI_MED, rlmod_buffer, q))) { in recover1()
1336 tid = qtimeout(RD(q), rlmod_timer, q, SIMWAIT); in recover1()
1337 if (q->q_flag & QREADR) in recover1()
1342 if (q->q_flag & QREADR) in recover1()