blob: 2ae49dd35d5bccfe8aeb23ec247f3d5e6df929c9 [file] [log] [blame]
Joseph Pranevich791cd6a1998-12-02 19:58:08 +00001/* tty.c */
Joseph Pranevichebc0e5e1999-02-14 11:15:47 +00002/* Copyright 1999 - Joseph Pranevich */
Joseph Pranevich791cd6a1998-12-02 19:58:08 +00003
4/* This is the console driver for TTY-based consoles, i.e. consoles
5 without cursor placement, etc. It's also a pretty decent starting
6 point for other driers.
7*/
8
9/* When creating new drivers, you need to assign all the functions that
10 that driver supports into the driver struct. If it is a supplementary
11 driver, it should make sure to perserve the old values. */
12
13#include <stdio.h>
14#include "console.h"
15#include "config.h"
Jim Aston2e1cafa1999-03-14 16:35:05 +000016#include "windef.h"
Joseph Pranevich791cd6a1998-12-02 19:58:08 +000017void TTY_Start()
18{
19 /* This should be the root driver so we can ignore anything
20 already in the struct. */
21
22 driver.norefresh = FALSE;
23
24 driver.write = TTY_Write;
25 driver.getKeystroke = TTY_GetKeystroke;
26}
27
28void TTY_Write(char output, int fg, int bg, int attribute)
29{
30 /* We can discard all extended information. */
Joseph Pranevich55768381998-12-09 15:43:03 +000031 fprintf(driver.console_out, "%c", output);
Joseph Pranevich791cd6a1998-12-02 19:58:08 +000032}
33
Ove Kaaven408b0851999-01-31 09:22:58 +000034void TTY_GetKeystroke(char *scan, char *ch)
Joseph Pranevich791cd6a1998-12-02 19:58:08 +000035{
36 /* All we have are character input things, nothing for extended */
37 /* This is just the TTY driver, after all. We'll cope. */
Joseph Pranevich55768381998-12-09 15:43:03 +000038 *ch = fgetc(driver.console_in);
Joseph Pranevich791cd6a1998-12-02 19:58:08 +000039}
40
41