Annotation of 43BSDReno/usr.bin/uucp/aculib/vent.c, revision 1.1.1.1

1.1       root        1: #ifndef lint
                      2: static char sccsid[] = "@(#)vent.c     4.3 (Berkeley) 2/24/88";
                      3: #endif
                      4: 
                      5: #include "../condevs.h"
                      6: 
                      7: ventopn(telno, flds, dev)
                      8: char *flds[], *telno;
                      9: struct Devices *dev;
                     10: {
                     11:        int     dh;
                     12:        int     i, ok = -1;
                     13:        char dcname[20];
                     14: 
                     15:        sprintf(dcname, "/dev/%s", dev->D_line);
                     16:        if (setjmp(Sjbuf)) {
                     17:                DEBUG(1, "timeout ventel open\n", "");
                     18:                logent("ventel open", "TIMEOUT");
                     19:                if (dh >= 0)
                     20:                        close(dh);
                     21:                delock(dev->D_line);
                     22:                return CF_NODEV;
                     23:        }
                     24:        signal(SIGALRM, alarmtr);
                     25:        getnextfd();
                     26:        alarm(10);
                     27:        dh = open(dcname, 2);
                     28:        next_fd = -1;
                     29:        alarm(0);
                     30:        if (dh < 0) {
                     31:                DEBUG(4,"%s\n", errno == 4 ? "no carrier" : "can't open modem");
                     32:                delock(dev->D_line);
                     33:                return errno == 4 ? CF_DIAL : CF_NODEV;
                     34:        }
                     35: 
                     36:        /* modem is open */
                     37:        fixline(dh, dev->D_speed);
                     38: 
                     39:        /* translate - to % and = to & for VenTel */
                     40:        DEBUG(4, "calling %s -> ", telno);
                     41:        for (i = 0; i < strlen(telno); ++i) {
                     42:                switch(telno[i]) {
                     43:                case '-':       /* delay */
                     44:                        telno[i] = '%';
                     45:                        break;
                     46:                case '=':       /* await dial tone */
                     47:                        telno[i] = '&';
                     48:                        break;
                     49:                case '<':
                     50:                        telno[i] = '%';
                     51:                        break;
                     52:                }
                     53:        }
                     54:        DEBUG(4, "%s\n", telno);
                     55:        sleep(1);
                     56:        for(i = 0; i < 5; ++i) {        /* make up to 5 tries */
                     57:                slowrite(dh, "\r\r");/* awake, thou lowly VenTel! */
                     58: 
                     59:                DEBUG(4, "wanted %s ", "$");
                     60:                ok = expect("$", dh);
                     61:                DEBUG(4, "got %s\n", ok ? "?" : "that");
                     62:                if (ok != 0)
                     63:                        continue;
                     64:                slowrite(dh, "K");      /* "K" (enter number) command */
                     65:                DEBUG(4, "wanted %s ", "DIAL: ");
                     66:                ok = expect("DIAL: ", dh);
                     67:                DEBUG(4, "got %s\n", ok ? "?" : "that");
                     68:                if (ok == 0)
                     69:                        break;
                     70:        }
                     71: 
                     72:        if (ok == 0) {
                     73:                slowrite(dh, telno); /* send telno, send \r */
                     74:                slowrite(dh, "\r");
                     75:                DEBUG(4, "wanted %s ", "ONLINE");
                     76:                ok = expect("ONLINE!", dh);
                     77:                DEBUG(4, "got %s\n", ok ? "?" : "that");
                     78:        }
                     79:        if (ok != 0) {
                     80:                if (dh > 2)
                     81:                        close(dh);
                     82:                DEBUG(4, "venDial failed\n", "");
                     83:                return CF_DIAL;
                     84:        } 
                     85:        else
                     86:                DEBUG(4, "venDial ok\n", "");
                     87:        return dh;
                     88: }
                     89: 
                     90: ventcls(fd)
                     91: int fd;
                     92: {
                     93:        if (fd > 0) {
                     94:                close(fd);
                     95:                sleep(5);
                     96:                delock(devSel);
                     97:        }
                     98: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.