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