1 /*-
2 * Copyright (c) 1985, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * %sccs.include.proprietary.c%
6 */
7
8 #ifndef lint
9 static char sccsid[] = "@(#)pnet.c 8.1 (Berkeley) 06/06/93";
10 #endif /* not lint */
11
12 #include "condevs.h"
13 #ifdef PNET
14
15 /***
16 * pnetopn(flds)
17 *
18 * call remote machine via Purdue network
19 * use dial string as host name, speed as socket number
20 * - Steve Bellovin
21 */
pnetopn(flds)22 pnetopn(flds)
23 char *flds[];
24 {
25 int fd;
26 int socket;
27 register char *cp;
28
29 fd = pnetfile();
30 DEBUG(4, "pnet fd - %d\n", fd);
31 if (fd < 0) {
32 logent("AVAILABLE DEVICE", "NO");
33 return CF_NODEV;
34 }
35 socket = 0;
36 for (cp = flds[F_CLASS]; *cp; cp++)
37 socket = 10*socket + (*cp - '0');
38 DEBUG(4, "socket - %d\n", socket);
39 if (setjmp(Sjbuf)) {
40 DEBUG(4, "pnet timeout - %s\n", flds[F_PHONE]);
41 return CF_DIAL;
42 }
43 signal(SIGALRM, alarmtr);
44 DEBUG(4, "host - %s\n", flds[F_PHONE]);
45 alarm(15);
46 if (pnetscon(fd, flds[F_PHONE], socket) < 0) {
47 DEBUG(4, "pnet connect failed - %s\n", flds[F_PHONE]);
48 alarm(0);
49 return CF_DIAL;
50 }
51 alarm(0);
52 return fd;
53 }
54 #endif PNET
55