static int dcons_getc(struct dcons_softc *dc) { int c; while ((c = dcons_checkc(dc)) == -1); return (c & 0xff); }
static int dcons_os_checkc_nopoll(struct dcons_softc *dc) { int c; if (dg.dma_tag != NULL) bus_dmamap_sync(dg.dma_tag, dg.dma_map, BUS_DMASYNC_POSTREAD); c = dcons_check_break(dc, dcons_checkc(dc)); if (dg.dma_tag != NULL) bus_dmamap_sync(dg.dma_tag, dg.dma_map, BUS_DMASYNC_PREREAD); return (c); }
static void dcons_timeout(void *v) { struct tty *tp; struct dcons_softc *dc; int i, c, polltime; for (i = 0; i < DCONS_NPORT; i ++) { dc = &sc[i]; tp = dc->dev->si_tty; while ((c = dcons_checkc(dc)) != -1) if (tp->t_state & TS_ISOPEN) (*linesw[tp->t_line].l_rint)(c, tp); } polltime = hz / poll_hz; if (polltime < 1) polltime = 1; callout_reset(&dcons_callout, polltime, dcons_timeout, tp); }
static int dconsole_getchar(void) { fw_poll(); return (dcons_checkc(&sc[0])); }
static int dcons_cncheckc(dev_t dev) { return(dcons_checkc((struct dcons_softc *)dev->si_drv1)); }
static int dcons_cncheckc(struct consdev *cp) { return(dcons_checkc((struct dcons_softc *)cp->cn_arg)); }