Lines Matching refs:wscons
129 #include <sys/wscons.h>
162 } wscons;
168 _NOTE(SCHEME_PROTECTS_DATA("D_MTPERMOD protected data", wscons))
346 if (ddi_create_minor_node(devi, "wscons", S_IFCHR,
356 bzero(&(wscons.wc_polledio), sizeof (wscons.wc_polledio));
419 bzero(&(wscons.wc_polledio), sizeof (wscons.wc_polledio));
420 wscons.wc_polledio.cons_polledio_version =
422 wscons.wc_polledio.cons_polledio_argument =
423 (cons_polledio_arg_t)&wscons;
424 wscons.wc_polledio.cons_polledio_enter =
426 wscons.wc_polledio.cons_polledio_exit =
436 wscons.wc_defer_output = prom_stdout_is_framebuffer();
539 if (wscons.wc_kbdqueue != NULL) {
545 wscons.wc_kbdqueue = WR(linkp->l_qbot);
548 wc_open_kb_polledio(&wscons, q, mp);
554 if (wscons.wc_kbdqueue != WR(linkp->l_qbot)) {
562 wc_close_kb_polledio(&wscons, q, mp);
585 if (wscons.wc_kbdqueue != NULL) {
586 wscons.wc_pending_wq = q;
587 (void) putnext(wscons.wc_kbdqueue, mp);
764 wscons.wc_polledio.cons_polledio_putchar =
767 &wscons.wc_polledio;
847 (tem_modechg_cb_arg_t)&wscons);
922 wc_open_kb_polledio(struct wscons_state *wscons, queue_t *q, mblk_t *mp)
956 wscons->wc_pending_wq = q;
957 wscons->wc_pending_link = mp;
958 wscons->wc_kb_getpolledio_id = iocp->ioc_id;
960 putnext(wscons->wc_kbdqueue, mp2);
978 wc_close_kb_polledio(struct wscons_state *wscons, queue_t *q, mblk_t *mp)
1011 wscons->wc_pending_wq = q;
1012 wscons->wc_pending_link = mp;
1013 wscons->wc_kb_getpolledio_id = iocp->ioc_id;
1015 putnext(wscons->wc_kbdqueue, mp2);
1194 if (wscons.wc_defer_output) {
1382 if (wscons.wc_pending_link != NULL &&
1383 iocp->ioc_id == wscons.wc_kb_getpolledio_id) {
1393 wscons.wc_kb_polledio =
1396 wscons.wc_polledio.
1399 wscons.wc_polledio.
1408 wscons.wc_kb_polledio = NULL;
1409 wscons.wc_kbdqueue = NULL;
1410 wscons.wc_polledio.
1412 wscons.wc_polledio.
1436 wscons.wc_kb_polledio = NULL;
1437 wscons.wc_kbdqueue = NULL;
1438 wscons.wc_polledio.
1440 wscons.wc_polledio.
1453 mp = wscons.wc_pending_link;
1454 wscons.wc_pending_link = NULL;
1455 wscons.wc_kb_getpolledio_id = 0;
1460 if (wscons.wc_pending_wq != NULL) {
1461 qreply(wscons.wc_pending_wq, mp);
1462 wscons.wc_pending_wq = NULL;
1543 struct wscons_state *wscons = (struct wscons_state *)arg;
1545 if (wscons->wc_kb_polledio == NULL) {
1546 prom_printf("wscons: getchar with no keyboard support");
1552 return (wscons->wc_kb_polledio->cons_polledio_getchar(
1553 wscons->wc_kb_polledio->cons_polledio_argument));
1559 struct wscons_state *wscons = (struct wscons_state *)arg;
1561 if (wscons->wc_kb_polledio == NULL)
1564 return (wscons->wc_kb_polledio->cons_polledio_ischar(
1565 wscons->wc_kb_polledio->cons_polledio_argument));
1571 struct wscons_state *wscons = (struct wscons_state *)arg;
1573 if (wscons->wc_kb_polledio == NULL)
1576 if (wscons->wc_kb_polledio->cons_polledio_enter != NULL) {
1577 wscons->wc_kb_polledio->cons_polledio_enter(
1578 wscons->wc_kb_polledio->cons_polledio_argument);
1585 struct wscons_state *wscons = (struct wscons_state *)arg;
1587 if (wscons->wc_kb_polledio == NULL)
1590 if (wscons->wc_kb_polledio->cons_polledio_exit != NULL) {
1591 wscons->wc_kb_polledio->cons_polledio_exit(
1592 wscons->wc_kb_polledio->cons_polledio_argument);
1620 (void) ddi_prop_update_string(wscons.wc_dev, wc_dip, name, data);
1650 /* only for the wscons:0 */