1: /*
   2:  * Copyright (c) 1983 Regents of the University of California.
   3:  * All rights reserved.  The Berkeley software License Agreement
   4:  * specifies the terms and conditions for redistribution.
   5:  */
   6: 
   7: #ifndef lint
   8: static char sccsid[] = "@(#)cu.c	5.5 (Berkeley) 10/22/87";
   9: #endif not lint
  10: 
  11: #include "tip.h"
  12: 
  13: int cleanup();
  14: int timeout();
  15: 
  16: /*
  17:  * Botch the interface to look like cu's
  18:  */
  19: cumain(argc, argv)
  20:     char *argv[];
  21: {
  22:     register int i;
  23:     static char sbuf[12];
  24: 
  25:     if (argc < 2) {
  26:         printf("usage: cu telno [-t] [-s speed] [-a acu] [-l line] [-#]\n");
  27:         exit(8);
  28:     }
  29:     CU = DV = NOSTR;
  30:     BR = DEFBR;
  31:     for (; argc > 1; argv++, argc--) {
  32:         if (argv[1][0] != '-')
  33:             PN = argv[1];
  34:         else switch (argv[1][1]) {
  35: 
  36:         case 't':
  37:             HW = 1, DU = -1;
  38:             --argc;
  39:             continue;
  40: 
  41:         case 'a':
  42:             CU = argv[2]; ++argv; --argc;
  43:             break;
  44: 
  45:         case 's':
  46:             if (argc < 3 || speed(atoi(argv[2])) == 0) {
  47:                 fprintf(stderr, "cu: unsupported speed %s\n",
  48:                     argv[2]);
  49:                 exit(3);
  50:             }
  51:             BR = atoi(argv[2]); ++argv; --argc;
  52:             break;
  53: 
  54:         case 'l':
  55:             DV = argv[2]; ++argv; --argc;
  56:             break;
  57: 
  58:         case '0': case '1': case '2': case '3': case '4':
  59:         case '5': case '6': case '7': case '8': case '9':
  60:             if (CU)
  61:                 CU[strlen(CU)-1] = argv[1][1];
  62:             if (DV)
  63:                 DV[strlen(DV)-1] = argv[1][1];
  64:             break;
  65: 
  66:         default:
  67:             printf("Bad flag %s", argv[1]);
  68:             break;
  69:         }
  70:     }
  71:     signal(SIGINT, cleanup);
  72:     signal(SIGQUIT, cleanup);
  73:     signal(SIGHUP, cleanup);
  74:     signal(SIGTERM, cleanup);
  75: 
  76:     /*
  77: 	 * The "cu" host name is used to define the
  78: 	 * attributes of the generic dialer.
  79: 	 */
  80:     (void)sprintf(sbuf, "cu%d", BR);
  81:     if ((i = hunt(sbuf)) == 0) {
  82:         printf("all ports busy\n");
  83:         exit(3);
  84:     }
  85:     if (i == -1) {
  86:         printf("link down\n");
  87:         delock(uucplock);
  88:         exit(3);
  89:     }
  90:     setbuf(stdout, NULL);
  91:     loginit();
  92:     user_uid();
  93:     vinit();
  94:     setparity("none");
  95:     boolean(value(VERBOSE)) = 0;
  96:     if (HW)
  97:         ttysetup(speed(BR));
  98:     if (connect()) {
  99:         printf("Connect failed\n");
 100:         daemon_uid();
 101:         delock(uucplock);
 102:         exit(1);
 103:     }
 104:     if (!HW)
 105:         ttysetup(speed(BR));
 106: }

Defined functions

cumain defined in line 19; used 1 times

Defined variables

sccsid defined in line 8; never used
Last modified: 1987-10-23
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 2937
Valid CSS Valid XHTML 1.0 Strict