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

##### Functions

    cdscls224         X
    cdsopn224         X

##### Macros

    TRYS              X

       1: #ifndef lint
       2: static char sccsid[] = "@(#)cds224.c	1.1 (Berkeley) 1/13/86";
       3: #endif !lint
       4:
       5: #include "../condevs.h"
       6: #ifdef CDS224
       7:
       8: /*
       9:  *	conopn: establish dial-out connection through a Concord CDS 224.
      10:  *	Returns descriptor open to tty for reading and writing.
      11:  *	Negative values (-1...-7) denote errors in connmsg.
      12:  *	Be sure to disconnect tty when done, via HUPCL or stty 0.
      13:  */
      14: #define TRYS 5  /* number of trys */
      15:
      16: cdsopn224(telno, flds, dev)
      17: char *telno;
      18: char *flds[];
      19: struct Devices *dev;
      20: {
      21:     int dh = -1;
      22:     int i, ok, er = 0, delay;
      23:     extern errno;
      24:     char dcname[20];
      25:     char *tempbuf[20];
      26:
      27:     sprintf(dcname, "/dev/%s", dev->D_line);
      28:     if (setjmp(Sjbuf)) {
      29:         DEBUG(1, "timeout concord open\n", "");
      30:         logent("concord open", "TIMEOUT");
      31:         if (dh >= 0)
      32:             cdscls224(dh);
      33:         delock(dev->D_line);
      34:         return CF_NODEV;
      35:     }
      36:     signal(SIGALRM, alarmtr);
      37:     getnextfd();
      38:     alarm(10);
      39:     dh = open(dcname, 2);
      40:     alarm(0);
      41:
      42:     /* modem is open */
      43:     next_fd = -1;
      44:     if (dh < 0) {
      45:         delock(dev->D_line);
      46:         return CF_NODEV;
      47:     }
      48:     fixline(dh, dev->D_speed);
      49:
      50:     DEBUG(4, "calling %s -> ", telno);
      51:     if (dochat(dev, flds, dh)) {
      52:         logent(dcname, "CHAT FAILED");
      53:         cdscls224(dh);
      54:         return CF_DIAL;
      55:     }
      56:     for(i = 0; i < TRYS; ++i) {
      57:         /* wake up Concord */
      58:         write(dh, "\r\r", 2);
      59:         DEBUG(4, "wanted CDS >", CNULL);
      60:         ok = expect("CDS >", dh);
      61:         DEBUG(4, "got %s\n", ok ? "?" : "that");
      62:         if (ok != 0)
      63:             continue;
      64:
      65:         write(dh, "\r", 2);
      66:         DEBUG(4, "wanted CDS >", CNULL);
      67:         ok = expect("CDS >", dh);
      68:         DEBUG(4, "got %s\n", ok ? "?" : "that");
      69:         if (ok != 0)
      70:             continue;
      71:
      72:         /* send telno \r */
      73:         sprintf(tempbuf,"D%s\r",telno);
      74:         write(dh, tempbuf, strlen(tempbuf));
      75:
      76:         DEBUG(4, "wanted DIALING ", CNULL);
      77:         ok = expect("DIALING ", dh);
      78:         DEBUG(4, "got %s\n", ok ? "?" : "that");
      79:         if (ok == 0)
      80:             break;
      81:     }
      82:
      83:     if (ok == 0) {
      84:         sleep(10);  /* give concord some time */
      85:         DEBUG(4, "wanted INITIATING " , CNULL);
      86:         ok = expect("INITIATING", dh);
      87:         DEBUG(4, "got %s\n", ok ? "?" : "that");
      88:     }
      89:
      90:     if (ok != 0) {
      91:         if (dh > 2)
      92:             close(dh);
      93:         DEBUG(4, "conDial failed\n", CNULL);
      94:         delock(dev->D_line);
      95:         return CF_DIAL;
      96:     }
      97:     DEBUG(4, "concord ok\n", CNULL);
      98:     return dh;
      99: }
     100:
     101: cdscls224(fd)
     102: {
     103:
     104:     if (fd > 0) {
     105:         close(fd);
     106:         sleep(5);
     107:         delock(devSel);
     108:     }
     109: }
     110: #endif CDS224

#### Defined functions

cdscls224 defined in line 101; used 2 times

- in line 32, 53

cdsopn224 defined in line 16; never used

#### Defined variables

sccsid defined in line 2; never used

#### Defined macros

TRYS defined in line 14; used 1 times

- in line 56

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