Sun Keyboard/Mouse line discipline support.

This commit is contained in:
eeh 2000-09-21 23:31:14 +00:00
parent d680a56118
commit 9220a0cf6b

View File

@ -1,4 +1,4 @@
/* $NetBSD: tty_conf.c,v 1.24 1998/12/10 15:09:18 christos Exp $ */
/* $NetBSD: tty_conf.c,v 1.25 2000/09/21 23:31:14 eeh Exp $ */
/*-
* Copyright (c) 1982, 1986, 1991, 1993
@ -101,6 +101,18 @@ int stripinput __P((int c, struct tty *tp));
int stripstart __P((struct tty *tp));
#endif
#include "kbd.h"
#if NKBD > 0
int sunkbdinput __P((int c, struct tty *tp));
int sunkbdstart __P((struct tty *tp));
int sunkbdstart __P((struct tty *tp));
#endif
#include "ms.h"
#if NMS > 0
int sunmsinput __P((int c, struct tty *tp));
#endif
struct linesw linesw[] =
{
{ ttylopen, ttylclose, ttread, ttwrite, nullioctl,
@ -148,6 +160,30 @@ struct linesw linesw[] =
{ ttynodisc, ttyerrclose, ttyerrio, ttyerrio, nullioctl,
ttyerrinput, ttyerrstart, nullmodem },
#endif
/*
* The following are special line disciplines for Sun style Keybaords and Mice.
* Since they are used to handle special hardware they are enabled if/when the
* hardware is detected and you cannot switch in or out of them by normal means.
*
* All I/O currently goes through the keyboard and mouse device nodes so the
* TTY does no I/O itself.
*/
#if NKBD > 0
{ ttylopen, ttylclose, ttyerrio, ttyerrio, nullioctl,
sunkbdinput, sunkbdstart, nullmodem }, /* 7- SUNKBDDISC */
#else
{ ttynodisc, ttyerrclose, ttyerrio, ttyerrio, nullioctl,
ttyerrinput, ttyerrstart, nullmodem },
#endif
#if NMS > 0
{ ttylopen, ttylclose, ttyerrio, ttyerrio, nullioctl,
sunmsinput, ttstart, nullmodem }, /* 8- SUNMOUSEDISC */
#else
{ ttynodisc, ttyerrclose, ttyerrio, ttyerrio, nullioctl,
ttyerrinput, ttyerrstart, nullmodem },
#endif
};
int nlinesw = sizeof(linesw) / sizeof(linesw[0]);