date and time created 81/05/09 16:45:15 by root
[unix-history] / usr / src / usr.bin / tip / aculib / df.c
CommitLineData
6476f6e0
BJ
1/* df.c 4.1 81/05/09 */
2/*
3 * Dial the DF02-AC
4 */
5
6#include "tip.h"
7#if DF02
8#include <setjmp.h>
9
10static jmp_buf Sjbuf;
11static timeout();
12
13df_dialer(num, acu)
14char *num, *acu;
15{
16 register int f = FD;
17 int c;
18
19 ioctl(f, TIOCHPCL, 0); /* make sure it hangs up when done */
20 if (setjmp(Sjbuf)) {
21 printf("connection timed out\r\n");
22 df_disconnect();
23 return(0);
24 }
25 if (boolean(value(VERBOSE)))
26 printf("\ndialing...");
27 fflush(stdout);
28 signal(SIGALRM, timeout);
29 alarm(5 * strlen(num) + 10);
30 ioctl(f, TIOCFLUSH, 0);
31 write(f, "\001", 1);
32 sleep(0); /* this must waste 70 ms. */
33 write(f, "\002", 1);
34 write(f, num, strlen(num));
35 c = 0;
36 read(f, (char *)&c, 1);
37 return(c == 'A');
38}
39
40
41df_disconnect()
42{
43 write(FD, "\001", 1);
44 sleep(1);
45 ioctl(FD, TIOCFLUSH, 0);
46}
47
48
49df_abort()
50{
51 write(FD, "\001", 1);
52 sleep(1);
53 ioctl(FD, TIOCFLUSH, 0);
54}
55
56
57static
58timeout()
59{
60 longjmp(Sjbuf, 1);
61}
62#endif