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
BSD 4_2 release
[unix-history]
/
usr
/
src
/
usr.bin
/
tip
/
aculib
/
df.c
diff --git
a/usr/src/usr.bin/tip/aculib/df.c
b/usr/src/usr.bin/tip/aculib/df.c
index
24759f2
..
85a3712
100644
(file)
--- a/
usr/src/usr.bin/tip/aculib/df.c
+++ b/
usr/src/usr.bin/tip/aculib/df.c
@@
-1,30
+1,29
@@
-/* df.c 4.5 81/11/29 */
+#ifndef lint
+static char sccsid[] = "@(#)df.c 4.8 (Berkeley) 6/25/83";
+#endif
+
/*
* Dial the DF02-AC or DF03-AC
*/
/*
* Dial the DF02-AC or DF03-AC
*/
-#if defined(DF02) || defined(DF03)
#include "tip.h"
#include "tip.h"
-#include <setjmp.h>
-static jmp_buf Sjbuf;
+static jmp_buf Sjbuf;
static timeout();
static timeout();
-#if DF02
df02_dialer(num, acu)
char *num, *acu;
{
df02_dialer(num, acu)
char *num, *acu;
{
+
return (df_dialer(num, acu, 0));
}
return (df_dialer(num, acu, 0));
}
-#endif
-#if DF03
df03_dialer(num, acu)
char *num, *acu;
{
df03_dialer(num, acu)
char *num, *acu;
{
+
return (df_dialer(num, acu, 1));
}
return (df_dialer(num, acu, 1));
}
-#endif
df_dialer(num, acu, df03)
char *num, *acu;
df_dialer(num, acu, df03)
char *num, *acu;
@@
-32,10
+31,8
@@
df_dialer(num, acu, df03)
{
register int f = FD;
struct sgttyb buf;
{
register int f = FD;
struct sgttyb buf;
- int speed = 0, c = 0;
-#ifdef TIOCMSET
- int st = MST; /* Secondary Transmit flag, for speed select */
-#endif
+ int speed = 0, rw = 2;
+ char c = '\0';
ioctl(f, TIOCHPCL, 0); /* make sure it hangs up when done */
if (setjmp(Sjbuf)) {
ioctl(f, TIOCHPCL, 0); /* make sure it hangs up when done */
if (setjmp(Sjbuf)) {
@@
-48,6
+45,8
@@
df_dialer(num, acu, df03)
fflush(stdout);
#ifdef TIOCMSET
if (df03) {
fflush(stdout);
#ifdef TIOCMSET
if (df03) {
+ int st = TIOCM_ST; /* secondary Transmit flag */
+
ioctl(f, TIOCGETP, &buf);
if (buf.sg_ospeed != B1200) { /* must dial at 1200 baud */
speed = buf.sg_ospeed;
ioctl(f, TIOCGETP, &buf);
if (buf.sg_ospeed != B1200) { /* must dial at 1200 baud */
speed = buf.sg_ospeed;
@@
-60,12
+59,12
@@
df_dialer(num, acu, df03)
#endif
signal(SIGALRM, timeout);
alarm(5 * strlen(num) + 10);
#endif
signal(SIGALRM, timeout);
alarm(5 * strlen(num) + 10);
- ioctl(f, TIOCFLUSH,
0
);
+ ioctl(f, TIOCFLUSH,
&rw
);
write(f, "\001", 1);
sleep(1);
write(f, "\002", 1);
write(f, num, strlen(num));
write(f, "\001", 1);
sleep(1);
write(f, "\002", 1);
write(f, num, strlen(num));
- read(f,
(char *)
&c, 1);
+ read(f, &c, 1);
#ifdef TIOCMSET
if (df03 && speed) {
buf.sg_ispeed = buf.sg_ospeed = speed;
#ifdef TIOCMSET
if (df03 && speed) {
buf.sg_ispeed = buf.sg_ospeed = speed;
@@
-75,26
+74,26
@@
df_dialer(num, acu, df03)
return (c == 'A');
}
return (c == 'A');
}
-
df_disconnect()
{
df_disconnect()
{
+ int rw = 2;
+
write(FD, "\001", 1);
sleep(1);
write(FD, "\001", 1);
sleep(1);
- ioctl(FD, TIOCFLUSH,
0
);
+ ioctl(FD, TIOCFLUSH,
&rw
);
}
df_abort()
{
}
df_abort()
{
- write(FD, "\001", 1);
- sleep(1);
- ioctl(FD, TIOCFLUSH, 0);
+
+ df_disconnect();
}
static
timeout()
{
}
static
timeout()
{
+
longjmp(Sjbuf, 1);
}
longjmp(Sjbuf, 1);
}
-#endif