diff options
| -rw-r--r-- | sys/dev/sio/sio.c | 23 | ||||
| -rw-r--r-- | sys/i386/isa/sio.c | 23 | ||||
| -rw-r--r-- | sys/isa/sio.c | 23 |
3 files changed, 66 insertions, 3 deletions
diff --git a/sys/dev/sio/sio.c b/sys/dev/sio/sio.c index 1f359c211b21..54133abc5254 100644 --- a/sys/dev/sio/sio.c +++ b/sys/dev/sio/sio.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)com.c 7.5 (Berkeley) 5/16/91 - * $Id: sio.c,v 1.55 1994/10/15 18:05:25 ache Exp $ + * $Id: sio.c,v 1.56 1994/10/19 21:38:19 bde Exp $ */ #include "sio.h" @@ -263,6 +263,7 @@ int sioselect __P((dev_t dev, int rw, struct proc *p)); /* Console device entry points. */ int siocngetc __P((dev_t dev)); +int siocncheckc __P((dev_t dev)); struct consdev; void siocninit __P((struct consdev *cp)); void siocnprobe __P((struct consdev *cp)); @@ -2001,6 +2002,26 @@ siocninit(cp) } int +siocncheckc(dev) + dev_t dev; +{ + int c=0; + Port_t iobase; + int s; + struct siocnstate sp; + + iobase = siocniobase; + s = spltty(); + siocnopen(&sp); + if (inb(iobase + com_lsr) & LSR_RXRDY) + c = inb(iobase + com_data); + siocnclose(&sp); + splx(s); + return (c); +} + + +int siocngetc(dev) dev_t dev; { diff --git a/sys/i386/isa/sio.c b/sys/i386/isa/sio.c index 1f359c211b21..54133abc5254 100644 --- a/sys/i386/isa/sio.c +++ b/sys/i386/isa/sio.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)com.c 7.5 (Berkeley) 5/16/91 - * $Id: sio.c,v 1.55 1994/10/15 18:05:25 ache Exp $ + * $Id: sio.c,v 1.56 1994/10/19 21:38:19 bde Exp $ */ #include "sio.h" @@ -263,6 +263,7 @@ int sioselect __P((dev_t dev, int rw, struct proc *p)); /* Console device entry points. */ int siocngetc __P((dev_t dev)); +int siocncheckc __P((dev_t dev)); struct consdev; void siocninit __P((struct consdev *cp)); void siocnprobe __P((struct consdev *cp)); @@ -2001,6 +2002,26 @@ siocninit(cp) } int +siocncheckc(dev) + dev_t dev; +{ + int c=0; + Port_t iobase; + int s; + struct siocnstate sp; + + iobase = siocniobase; + s = spltty(); + siocnopen(&sp); + if (inb(iobase + com_lsr) & LSR_RXRDY) + c = inb(iobase + com_data); + siocnclose(&sp); + splx(s); + return (c); +} + + +int siocngetc(dev) dev_t dev; { diff --git a/sys/isa/sio.c b/sys/isa/sio.c index 1f359c211b21..54133abc5254 100644 --- a/sys/isa/sio.c +++ b/sys/isa/sio.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)com.c 7.5 (Berkeley) 5/16/91 - * $Id: sio.c,v 1.55 1994/10/15 18:05:25 ache Exp $ + * $Id: sio.c,v 1.56 1994/10/19 21:38:19 bde Exp $ */ #include "sio.h" @@ -263,6 +263,7 @@ int sioselect __P((dev_t dev, int rw, struct proc *p)); /* Console device entry points. */ int siocngetc __P((dev_t dev)); +int siocncheckc __P((dev_t dev)); struct consdev; void siocninit __P((struct consdev *cp)); void siocnprobe __P((struct consdev *cp)); @@ -2001,6 +2002,26 @@ siocninit(cp) } int +siocncheckc(dev) + dev_t dev; +{ + int c=0; + Port_t iobase; + int s; + struct siocnstate sp; + + iobase = siocniobase; + s = spltty(); + siocnopen(&sp); + if (inb(iobase + com_lsr) & LSR_RXRDY) + c = inb(iobase + com_data); + siocnclose(&sp); + splx(s); + return (c); +} + + +int siocngetc(dev) dev_t dev; { |
