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
minor fixes relating to u.u_error handling
[unix-history]
/
usr
/
src
/
sys
/
vax
/
uba
/
dh.c
diff --git
a/usr/src/sys/vax/uba/dh.c
b/usr/src/sys/vax/uba/dh.c
index
9e1821a
..
f4ae51a
100644
(file)
--- a/
usr/src/sys/vax/uba/dh.c
+++ b/
usr/src/sys/vax/uba/dh.c
@@
-1,4
+1,4
@@
-/* dh.c 4.
46 82/07/15
*/
+/* dh.c 4.
52 82/10/10
*/
#include "dh.h"
#if NDH > 0
#include "dh.h"
#if NDH > 0
@@
-16,11
+16,14
@@
#include "../h/pte.h"
#include "../h/buf.h"
#include "../h/vm.h"
#include "../h/pte.h"
#include "../h/buf.h"
#include "../h/vm.h"
-#include "../h/ubareg.h"
-#include "../h/ubavar.h"
+
+#include "../vaxuba/ubareg.h"
+#include "../vaxuba/ubavar.h"
+
#include "../h/bk.h"
#include "../h/clist.h"
#include "../h/file.h"
#include "../h/bk.h"
#include "../h/clist.h"
#include "../h/file.h"
+#include "../h/uio.h"
/*
* Definition of the driver for the auto-configuration program.
/*
* Definition of the driver for the auto-configuration program.
@@
-308,22
+311,22
@@
dhclose(dev, flag)
ttyclose(tp);
}
ttyclose(tp);
}
-dhread(dev)
+dhread(dev
, uio
)
dev_t dev;
dev_t dev;
+ struct uio *uio;
{
{
- register struct tty *tp;
+ register struct tty *tp
= &dh11[minor(dev)]
;
- tp = &dh11[minor(dev)];
- (*linesw[tp->t_line].l_read)(tp);
+ return ((*linesw[tp->t_line].l_read)(tp, uio));
}
}
-dhwrite(dev)
+dhwrite(dev
, uio
)
dev_t dev;
dev_t dev;
+ struct uio *uio;
{
{
- register struct tty *tp;
+ register struct tty *tp
= &dh11[minor(dev)]
;
- tp = &dh11[minor(dev)];
- (*linesw[tp->t_line].l_write)(tp);
+ return ((*linesw[tp->t_line].l_write)(tp, uio));
}
/*
}
/*
@@
-390,32
+393,37
@@
dhrint(dh)
* Ioctl for DH11.
*/
/*ARGSUSED*/
* Ioctl for DH11.
*/
/*ARGSUSED*/
-dhioctl(dev, cmd,
addr
, flag)
- caddr_t
addr
;
+dhioctl(dev, cmd,
data
, flag)
+ caddr_t
data
;
{
register struct tty *tp;
register unit = minor(dev);
tp = &dh11[unit];
{
register struct tty *tp;
register unit = minor(dev);
tp = &dh11[unit];
- cmd = (*linesw[tp->t_line].l_ioctl)(tp, cmd,
addr
);
+ cmd = (*linesw[tp->t_line].l_ioctl)(tp, cmd,
data, flag
);
if (cmd == 0)
return;
if (cmd == 0)
return;
- if (ttioctl(tp, cmd,
addr
, flag)) {
- if (cmd
==TIOCSETP || cmd==
TIOCSETN)
+ if (ttioctl(tp, cmd,
data
, flag)) {
+ if (cmd
== TIOCSETP || cmd ==
TIOCSETN)
dhparam(unit);
} else switch(cmd) {
dhparam(unit);
} else switch(cmd) {
+
case TIOCSBRK:
((struct dhdevice *)(tp->t_addr))->dhbreak |= 1<<(unit&017);
break;
case TIOCSBRK:
((struct dhdevice *)(tp->t_addr))->dhbreak |= 1<<(unit&017);
break;
+
case TIOCCBRK:
((struct dhdevice *)(tp->t_addr))->dhbreak &= ~(1<<(unit&017));
break;
case TIOCCBRK:
((struct dhdevice *)(tp->t_addr))->dhbreak &= ~(1<<(unit&017));
break;
+
case TIOCSDTR:
dmctl(unit, DML_DTR|DML_RTS, DMBIS);
break;
case TIOCSDTR:
dmctl(unit, DML_DTR|DML_RTS, DMBIS);
break;
+
case TIOCCDTR:
dmctl(unit, DML_DTR|DML_RTS, DMBIC);
break;
case TIOCCDTR:
dmctl(unit, DML_DTR|DML_RTS, DMBIC);
break;
+
default:
u.u_error = ENOTTY;
}
default:
u.u_error = ENOTTY;
}
@@
-675,9
+683,11
@@
dhreset(uban)
dhtimer()
{
register int dh;
dhtimer()
{
register int dh;
+ register int s = spl5();
for (dh = 0; dh < NDH; dh++)
dhrint(dh);
for (dh = 0; dh < NDH; dh++)
dhrint(dh);
+ splx(s);
}
/*
}
/*