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