Lines Matching refs:q

228 static	int	mir_close(queue_t *q);
229 static int mir_open(queue_t *q, dev_t *devp, int flag, int sflag,
231 static void mir_rput(queue_t *q, mblk_t *mp);
232 static void mir_rsrv(queue_t *q);
233 static void mir_wput(queue_t *q, mblk_t *mp);
234 static void mir_wsrv(queue_t *q);
428 void tmp_rput(queue_t *q, mblk_t *mp);
440 tmp_rput(queue_t *q, mblk_t *mp) in tmp_rput() argument
442 struct temp_slot *t = (struct temp_slot *)(q->q_ptr); in tmp_rput()
471 rmm_open(queue_t *q, dev_t *devp, int flag, int sflag, cred_t *crp) in rmm_open() argument
478 ASSERT(q != NULL); in rmm_open()
482 if (q->q_ptr) { in rmm_open()
490 q->q_ptr = (void *)t; in rmm_open()
491 WR(q)->q_ptr = (void *)t; in rmm_open()
506 qprocson(q); in rmm_open()
510 putnext(WR(q), bp); in rmm_open()
527 if ((error = rpcmodopen(q, devp, flag, sflag, crp)) == 0) in rmm_open()
528 ((struct rpcm *)q->q_ptr)->rm_ops = &xprt_clts_ops; in rmm_open()
530 if ((error = mir_open(q, devp, flag, sflag, crp)) == 0) in rmm_open()
531 ((mir_t *)q->q_ptr)->rm_ops = &xprt_cots_ops; in rmm_open()
536 qprocsoff(q); in rmm_open()
546 rmm_rput(queue_t *q, mblk_t *mp) in rmm_rput() argument
548 (*((struct temp_slot *)q->q_ptr)->ops->xo_rput)(q, mp); in rmm_rput()
553 rmm_rsrv(queue_t *q) in rmm_rsrv() argument
555 (*((struct temp_slot *)q->q_ptr)->ops->xo_rsrv)(q); in rmm_rsrv()
560 rmm_wput(queue_t *q, mblk_t *mp) in rmm_wput() argument
562 (*((struct temp_slot *)q->q_ptr)->ops->xo_wput)(q, mp); in rmm_wput()
567 rmm_wsrv(queue_t *q) in rmm_wsrv() argument
569 (*((struct temp_slot *)q->q_ptr)->ops->xo_wsrv)(q); in rmm_wsrv()
574 rmm_close(queue_t *q, int flag, cred_t *crp) in rmm_close() argument
576 return ((*((struct temp_slot *)q->q_ptr)->ops->xo_close)(q, flag, crp)); in rmm_close()
585 rpcmodopen(queue_t *q, dev_t *devp, int flag, int sflag, cred_t *crp) in rpcmodopen() argument
612 q->q_ptr = (void *)rmp; in rpcmodopen()
613 WR(q)->q_ptr = (void *)rmp; in rpcmodopen()
625 rpcmodclose(queue_t *q, int flag, cred_t *crp) in rpcmodclose() argument
629 ASSERT(q != NULL); in rpcmodclose()
630 rmp = (struct rpcm *)q->q_ptr; in rpcmodclose()
644 flushq(q, FLUSHDATA); in rpcmodclose()
646 qenable(WR(q)); in rpcmodclose()
653 svc_queueclean(q); in rpcmodclose()
671 qprocsoff(q); in rpcmodclose()
674 svc_queueclose(q); in rpcmodclose()
677 qprocsoff(q); in rpcmodclose()
680 q->q_ptr = NULL; in rpcmodclose()
681 WR(q)->q_ptr = NULL; in rpcmodclose()
693 rpcmodrput(queue_t *q, mblk_t *mp) in rpcmodrput() argument
701 ASSERT(q != NULL); in rpcmodrput()
702 rmp = (struct rpcm *)q->q_ptr; in rpcmodrput()
711 putnext(q, mp); in rpcmodrput()
729 putnext(q, mp); in rpcmodrput()
768 svc_queuereq(q, mp, TRUE)) { in rpcmodrput()
816 putnext(q, mp); in rpcmodrput()
831 rpcmodwput(queue_t *q, mblk_t *mp) in rpcmodwput() argument
835 ASSERT(q != NULL); in rpcmodwput()
842 rpcmodwput_other(q, mp); in rpcmodwput()
849 if (canputnext(q)) { in rpcmodwput()
850 putnext(q, mp); in rpcmodwput()
854 rmp = (struct rpcm *)q->q_ptr; in rpcmodwput()
864 if (canputnext(q) || (rmp->rm_state & RM_CLOSING)) { in rpcmodwput()
866 putnext(q, mp); in rpcmodwput()
874 (void) putq(q, mp); in rpcmodwput()
879 rpcmodwput_other(queue_t *q, mblk_t *mp) in rpcmodwput_other() argument
884 rmp = (struct rpcm *)q->q_ptr; in rpcmodwput_other()
898 qreply(q, mp); in rpcmodwput_other()
905 putnext(q, mp); in rpcmodwput_other()
915 putnext(q, mp); in rpcmodwput_other()
923 rpcmodwsrv(queue_t *q) in rpcmodwsrv() argument
928 rmp = (struct rpcm *)q->q_ptr; in rpcmodwsrv()
934 while ((mp = getq(q)) != NULL) { in rpcmodwsrv()
939 if (rmp->rm_type == RPC_SERVER || canputnext(q)) { in rpcmodwsrv()
940 putnext(q, mp); in rpcmodwsrv()
943 (void) putbq(q, mp); in rpcmodwsrv()
949 rpcmod_hold(queue_t *q) in rpcmod_hold() argument
951 struct rpcm *rmp = (struct rpcm *)q->q_ptr; in rpcmod_hold()
959 rpcmod_release(queue_t *q, mblk_t *bp, bool_t enable __unused) in rpcmod_release() argument
968 rmp = (struct rpcm *)q->q_ptr; in rpcmod_release()
1009 static int mir_clnt_dup_request(queue_t *q, mblk_t *mp);
1010 static void mir_rput_proto(queue_t *q, mblk_t *mp);
1011 static int mir_svc_policy_notify(queue_t *q, int event);
1019 static void mir_wput(queue_t *q, mblk_t *mp);
1020 static void mir_wput_other(queue_t *q, mblk_t *mp);
1021 static void mir_wsrv(queue_t *q);
1075 mir_timer_start(queue_t *q, mir_t *mir, clock_t intrvl) in mir_timer_start() argument
1092 mir->mir_timer_id = timeout(mir_timer, q, in mir_timer_start()
1100 mir_clnt_dup_request(queue_t *q, mblk_t *mp) in mir_clnt_dup_request() argument
1106 ASSERT(MUTEX_HELD(&((mir_t *)q->q_ptr)->mir_mutex)); in mir_clnt_dup_request()
1112 if ((mp1 = q->q_first) != NULL) { in mir_clnt_dup_request()
1123 mir_close(queue_t *q) in mir_close() argument
1125 mir_t *mir = q->q_ptr; in mir_close()
1129 RPCLOG(32, "rpcmod: mir_close of q 0x%p\n", (void *)q); in mir_close()
1145 flushq(q, FLUSHDATA); /* Ditch anything waiting on read q */ in mir_close()
1151 mir_svc_start_close(WR(q), mir); in mir_close()
1161 svc_queueclean(q); in mir_close()
1174 qenable(WR(q)); in mir_close()
1180 qprocsoff(q); in mir_close()
1183 svc_queueclose(q); in mir_close()
1186 qprocsoff(q); in mir_close()
1202 mir_svc_idle_stop(queue_t *q, mir_t *mir) in mir_svc_idle_stop() argument
1205 ASSERT((q->q_flag & QREADR) == 0); in mir_svc_idle_stop()
1207 RPCLOG(16, "rpcmod: mir_svc_idle_stop of q 0x%p\n", (void *)q); in mir_svc_idle_stop()
1219 mir_svc_idle_start(queue_t *q, mir_t *mir) in mir_svc_idle_start() argument
1222 ASSERT((q->q_flag & QREADR) == 0); in mir_svc_idle_start()
1224 RPCLOG(16, "rpcmod: mir_svc_idle_start q 0x%p\n", (void *)q); in mir_svc_idle_start()
1231 (void *)q); in mir_svc_idle_start()
1251 mir_timer_start(q, mir, mir->mir_ordrel_pending ? in mir_svc_idle_start()
1258 mir_open(queue_t *q, dev_t *devp, int flag, int sflag, cred_t *credp) in mir_open() argument
1262 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()
2295 mir_wput(queue_t *q, mblk_t *mp) in mir_wput() argument
2298 mir_t *mir = (mir_t *)q->q_ptr; in mir_wput()
2307 mir_wput_other(q, mp); in mir_wput()
2314 (void *)q); in mir_wput()
2356 if (!mir->mir_inwservice && MIR_WCANPUTNEXT(mir, q)) { in mir_wput()
2362 putnext(q, mp); in mir_wput()
2377 if (mir_clnt_dup_request(q, mp)) { in mir_wput()
2398 (void) putq(q, mp); in mir_wput()
2403 mir_wput_other(queue_t *q, mblk_t *mp) in mir_wput_other() argument
2405 mir_t *mir = (mir_t *)q->q_ptr; in mir_wput_other()
2424 qreply(q, mp); in mir_wput_other()
2443 mir_clnt_idle_start(q, mir); in mir_wput_other()
2447 qreply(q, mp); in mir_wput_other()
2476 "because we got RPC_SERVER ioctl\n", (void *)q); in mir_wput_other()
2477 mir_svc_idle_start(q, mir); in mir_wput_other()
2481 qreply(q, mp); in mir_wput_other()
2509 (void *)q); in mir_wput_other()
2522 (void) putq(q, mp); in mir_wput_other()
2535 " so calling mir_svc_start_close\n", (void *)q); in mir_wput_other()
2537 mir_svc_start_close(q, mir); in mir_wput_other()
2565 (void) putq(q, mp); in mir_wput_other()
2568 "T_ORDREL_REQ on 0x%p\n", (void *)q); in mir_wput_other()
2582 (void *)q); in mir_wput_other()
2584 mir_svc_idle_start(q, mir); in mir_wput_other()
2605 mir_clnt_idle_stop(q, mir); in mir_wput_other()
2606 mir_clnt_idle_start(q, mir); in mir_wput_other()
2628 "wq 0x%p\n", (void *)q); in mir_wput_other()
2630 flushband(q, *(mp->b_rptr + 1), in mir_wput_other()
2633 flushq(q, FLUSHDATA); in mir_wput_other()
2637 "M_FLUSH on wq 0x%p\n", (void *)q); in mir_wput_other()
2644 if (mir->mir_inwservice == 0 && MIR_WCANPUTNEXT(mir, q)) { in mir_wput_other()
2650 (void) putq(q, mp); in mir_wput_other()
2652 qenable(q); in mir_wput_other()
2656 putnext(q, mp); in mir_wput_other()
2660 mir_wsrv(queue_t *q) in mir_wsrv() argument
2666 mir = (mir_t *)q->q_ptr; in mir_wsrv()
2672 while (mp = getq(q)) { in mir_wsrv()
2687 if (!MIR_WCANPUTNEXT(mir, q)) { in mir_wsrv()
2688 (void) putbq(q, mp); in mir_wsrv()
2697 putnext(q, mp); in mir_wsrv()
2711 putnext(q, mp); in mir_wsrv()
2732 (void *)q); in mir_wsrv()
2740 putnext(q, mp); in mir_wsrv()
2744 if (q->q_first == NULL) in mir_wsrv()
2765 "because mir slot is idle\n", (void *)q); in mir_wsrv()
2766 mir_svc_idle_start(q, mir); in mir_wsrv()
2775 qenable(RD(q)); in mir_wsrv()
2781 mir_disconnect(queue_t *q, mir_t *mir) in mir_disconnect() argument
2794 mir_clnt_idle_start(WR(q), mir); in mir_disconnect()
2804 clnt_dispatch_notifyall(WR(q), T_DISCON_REQ, 0); in mir_disconnect()
2809 mir_svc_idle_stop(WR(q), mir); in mir_disconnect()
2813 "(0x%p)\n", (void *) q); in mir_disconnect()
2814 (void) mir_svc_policy_notify(q, 2); in mir_disconnect()
2828 mir_check_len(queue_t *q, mblk_t *head_mp) in mir_check_len() argument
2830 mir_t *mir = q->q_ptr; in mir_check_len()
2854 mir_disconnect(q, mir); in mir_check_len()