Lines Matching refs:pvc

107 extern void	wc_get_size(vc_state_t *pvc);
224 vt_clean(queue_t *q, vc_state_t *pvc)
226 ASSERT(MUTEX_HELD(&pvc->vc_state_lock));
228 if (pvc->vc_bufcallid != 0) {
229 qunbufcall(q, pvc->vc_bufcallid);
230 pvc->vc_bufcallid = 0;
232 if (pvc->vc_timeoutid != 0) {
233 (void) quntimeout(q, pvc->vc_timeoutid);
234 pvc->vc_timeoutid = 0;
236 ttycommon_close(&pvc->vc_ttycommon);
238 pvc->vc_flags &= ~WCS_INIT;
251 vc_state_t *pvc;
262 pvc = vt_minor2vc(tmp->wa_msg_minor);
265 vt_iocnak(pvc->vc_wq, tmp->wa_mp, ENXIO);
267 vt_iocack(pvc->vc_wq, tmp->wa_mp);
275 vt_close(queue_t *q, vc_state_t *pvc, cred_t *credp)
279 mutex_enter(&pvc->vc_state_lock);
280 vt_clean(q, pvc);
281 pvc->vc_flags &= ~WCS_ISOPEN;
282 mutex_exit(&pvc->vc_state_lock);
284 tem_destroy(pvc->vc_tem, credp);
285 pvc->vc_tem = NULL;
287 index = pvc->vc_minor;
294 vc_waitactive_reply(pvc->vc_minor, B_TRUE);
298 vt_init_tty(vc_state_t *pvc)
300 ASSERT(MUTEX_HELD(&pvc->vc_state_lock));
302 pvc->vc_flags |= WCS_INIT;
303 vt_init_ttycommon(&pvc->vc_ttycommon);
304 wc_get_size(pvc);
337 vc_state_t *pvc;
342 pvc = vt_minor2vc(minor);
343 if (pvc == NULL)
347 mutex_enter(&pvc->vc_state_lock);
349 if (!(pvc->vc_flags & WCS_ISOPEN)) {
354 pvc->vc_tem = tem_init(crp);
357 if (!(pvc->vc_flags & WCS_INIT))
358 vt_init_tty(pvc);
379 tem_activate(pvc->vc_tem, unblank, crp);
382 if ((pvc->vc_ttycommon.t_flags & TS_XCLUDE) &&
384 mutex_exit(&pvc->vc_state_lock);
392 pvc->vc_flags |= WCS_ISOPEN;
393 pvc->vc_ttycommon.t_readq = rq;
394 pvc->vc_ttycommon.t_writeq = WR(rq);
396 mutex_exit(&pvc->vc_state_lock);
399 rq->q_ptr = pvc;
400 WR(rq)->q_ptr = pvc;
401 pvc->vc_wq = WR(rq);
633 vt_setmode(vc_state_t *pvc, struct vt_mode *pmode)
642 pvc->vc_pid = curproc->p_pid;
644 pvc->vc_dispnum = 0;
645 pvc->vc_login = 0;
648 pvc->vc_switch_mode = pmode->mode;
649 pvc->vc_waitv = pmode->waitv;
650 pvc->vc_relsig = pmode->relsig;
651 pvc->vc_acqsig = pmode->acqsig;
657 vt_reset(vc_state_t *pvc)
659 pvc->vc_switch_mode = VT_AUTO;
660 pvc->vc_pid = -1;
661 pvc->vc_dispnum = 0;
662 pvc->vc_login = 0;
663 pvc->vc_switchto = VT_MINOR_INVALID;
673 vc_state_t *pvc = vt_minor2vc(vt_no);
676 ASSERT(pvc_active && pvc);
679 if (!((pvc->vc_flags & WCS_ISOPEN) && (pvc->vc_flags & WCS_INIT)))
688 tem_switch(pvc_active->vc_tem, pvc->vc_tem, credp);
695 vc_active_console = pvc->vc_minor;
697 if (pvc->vc_switch_mode == VT_PROCESS) {
698 pvc->vc_switchto = pvc->vc_minor;
701 vt_proc_sendsig(pvc->vc_pid, pvc->vc_acqsig);
774 vc_state_t *pvc;
803 pvc = vt_minor2vc(minor);
804 if (pvc == NULL)
806 if (pvc->vc_tem == NULL)
809 pvc = vt_minor2vc(vc_active_console);
810 if (pvc == NULL)
812 if (pvc->vc_switch_mode != VT_PROCESS)
819 if (pvc->vc_pid == -1 || vt_proc_exists(pvc->vc_pid) != 0) {
824 vt_reset(pvc);
833 vt_proc_sendsig(pvc->vc_pid, pvc->vc_relsig);
834 pvc->vc_switchto = minor;
847 vt_reldisp(vc_state_t *pvc, int arg, cred_t *credp)
849 minor_t target_vtno = pvc->vc_switchto;
851 if ((pvc->vc_switch_mode != VT_PROCESS) ||
852 (pvc->vc_minor != vc_active_console))
858 pvc->vc_switchto = VT_MINOR_INVALID;
873 vc_state_t *pvc = (vc_state_t *)q->q_ptr;
907 if (tem_get_fbmode(pvc->vc_tem) == arg)
910 tem_set_fbmode(pvc->vc_tem, (uchar_t)arg, iocp->ioc_cr);
919 *(int *)(void *)tmp->b_rptr = tem_get_fbmode(pvc->vc_tem);
943 vtmode.mode = pvc->vc_switch_mode;
944 vtmode.waitv = pvc->vc_waitv;
945 vtmode.relsig = pvc->vc_relsig;
946 vtmode.acqsig = pvc->vc_acqsig;
966 pvc->vc_dispnum = *(intptr_t *)(void *)mp->b_cont->b_rptr;
970 pvc->vc_login = *(intptr_t *)(void *)mp->b_cont->b_rptr;
974 vtdisp.v_pid = pvc->vc_pid;
975 vtdisp.v_dispnum = pvc->vc_dispnum;
976 vtdisp.v_login = pvc->vc_login;
988 error = vt_reldisp(pvc, arg, iocp->ioc_cr);
1027 wait_msg->wa_msg_minor = pvc->vc_minor;
1043 pvc = vt_minor2vc(minor);
1044 if (pvc == NULL)
1047 vtinfo.v_state |= (1 << pvc->vc_minor);
1106 if (pvc->vc_minor != 0) {
1122 vc_cons_user = pvc->vc_minor;
1140 vc_state_t *pvc = (vc_state_t *)qp->q_ptr;
1154 error = vt_setmode(pvc, pmode);