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[] = "@(#)unet.c 8.1 (Berkeley) 06/06/93";
10 #endif /* not lint */
11
12 #include "condevs.h"
13 #ifdef UNETTCP
14
15 /*
16 * unetopn -- make UNET (tcp-ip) connection
17 *
18 * return codes:
19 * >0 - file number - ok
20 * FAIL - failed
21 */
22
23 /* Default port of uucico server */
24 #define DFLTPORT 33
25
unetopn(flds)26 unetopn(flds)
27 register char *flds[];
28 {
29 register int ret, port;
30 int unetcls();
31
32 port = atoi(flds[F_PHONE]);
33 if (port <= 0 || port > 255)
34 port = DFLTPORT;
35 DEBUG(4, "unetopn host %s, ", flds[F_NAME]);
36 DEBUG(4, "port %d\n", port);
37 if (setjmp(Sjbuf)) {
38 logent("tcpopen", "TIMEOUT");
39 endhnent(); /* see below */
40 return CF_DIAL;
41 }
42 signal(SIGALRM, alarmtr);
43 alarm(30);
44 ret = tcpopen(flds[F_NAME], port, 0, TO_ACTIVE, "rw");
45 alarm(0);
46 endhnent(); /* wave magic wand at 3com and incant "eat it, bruce" */
47 if (ret < 0) {
48 DEBUG(5, "tcpopen failed: errno %d\n", errno);
49 logent("tcpopen", _FAILED);
50 return CF_DIAL;
51 }
52 CU_end = unetcls;
53 return ret;
54 }
55
56 /*
57 * unetcls -- close UNET connection.
58 */
unetcls(fd)59 unetcls(fd)
60 register int fd;
61 {
62 DEBUG(4, "UNET CLOSE called\n", 0);
63 if (fd > 0) {
64 #ifdef notdef
65 /* disable this until a timeout is put in */
66 if (ioctl(fd, UIOCCLOSE, STBNULL))
67 logent("UNET CLOSE", _FAILED);
68 #endif notdef
69 close(fd);
70 DEBUG(4, "closed fd %d\n", fd);
71 }
72 }
73 #endif UNETTCP
74