# 2.11BSD#431 - /usr/src/usr.bin/uucp/aculib/vent.c

##### Functions

    ventcls           X
    ventopn           X

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

#### Defined functions

ventcls defined in line 91; never used
ventopn defined in line 8; never used

#### Defined variables

sccsid defined in line 2; never used

Last modified: 1987-02-17 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 1456 |