Lines Matching refs:q
226 static int mir_close(queue_t *q);
227 static int mir_open(queue_t *q, dev_t *devp, int flag, int sflag,
229 static void mir_rput(queue_t *q, mblk_t *mp);
230 static void mir_rsrv(queue_t *q);
231 static void mir_wput(queue_t *q, mblk_t *mp);
232 static void mir_wsrv(queue_t *q);
426 void tmp_rput(queue_t *q, mblk_t *mp);
438 tmp_rput(queue_t *q, mblk_t *mp) in tmp_rput() argument
440 struct temp_slot *t = (struct temp_slot *)(q->q_ptr); in tmp_rput()
469 rmm_open(queue_t *q, dev_t *devp, int flag, int sflag, cred_t *crp) in rmm_open() argument
476 ASSERT(q != NULL); in rmm_open()
480 if (q->q_ptr) { in rmm_open()
488 q->q_ptr = (void *)t; in rmm_open()
489 WR(q)->q_ptr = (void *)t; in rmm_open()
504 qprocson(q); in rmm_open()
508 putnext(WR(q), bp); in rmm_open()
525 if ((error = rpcmodopen(q, devp, flag, sflag, crp)) == 0) in rmm_open()
526 ((struct rpcm *)q->q_ptr)->rm_ops = &xprt_clts_ops; in rmm_open()
528 if ((error = mir_open(q, devp, flag, sflag, crp)) == 0) in rmm_open()
529 ((mir_t *)q->q_ptr)->rm_ops = &xprt_cots_ops; in rmm_open()
534 qprocsoff(q); in rmm_open()
544 rmm_rput(queue_t *q, mblk_t *mp) in rmm_rput() argument
546 (*((struct temp_slot *)q->q_ptr)->ops->xo_rput)(q, mp); in rmm_rput()
550 rmm_rsrv(queue_t *q) in rmm_rsrv() argument
552 (*((struct temp_slot *)q->q_ptr)->ops->xo_rsrv)(q); in rmm_rsrv()
556 rmm_wput(queue_t *q, mblk_t *mp) in rmm_wput() argument
558 (*((struct temp_slot *)q->q_ptr)->ops->xo_wput)(q, mp); in rmm_wput()
562 rmm_wsrv(queue_t *q) in rmm_wsrv() argument
564 (*((struct temp_slot *)q->q_ptr)->ops->xo_wsrv)(q); in rmm_wsrv()
568 rmm_close(queue_t *q, int flag, cred_t *crp) in rmm_close() argument
570 return ((*((struct temp_slot *)q->q_ptr)->ops->xo_close)(q, flag, crp)); in rmm_close()
580 rpcmodopen(queue_t *q, dev_t *devp, int flag, int sflag, cred_t *crp) in rpcmodopen() argument
617 q->q_ptr = (void *)rmp; in rpcmodopen()
618 WR(q)->q_ptr = (void *)rmp; in rpcmodopen()
630 rpcmodclose(queue_t *q, int flag, cred_t *crp) in rpcmodclose() argument
634 ASSERT(q != NULL); in rpcmodclose()
635 rmp = (struct rpcm *)q->q_ptr; in rpcmodclose()
649 flushq(q, FLUSHDATA); in rpcmodclose()
651 qenable(WR(q)); in rpcmodclose()
658 svc_queueclean(q); in rpcmodclose()
676 qprocsoff(q); in rpcmodclose()
679 svc_queueclose(q); in rpcmodclose()
682 qprocsoff(q); in rpcmodclose()
685 q->q_ptr = NULL; in rpcmodclose()
686 WR(q)->q_ptr = NULL; in rpcmodclose()
698 rpcmodrput(queue_t *q, mblk_t *mp) in rpcmodrput() argument
706 ASSERT(q != NULL); in rpcmodrput()
707 rmp = (struct rpcm *)q->q_ptr; in rpcmodrput()
716 putnext(q, mp); in rpcmodrput()
734 putnext(q, mp); in rpcmodrput()
773 svc_queuereq(q, mp, TRUE)) { in rpcmodrput()
821 putnext(q, mp); in rpcmodrput()
836 rpcmodwput(queue_t *q, mblk_t *mp) in rpcmodwput() argument
840 ASSERT(q != NULL); in rpcmodwput()
847 rpcmodwput_other(q, mp); in rpcmodwput()
854 if (canputnext(q)) { in rpcmodwput()
855 putnext(q, mp); in rpcmodwput()
859 rmp = (struct rpcm *)q->q_ptr; in rpcmodwput()
869 if (canputnext(q) || (rmp->rm_state & RM_CLOSING)) { in rpcmodwput()
871 putnext(q, mp); in rpcmodwput()
879 (void) putq(q, mp); in rpcmodwput()
884 rpcmodwput_other(queue_t *q, mblk_t *mp) in rpcmodwput_other() argument
889 rmp = (struct rpcm *)q->q_ptr; in rpcmodwput_other()
903 qreply(q, mp); in rpcmodwput_other()
910 putnext(q, mp); in rpcmodwput_other()
920 putnext(q, mp); in rpcmodwput_other()
928 rpcmodwsrv(queue_t *q) in rpcmodwsrv() argument
933 rmp = (struct rpcm *)q->q_ptr; in rpcmodwsrv()
939 while ((mp = getq(q)) != NULL) { in rpcmodwsrv()
944 if (rmp->rm_type == RPC_SERVER || canputnext(q)) { in rpcmodwsrv()
945 putnext(q, mp); in rpcmodwsrv()
948 (void) putbq(q, mp); in rpcmodwsrv()
955 rpcmod_release(queue_t *q, mblk_t *bp, bool_t enable) in rpcmod_release() argument
964 rmp = (struct rpcm *)q->q_ptr; in rpcmod_release()
1005 static int mir_clnt_dup_request(queue_t *q, mblk_t *mp);
1006 static void mir_rput_proto(queue_t *q, mblk_t *mp);
1007 static int mir_svc_policy_notify(queue_t *q, int event);
1016 static void mir_wput(queue_t *q, mblk_t *mp);
1017 static void mir_wput_other(queue_t *q, mblk_t *mp);
1018 static void mir_wsrv(queue_t *q);
1073 mir_timer_start(queue_t *q, mir_t *mir, clock_t intrvl) in mir_timer_start() argument
1090 mir->mir_timer_id = timeout(mir_timer, q, in mir_timer_start()
1098 mir_clnt_dup_request(queue_t *q, mblk_t *mp) in mir_clnt_dup_request() argument
1104 ASSERT(MUTEX_HELD(&((mir_t *)q->q_ptr)->mir_mutex)); in mir_clnt_dup_request()
1110 if ((mp1 = q->q_first) != NULL) { in mir_clnt_dup_request()
1121 mir_close(queue_t *q) in mir_close() argument
1123 mir_t *mir = q->q_ptr; in mir_close()
1127 RPCLOG(32, "rpcmod: mir_close of q 0x%p\n", (void *)q); in mir_close()
1143 flushq(q, FLUSHDATA); /* Ditch anything waiting on read q */ in mir_close()
1149 mir_svc_start_close(WR(q), mir); in mir_close()
1159 svc_queueclean(q); in mir_close()
1172 qenable(WR(q)); in mir_close()
1178 qprocsoff(q); in mir_close()
1181 svc_queueclose(q); in mir_close()
1184 qprocsoff(q); in mir_close()
1200 mir_svc_idle_stop(queue_t *q, mir_t *mir) in mir_svc_idle_stop() argument
1203 ASSERT((q->q_flag & QREADR) == 0); in mir_svc_idle_stop()
1205 RPCLOG(16, "rpcmod: mir_svc_idle_stop of q 0x%p\n", (void *)q); in mir_svc_idle_stop()
1217 mir_svc_idle_start(queue_t *q, mir_t *mir) in mir_svc_idle_start() argument
1220 ASSERT((q->q_flag & QREADR) == 0); in mir_svc_idle_start()
1222 RPCLOG(16, "rpcmod: mir_svc_idle_start q 0x%p\n", (void *)q); in mir_svc_idle_start()
1229 (void *)q); in mir_svc_idle_start()
1249 mir_timer_start(q, mir, mir->mir_ordrel_pending ? in mir_svc_idle_start()
1256 mir_open(queue_t *q, dev_t *devp, int flag, int sflag, cred_t *credp) in mir_open() argument
1260 RPCLOG(32, "rpcmod: mir_open of q 0x%p\n", (void *)q); in mir_open()
1309 q->q_ptr = (char *)mir; in mir_open()
1310 WR(q)->q_ptr = (char *)mir; in mir_open()
1318 noenable(q); in mir_open()
1320 qprocson(q); in mir_open()
1330 mir_rput(queue_t *q, mblk_t *mp) in mir_rput() argument
1335 mir_t *mir = q->q_ptr; in mir_rput()
1366 mir_rput_proto(q, mp); in mir_rput()
1388 (void) strqset(q, QHIWAT, 0, stropts->so_hiwat); in mir_rput()
1391 putnext(q, mp); in mir_rput()
1395 RPCLOG(32, "on q 0x%p\n", (void *)q); in mir_rput()
1396 putnext(q, mp); in mir_rput()
1399 putnext(q, mp); in mir_rput()
1497 mir_disconnect(q, mir); /* drops mir_mutex */ in mir_rput()
1558 if (mir_check_len(q, head_mp)) in mir_rput()
1561 if (q->q_first == NULL && in mir_rput()
1562 svc_queuereq(q, head_mp, TRUE)) { in mir_rput()
1574 (void) putq(q, head_mp); in mir_rput()
1593 (void) putq(q, head_mp); in mir_rput()
1615 mir_check_len(q, head_mp)) in mir_rput()
1637 "ref cnt going to non zero\n", (void *)WR(q)); in mir_rput()
1638 mir_svc_idle_stop(WR(q), mir); in mir_rput()
1644 mir_rput_proto(queue_t *q, mblk_t *mp) in mir_rput_proto() argument
1646 mir_t *mir = (mir_t *)q->q_ptr; in mir_rput_proto()
1674 mir_clnt_idle_stop(WR(q), mir); in mir_rput_proto()
1691 mir_clnt_idle_start(WR(q), mir); in mir_rput_proto()
1693 clnt_dispatch_notifyall(WR(q), type, reason); in mir_rput_proto()
1702 (void *)q); in mir_rput_proto()
1709 clnt_dispatch_notifyall(WR(q), type, reason); in mir_rput_proto()
1713 if (clnt_dispatch_notifyconn(WR(q), mp)) in mir_rput_proto()
1723 clnt_dispatch_notifyall(WR(q), type, reason); in mir_rput_proto()
1727 if (clnt_dispatch_notifyconn(WR(q), mp)) in mir_rput_proto()
1735 if (clnt_dispatch_notifyconn(WR(q), mp)) in mir_rput_proto()
1761 mir_svc_idle_stop(WR(q), mir); in mir_rput_proto()
1793 mir_svc_start_close(WR(q), mir); in mir_rput_proto()
1806 "upstream on 0x%p\n", (void *)q); in mir_rput_proto()
1821 " 0x%p\n", (void *)q); in mir_rput_proto()
1829 "ind on 0x%p\n", (void *)q); in mir_rput_proto()
1848 putnext(q, mp); in mir_rput_proto()
1858 mir_rsrv(queue_t *q) in mir_rsrv() argument
1864 mir = (mir_t *)q->q_ptr; in mir_rsrv()
1875 while (mp = getq(q)) { in mir_rsrv()
1879 if (mir_check_len(q, mp)) in mir_rsrv()
1882 if (svc_queuereq(q, mp, TRUE)) { in mir_rsrv()
1890 (void) putbq(q, mp); in mir_rsrv()
1909 if (q->q_first == NULL) in mir_rsrv()
1926 "cnt going to non zero\n", (void *)WR(q)); in mir_rsrv()
1927 mir_svc_idle_stop(WR(q), mir); in mir_rsrv()
1930 if (q->q_first == NULL) { in mir_rsrv()
1946 putnext(q, cmp); in mir_rsrv()
1961 mir_svc_policy_notify(queue_t *q, int event) in mir_svc_policy_notify() argument
1965 mir_t *mir = (mir_t *)q->q_ptr; in mir_svc_policy_notify()
1968 ASSERT(q->q_flag & QREADR); in mir_svc_policy_notify()
1986 putnext(q, mp); in mir_svc_policy_notify()
2285 mir_wput(queue_t *q, mblk_t *mp) in mir_wput() argument
2288 mir_t *mir = (mir_t *)q->q_ptr; in mir_wput()
2297 mir_wput_other(q, mp); in mir_wput()
2304 (void *)q); in mir_wput()
2346 if (!mir->mir_inwservice && MIR_WCANPUTNEXT(mir, q)) { in mir_wput()
2352 putnext(q, mp); in mir_wput()
2367 if (mir_clnt_dup_request(q, mp)) { in mir_wput()
2388 (void) putq(q, mp); in mir_wput()
2393 mir_wput_other(queue_t *q, mblk_t *mp) in mir_wput_other() argument
2395 mir_t *mir = (mir_t *)q->q_ptr; in mir_wput_other()
2414 qreply(q, mp); in mir_wput_other()
2433 mir_clnt_idle_start(q, mir); in mir_wput_other()
2437 qreply(q, mp); in mir_wput_other()
2466 "because we got RPC_SERVER ioctl\n", (void *)q); in mir_wput_other()
2467 mir_svc_idle_start(q, mir); in mir_wput_other()
2471 qreply(q, mp); in mir_wput_other()
2499 (void *)q); in mir_wput_other()
2512 (void) putq(q, mp); in mir_wput_other()
2525 " so calling mir_svc_start_close\n", (void *)q); in mir_wput_other()
2527 mir_svc_start_close(q, mir); in mir_wput_other()
2555 (void) putq(q, mp); in mir_wput_other()
2558 "T_ORDREL_REQ on 0x%p\n", (void *)q); in mir_wput_other()
2572 (void *)q); in mir_wput_other()
2574 mir_svc_idle_start(q, mir); in mir_wput_other()
2595 mir_clnt_idle_stop(q, mir); in mir_wput_other()
2596 mir_clnt_idle_start(q, mir); in mir_wput_other()
2618 "wq 0x%p\n", (void *)q); in mir_wput_other()
2620 flushband(q, *(mp->b_rptr + 1), in mir_wput_other()
2623 flushq(q, FLUSHDATA); in mir_wput_other()
2627 "M_FLUSH on wq 0x%p\n", (void *)q); in mir_wput_other()
2634 if (mir->mir_inwservice == 0 && MIR_WCANPUTNEXT(mir, q)) { in mir_wput_other()
2640 (void) putq(q, mp); in mir_wput_other()
2642 qenable(q); in mir_wput_other()
2646 putnext(q, mp); in mir_wput_other()
2650 mir_wsrv(queue_t *q) in mir_wsrv() argument
2656 mir = (mir_t *)q->q_ptr; in mir_wsrv()
2662 while (mp = getq(q)) { in mir_wsrv()
2677 if (!MIR_WCANPUTNEXT(mir, q)) { in mir_wsrv()
2678 (void) putbq(q, mp); in mir_wsrv()
2687 putnext(q, mp); in mir_wsrv()
2701 putnext(q, mp); in mir_wsrv()
2722 (void *)q); in mir_wsrv()
2730 putnext(q, mp); in mir_wsrv()
2734 if (q->q_first == NULL) in mir_wsrv()
2755 "because mir slot is idle\n", (void *)q); in mir_wsrv()
2756 mir_svc_idle_start(q, mir); in mir_wsrv()
2765 qenable(RD(q)); in mir_wsrv()
2771 mir_disconnect(queue_t *q, mir_t *mir) in mir_disconnect() argument
2784 mir_clnt_idle_start(WR(q), mir); in mir_disconnect()
2794 clnt_dispatch_notifyall(WR(q), T_DISCON_REQ, 0); in mir_disconnect()
2799 mir_svc_idle_stop(WR(q), mir); in mir_disconnect()
2803 "(0x%p)\n", (void *) q); in mir_disconnect()
2804 (void) mir_svc_policy_notify(q, 2); in mir_disconnect()
2818 mir_check_len(queue_t *q, mblk_t *head_mp) in mir_check_len() argument
2820 mir_t *mir = q->q_ptr; in mir_check_len()
2844 mir_disconnect(q, mir); in mir_check_len()