xref: /csrg-svn/usr.bin/uucp/libacu/dk.c (revision 17772)
1*17772Sralph #ifndef lint
2*17772Sralph static char sccsid[] = "@(#)dk.c	4.1 (Berkeley) 01/22/85";
3*17772Sralph #endif
4*17772Sralph 
5*17772Sralph #include "../condevs.h"
6*17772Sralph #ifdef DATAKIT
7*17772Sralph #include <dk.h>
8*17772Sralph #define DKTRIES 2
9*17772Sralph /***
10*17772Sralph  *	dkopn(flds)	make datakit connection
11*17772Sralph  *
12*17772Sralph  *	return codes:
13*17772Sralph  *		>0 - file number - ok
14*17772Sralph  *		FAIL - failed
15*17772Sralph  */
16*17772Sralph dkopn(flds)
17*17772Sralph char *flds[];
18*17772Sralph {
19*17772Sralph 	int dkphone;
20*17772Sralph 	register char *cp;
21*17772Sralph 	register ret, i;
22*17772Sralph 
23*17772Sralph 	if (setjmp(Sjbuf))
24*17772Sralph 		return CF_DIAL;
25*17772Sralph 
26*17772Sralph 	signal(SIGALRM, alarmtr);
27*17772Sralph 	dkphone = 0;
28*17772Sralph 	cp = flds[F_PHONE];
29*17772Sralph 	while(*cp)
30*17772Sralph 		dkphone = 10 * dkphone + (*cp++ - '0');
31*17772Sralph 	DEBUG(4, "dkphone (%d) ", dkphone);
32*17772Sralph 	for (i = 0; i < DKTRIES; i++) {
33*17772Sralph 		getnextfd();
34*17772Sralph 		ret = dkdial(D_SH, dkphone, 0);
35*17772Sralph 		next_fd = -1;
36*17772Sralph 		DEBUG(4, "dkdial (%d)\n", ret);
37*17772Sralph 		if (ret > -1)
38*17772Sralph 			break;
39*17772Sralph 	}
40*17772Sralph 	return ret;
41*17772Sralph }
42*17772Sralph #endif
43