1 /*
   2  * CDDL HEADER START
   3  *
   4  * The contents of this file are subject to the terms of the
   5  * Common Development and Distribution License, Version 1.0 only
   6  * (the "License").  You may not use this file except in compliance
   7  * with the License.
   8  *
   9  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  10  * or http://www.opensolaris.org/os/licensing.
  11  * See the License for the specific language governing permissions
  12  * and limitations under the License.
  13  *
  14  * When distributing Covered Code, include this CDDL HEADER in each
  15  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16  * If applicable, add the following below this CDDL HEADER, with the
  17  * fields enclosed by brackets "[]" replaced with your own identifying
  18  * information: Portions Copyright [yyyy] [name of copyright owner]
  19  *
  20  * CDDL HEADER END
  21  */
  22 /*      Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T     */
  23 /*        All Rights Reserved   */
  24 
  25 
  26 #ident  "%Z%%M% %I%     %E% SMI"        /* SVr4.0 1.3   */
  27 
  28 
  29 
  30 /* If running SVR3, #define both ATTSVR3 and ATTSV */
  31 #define ATTSVR3 /* System V Release 3 */
  32 
  33 /* One of the following four lines should not be commented out.
  34  * The other three should be unless you are running a unique hybrid.
  35  */
  36 
  37 #define ATTSV   /* System III or System V */
  38 /* #define      V7 */   /* Version 7 systems (32V, Berkeley 4BSD, 4.1BSD) */
  39 /* #define      BSD4_2 */       /* Berkeley 4.2BSD */
  40 /* #define      V8 */   /* Research Eighth Edition */
  41 
  42 /* Owner of setud files running on behalf of uucp.  Needed in case
  43  * root runs uucp and euid is not honored by kernel.
  44  * GID is needed for some chown() calls.
  45  * Also used if guinfo() cannot find the current users ID in the
  46  * password file.
  47  */
  48 #define UUCPUID         (uid_t) 5       /* */
  49 #define UUCPGID         (gid_t) 5       /* */
  50 
  51 /* define ATTSVKILL if your system has a kill(2) that accepts kill(0, pid)
  52  * as a test for killability.  If ATTSV is defined this will automatically
  53  * be defined anyway.
  54  */
  55 #define ATTSVKILL       /* */
  56 
  57 /*
  58  * the next two lines control high resolution sleeps, called naps.
  59  *
  60  * most UNIX versions have no nap() system call; they want NONAP defined,
  61  * in which case one is provided in the code.  this includes all standard
  62  * versions of UNIX.
  63  *
  64  * some sites use a fast timer that reads a number of clock ticks and naps
  65  * for that interval; they want NONAP defined, and FASTTIMER defined as
  66  * the name of the device, e.g., /dev/ft.
  67  *
  68  * repeating, NONAP should be disabled *only* if your standard library has a
  69  * function called nap.
  70  */
  71 
  72 
  73 #define NONAP   /* nominal case -- no nap() in the standard library */
  74 /* #define FASTTIMER "/dev/ft" */   /* identify the device used for naps */
  75 
  76 /*
  77  * we use ustat to decide whether there's enough space to receive a
  78  * file.  if you're not ATTSV, you can use a setgid program to read the
  79  * number of free blocks and free inodes directly off the disk.  if you
  80  * choose this course, do not define NOUSTAT; rather, define V7USTAT to
  81  * be the name of that program.  be sure it accepts 2 args, major and minor
  82  * device numbers, and returns two numbers, blocks and inodes, in
  83  * "%d %d" format, or you'll never receive another file.
  84  */
  85 /* #define V7USTAT  "/usr/local/lib/ustat" */
  86 /* #define NOUSTAT   */ /* define NOUSTAT if you don't have ustat */
  87 
  88 /* define GRPCHK if you want to restrict the ability to read */
  89 /* Systems file stuff by way of the DEBUG flags based on a group id range */
  90 /* ex: if (GRPCHK(getgid()) no_secrets(); */
  91 #define GRPMIN  (gid_t) 2       /* */
  92 #define GRPMAX  (gid_t) 10      /* */
  93 #define GRPCHK(gid)     ( gid >= GRPMIN && gid <= GRPMAX ? 1 : 0 )        /* */
  94 /* #define GRPCHK(gid)  1 */    /* Systems info is not protected from DEBUG */
  95 
  96 /* definitions for the types of networks and dialers that are available */
  97 /* used to depend on STANDALONE, but now done at runtime via Sysfiles   */
  98 #define DATAKIT         /* define DATAKIT if datakit is available. */
  99 /* #define UNET */      /* define UNET if you have 3com ethernet software */
 100 /* #define TCP  */      /* TCP (bsd systems) */
 101 /* #define SYTEK*/      /* for sytek network */
 102 
 103 #ifdef ATTSVR3
 104 #define TLI             /* for AT&T Transport Layer Interface networks */
 105 #define TLIS            /* for AT&T Transport Layer Interface networks */
 106                         /* with streams module "tirdwr" */
 107 #endif /* ATTSVR3 */
 108 
 109 #define DIAL801 /* 801/212-103 auto dialers */
 110 
 111 /* define DUMB_DN if your dn driver (801 acu) cannot handle '=' */
 112 /* #define DUMB_DN */
 113 
 114 /*
 115  * Define protocols that are to be linked into uucico:
 116  *
 117  * The following table shows which protocols and networks work well
 118  * together.  The g protocol works over noisy links.  The e protocol
 119  * assumes that the underlying network provides an error free communications
 120  * channel that transfers the data in sequence without duplication.  The
 121  * d protocols makes the same assumptions as the e protocol, but in addition
 122  * it does Datakit specific ioctl's.  The g protocol is always included in
 123  * uucico.  To include the other protocols, 1) insure that the symbol from
 124  * the Symbol column is defined in this file and 2) include the file from
 125  * the File comlumn in the definition of PROTOCOLS in uucp.mk.
 126  *
 127  * Prot.
 128  * Letter Symbol       File     Applicable Media
 129  *
 130  *   g    none         -        -
 131  *   e    E_PROTOCOL   eio.c    TCP, UNET, TLI, and DATAKIT.
 132  *   d    D_PROTOCOL   dio.c    DATAKIT
 133  *   x    X_PROTOCOL   xio.c    -
 134  *
 135  * The next six lines conditionally define the protocol symbols for d
 136  * and e protocols based on the networks that were chosen above.  For the
 137  * x protocol you must explicitly define X_PROTOCOL.
 138  */
 139 
 140 #ifdef DATAKIT          /* Should include D protocol for Datakit. */
 141 #define D_PROTOCOL
 142 #endif /* DATAKIT */
 143 
 144 #if defined TCP || defined UNET || defined TLI || defined DATAKIT
 145 #define E_PROTOCOL      /* Include e protocol. */
 146 #endif  /* TCP || UNET || TLI || DATAKIT */
 147 
 148 /* #define X_PROTOCOL */ /* define X_PROTOCOL to use the xio protocol */
 149 #define X_PROTOCOL /* aeh - to check compilation */
 150 
 151 #define MAXCALLTRIES    2       /* maximum call attempts per Systems file line */
 152 
 153 /* define DEFAULT_BAUDRATE to be the baud rate you want to use when both */
 154 /* Systems file and Devices file allow Any */
 155 #define DEFAULT_BAUDRATE "9600" /* */
 156 
 157 /*define permission modes for the device */
 158 #define M_DEVICEMODE (mode_t) 0600      /* MASTER device mode */
 159 #define S_DEVICEMODE (mode_t) 0600      /* SLAVE device mode */
 160 #define R_DEVICEMODE (mode_t) 0600      /* default mode to restore */
 161 
 162 /* NO_MODEM_CTRL - define this if you have very old hardware
 163  * that does not know how to correctly handle modem control
 164  * Some old pdp/11 hardware such as dk, dl
 165  * If you define this, and have DH devices for direct lines,
 166  * the ports will often hang and be unusable.
 167 */
 168 /*#define NO_MODEM_CTRL */
 169 
 170 
 171 /* UUSTAT_TBL - this is the maximum number of machines that
 172  * status may be needed at any instant.
 173  * If you are not concerned with memory for a seldom used program,
 174  * make it very large.
 175  * This number is also used in uusched for its machine table -- it has
 176  * the same properties as the one in uustat.
 177  */
 178 
 179 /* #define UUSTAT_TBL 1000 */           /* big machine with lots of traffic */
 180 #define UUSTAT_TBL 200
 181 
 182 /* define UNAME if uname() should be used to get uucpname
 183  * This will be defined automatically if ATTSV is defined
 184  */
 185 #define UNAME /*  */
 186 
 187 /* initial wait time after failure before retry */
 188 #define RETRYTIME 300           /* 5 minutes */
 189 /* MAXRETRYTIME is for exponential backoff  limit.
 190  * NOTE - this should not be 24 hours so that
 191  * retry is not always at the same time each day
 192  */
 193 #define MAXRETRYTIME 82800      /* 23 hours */
 194 #define ASSERT_RETRYTIME 86400  /* retry time for ASSERT errors */
 195 
 196 /*  This is the path that will be used for uuxqt command executions */
 197 #define PATH    "PATH=/usr/bin " /* */
 198 
 199 /*  This is the set of default commands that can be executed */
 200 /*  if non is given for the system name in PERMISSIONS file */
 201 /*  It is a colon separated list as in PERMISSIONS file */
 202 #define DEFAULTCMDS     "rmail" /* standard default command list */
 203 
 204 /* define HZ to be the number of clock ticks per second */
 205 /* #define HZ 60 */ /* not needed for ATTSV or above */
 206 
 207 /*
 208  * put in local uucp name of this machine if there is no "/etc/whoami"
 209  * and no uname() (this is a last resort)
 210  */
 211 #define MYNAME          "kilroy"        /* */
 212 
 213 /* define NOSTRANGERS if you want to reject calls from systems which
 214  * are not in your Systems file.   If defined, NOSTRANGERS should be the name
 215  * of the program to execute when such a system dials in.  The argument
 216  * to said program will be the name of said system.  Typically this is a shell
 217  * procedure that sends mail to the uucp administrator informing them of an
 218  * attempt to communicate by an unknown system.
 219  * NOTE - if this is defined, it can be overridden by the administrator
 220  * by making the command non-executable.  (It can be turned on and off
 221  * by changing the mode of the command.)
 222  */
 223 #define NOSTRANGERS     "/usr/lib/uucp/remote.unknown"  /* */
 224 
 225 /* define LIMITS to be the name of a file which contains information
 226  * about the number of simultaneous uucicos,uuxqts, and uuscheds
 227  * that are allowed to run. If it is not defined, then there may be
 228  * "many" uucicos, uuxqts, and uuscheds running.
 229  */
 230 #define LIMITS          "/etc/uucp/Limits"              /* */
 231 
 232 /* define USRSPOOLLOCKS if you like your lock files in /var/spool/locks
 233  * be sure other programs such as 'cu' and 'ct' know about this
 234  *
 235  * WARNING: if you do not define USRSPOOLLOCKS, then $LOCK in 
 236  * uudemon.cleanup must be changed.
 237  */
 238 #define USRSPOOLLOCKS  /* define to use /var/spool/locks for LCK files */
 239 
 240 /* define PKSPEEDUP if you want to try the recommended speedup in pkcget.
 241  * this entails sleeping between reads at low baud rates.
 242  */
 243 #define PKSPEEDUP       /* */