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 */ 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