projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
strategy returns void, ioctl cmd is u_long
[unix-history]
/
usr
/
src
/
sys
/
hp
/
dev
/
ite.c
diff --git
a/usr/src/sys/hp/dev/ite.c
b/usr/src/sys/hp/dev/ite.c
index
a719035
..
e0dfc68
100644
(file)
--- a/
usr/src/sys/hp/dev/ite.c
+++ b/
usr/src/sys/hp/dev/ite.c
@@
-1,7
+1,7
@@
/*
* Copyright (c) 1988 University of Utah.
/*
* Copyright (c) 1988 University of Utah.
- * Copyright (c) 1990
The Regents of the University of California.
- * All rights reserved.
+ * Copyright (c) 1990
, 1993
+ *
The Regents of the University of California.
All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* the Systems Programming Group of the University of Utah Computer
*
* This code is derived from software contributed to Berkeley by
* the Systems Programming Group of the University of Utah Computer
@@
-11,7
+11,7
@@
*
* from: Utah $Hdr: ite.c 1.28 92/12/20$
*
*
* from: Utah $Hdr: ite.c 1.28 92/12/20$
*
- * @(#)ite.c
7.15
(Berkeley) %G%
+ * @(#)ite.c
8.3
(Berkeley) %G%
*/
/*
*/
/*
@@
-91,6
+91,7
@@
u_char console_attributes[0x2200];
*/
iteon(dev, flag)
dev_t dev;
*/
iteon(dev, flag)
dev_t dev;
+ int flag;
{
int unit = UNIT(dev);
struct tty *tp = &ite_tty[unit];
{
int unit = UNIT(dev);
struct tty *tp = &ite_tty[unit];
@@
-156,18
+157,19
@@
iteinit(dev)
*/
iteoff(dev, flag)
dev_t dev;
*/
iteoff(dev, flag)
dev_t dev;
+ int flag;
{
register struct ite_softc *ip = &ite_softc[UNIT(dev)];
{
register struct ite_softc *ip = &ite_softc[UNIT(dev)];
- if (flag & 2)
+ if (flag & 2)
{
ip->flags |= ITE_INGRF;
ip->flags |= ITE_INGRF;
+ ip->flags &= ~ITE_CURSORON;
+ }
if ((ip->flags & ITE_ACTIVE) == 0)
return;
if ((flag & 1) ||
if ((ip->flags & ITE_ACTIVE) == 0)
return;
if ((flag & 1) ||
- (ip->flags & (ITE_INGRF|ITE_ISCONS|ITE_INITED)) == ITE_INITED)
{
+ (ip->flags & (ITE_INGRF|ITE_ISCONS|ITE_INITED)) == ITE_INITED)
(*ip->isw->ite_deinit)(ip);
(*ip->isw->ite_deinit)(ip);
- ip->flags &= ~ITE_CURSORON;
- }
if ((flag & 2) == 0)
ip->flags &= ~ITE_ACTIVE;
}
if ((flag & 2) == 0)
ip->flags &= ~ITE_ACTIVE;
}
@@
-236,6
+238,7
@@
iteclose(dev, flag, mode, p)
iteread(dev, uio, flag)
dev_t dev;
struct uio *uio;
iteread(dev, uio, flag)
dev_t dev;
struct uio *uio;
+ int flag;
{
register struct tty *tp = &ite_tty[UNIT(dev)];
{
register struct tty *tp = &ite_tty[UNIT(dev)];
@@
-245,6
+248,7
@@
iteread(dev, uio, flag)
itewrite(dev, uio, flag)
dev_t dev;
struct uio *uio;
itewrite(dev, uio, flag)
dev_t dev;
struct uio *uio;
+ int flag;
{
int unit = UNIT(dev);
register struct tty *tp = &ite_tty[unit];
{
int unit = UNIT(dev);
register struct tty *tp = &ite_tty[unit];
@@
-257,7
+261,7
@@
itewrite(dev, uio, flag)
iteioctl(dev, cmd, addr, flag, p)
dev_t dev;
iteioctl(dev, cmd, addr, flag, p)
dev_t dev;
-
int
cmd;
+
u_long
cmd;
caddr_t addr;
int flag;
struct proc *p;
caddr_t addr;
int flag;
struct proc *p;
@@
-290,7
+294,7
@@
itestart(tp)
register struct tty *tp;
{
register int cc, s;
register struct tty *tp;
{
register int cc, s;
- int hiwat = 0;
+ int hiwat = 0
, hadcursor = 0
;
struct ite_softc *ip;
/*
struct ite_softc *ip;
/*
@@
-331,12
+335,17
@@
itestart(tp)
* Saves a lot of expensive window move operations.
*/
ip = &ite_softc[UNIT(tp->t_dev)];
* Saves a lot of expensive window move operations.
*/
ip = &ite_softc[UNIT(tp->t_dev)];
- ite_erasecursor(ip, ip->isw);
- ip->flags &= ~ITE_CURSORON;
+ if (ip->flags & ITE_CURSORON) {
+ ite_erasecursor(ip, ip->isw);
+ ip->flags &= ~ITE_CURSORON;
+ hadcursor = 1;
+ }
while (--cc >= 0)
iteputchar(getc(&tp->t_outq), tp->t_dev);
while (--cc >= 0)
iteputchar(getc(&tp->t_outq), tp->t_dev);
- ip->flags |= ITE_CURSORON;
- ite_drawcursor(ip, ip->isw);
+ if (hadcursor) {
+ ip->flags |= ITE_CURSORON;
+ ite_drawcursor(ip, ip->isw);
+ }
if (hiwat) {
tp->t_state |= TS_TIMEOUT;
timeout(iterestart, tp, 1);
if (hiwat) {
tp->t_state |= TS_TIMEOUT;
timeout(iterestart, tp, 1);
@@
-347,7
+356,7
@@
itestart(tp)
}
itefilter(stat, c)
}
itefilter(stat, c)
- register char stat, c;
+
register char stat, c;
{
static int capsmode = 0;
static int metamode = 0;
{
static int capsmode = 0;
static int metamode = 0;
@@
-380,7
+389,7
@@
itefilter(stat, c)
code = kbd_keymap[c];
break;
}
code = kbd_keymap[c];
break;
}
- /*
fall into...
*/
+ /*
FALLTHROUGH
*/
case KBD_SHIFT:
code = kbd_shiftmap[c];
case KBD_SHIFT:
code = kbd_shiftmap[c];