xref: /csrg-svn/usr.bin/uucp/libacu/dk.c (revision 46875)
117772Sralph #ifndef lint
2*46875Sbostic static char sccsid[] = "@(#)dk.c	4.3 (Berkeley) 03/02/91";
317772Sralph #endif
417772Sralph 
5*46875Sbostic #include "condevs.h"
617772Sralph #ifdef DATAKIT
717772Sralph #include <dk.h>
817772Sralph #define DKTRIES 2
917772Sralph /***
1017772Sralph  *	dkopn(flds)	make datakit connection
1117772Sralph  *
1217772Sralph  *	return codes:
1317772Sralph  *		>0 - file number - ok
1417772Sralph  *		FAIL - failed
1517772Sralph  */
1617772Sralph dkopn(flds)
1717772Sralph char *flds[];
1817772Sralph {
1917772Sralph 	int dkphone;
2017772Sralph 	register char *cp;
2117772Sralph 	register ret, i;
2217772Sralph 
2317772Sralph 	if (setjmp(Sjbuf))
2417772Sralph 		return CF_DIAL;
2517772Sralph 
2617772Sralph 	signal(SIGALRM, alarmtr);
2717772Sralph 	dkphone = 0;
2817772Sralph 	cp = flds[F_PHONE];
2917772Sralph 	while(*cp)
3017772Sralph 		dkphone = 10 * dkphone + (*cp++ - '0');
3117772Sralph 	DEBUG(4, "dkphone (%d) ", dkphone);
3217772Sralph 	for (i = 0; i < DKTRIES; i++) {
3317772Sralph 		getnextfd();
3417772Sralph 		ret = dkdial(D_SH, dkphone, 0);
3517772Sralph 		next_fd = -1;
3617772Sralph 		DEBUG(4, "dkdial (%d)\n", ret);
3717772Sralph 		if (ret > -1)
3817772Sralph 			break;
3917772Sralph 	}
4017772Sralph 	return ret;
4117772Sralph }
4217772Sralph #endif
43