Lines Matching refs:pvc

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