1*7c478bd9Sstevel@tonic-gate /* 2*7c478bd9Sstevel@tonic-gate * CDDL HEADER START 3*7c478bd9Sstevel@tonic-gate * 4*7c478bd9Sstevel@tonic-gate * The contents of this file are subject to the terms of the 5*7c478bd9Sstevel@tonic-gate * Common Development and Distribution License, Version 1.0 only 6*7c478bd9Sstevel@tonic-gate * (the "License"). You may not use this file except in compliance 7*7c478bd9Sstevel@tonic-gate * with the License. 8*7c478bd9Sstevel@tonic-gate * 9*7c478bd9Sstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10*7c478bd9Sstevel@tonic-gate * or http://www.opensolaris.org/os/licensing. 11*7c478bd9Sstevel@tonic-gate * See the License for the specific language governing permissions 12*7c478bd9Sstevel@tonic-gate * and limitations under the License. 13*7c478bd9Sstevel@tonic-gate * 14*7c478bd9Sstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each 15*7c478bd9Sstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16*7c478bd9Sstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the 17*7c478bd9Sstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying 18*7c478bd9Sstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner] 19*7c478bd9Sstevel@tonic-gate * 20*7c478bd9Sstevel@tonic-gate * CDDL HEADER END 21*7c478bd9Sstevel@tonic-gate */ 22*7c478bd9Sstevel@tonic-gate /* 23*7c478bd9Sstevel@tonic-gate * Copyright 1997 Sun Microsystems, Inc. All rights reserved. 24*7c478bd9Sstevel@tonic-gate * Use is subject to license terms. 25*7c478bd9Sstevel@tonic-gate */ 26*7c478bd9Sstevel@tonic-gate 27*7c478bd9Sstevel@tonic-gate /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 28*7c478bd9Sstevel@tonic-gate /* All Rights Reserved */ 29*7c478bd9Sstevel@tonic-gate 30*7c478bd9Sstevel@tonic-gate #include "uucp.h" 31*7c478bd9Sstevel@tonic-gate 32*7c478bd9Sstevel@tonic-gate /* Configurable parameters */ 33*7c478bd9Sstevel@tonic-gate 34*7c478bd9Sstevel@tonic-gate GLOBAL char _ProtoCfg[40]=""; /* protocol string from Config file */ 35*7c478bd9Sstevel@tonic-gate 36*7c478bd9Sstevel@tonic-gate /* Non-configurable parameters */ 37*7c478bd9Sstevel@tonic-gate 38*7c478bd9Sstevel@tonic-gate GLOBAL int Ifn, Ofn; 39*7c478bd9Sstevel@tonic-gate GLOBAL int Sgrades = FALSE; 40*7c478bd9Sstevel@tonic-gate GLOBAL int Debug = 0; 41*7c478bd9Sstevel@tonic-gate GLOBAL int SizeCheck = 0; /* Ulimit checking supported flag */ 42*7c478bd9Sstevel@tonic-gate GLOBAL long RemUlimit = 0; /* Ulimit of remote if supported */ 43*7c478bd9Sstevel@tonic-gate GLOBAL int Restart = 0; /* checkpoint restart supported flag */ 44*7c478bd9Sstevel@tonic-gate GLOBAL uid_t Uid, Euid; /* user-id and effective-uid */ 45*7c478bd9Sstevel@tonic-gate GLOBAL long Ulimit; 46*7c478bd9Sstevel@tonic-gate GLOBAL mode_t Dev_mode; /* save device mode here */ 47*7c478bd9Sstevel@tonic-gate GLOBAL char Progname[NAMESIZE]; 48*7c478bd9Sstevel@tonic-gate GLOBAL char Pchar; 49*7c478bd9Sstevel@tonic-gate GLOBAL char Grade = 'Z'; 50*7c478bd9Sstevel@tonic-gate GLOBAL char Rmtname[MAXFULLNAME]; 51*7c478bd9Sstevel@tonic-gate GLOBAL char JobGrade[MAXBASENAME+1] = { NULLCHAR }; 52*7c478bd9Sstevel@tonic-gate GLOBAL char RemSpool[MAXFULLNAME]; /* spool subdirectory for remote system */ 53*7c478bd9Sstevel@tonic-gate GLOBAL char User[MAXFULLNAME]; 54*7c478bd9Sstevel@tonic-gate GLOBAL char Uucp[NAMESIZE]; 55*7c478bd9Sstevel@tonic-gate GLOBAL char Loginuser[NAMESIZE]; 56*7c478bd9Sstevel@tonic-gate GLOBAL char Myname[MAXBASENAME+1]; 57*7c478bd9Sstevel@tonic-gate GLOBAL char Wrkdir[MAXFULLNAME]; 58*7c478bd9Sstevel@tonic-gate GLOBAL char Logfile[MAXFULLNAME]; 59*7c478bd9Sstevel@tonic-gate GLOBAL char *Spool = SPOOL; 60*7c478bd9Sstevel@tonic-gate GLOBAL char *Pubdir = PUBDIR; 61*7c478bd9Sstevel@tonic-gate GLOBAL char **Env; 62*7c478bd9Sstevel@tonic-gate GLOBAL char *Shchar = ";&|<>^`\\()'\"{}\t\n "; 63*7c478bd9Sstevel@tonic-gate 64*7c478bd9Sstevel@tonic-gate 65*7c478bd9Sstevel@tonic-gate GLOBAL long Retrytime = 0; /* default is to use exponential backoff */ 66*7c478bd9Sstevel@tonic-gate GLOBAL struct nstat Nstat; 67*7c478bd9Sstevel@tonic-gate GLOBAL char Dc[50]; /* line name */ 68*7c478bd9Sstevel@tonic-gate GLOBAL int Seqn; /* sequence # */ 69*7c478bd9Sstevel@tonic-gate GLOBAL int Role; 70*7c478bd9Sstevel@tonic-gate GLOBAL char *Bnptr; /* used when BASENAME macro is expanded */ 71*7c478bd9Sstevel@tonic-gate GLOBAL char Jobid[NAMESIZE] = ""; /* Jobid of current C. file */ 72*7c478bd9Sstevel@tonic-gate GLOBAL int Uerror; /* global error code */ 73*7c478bd9Sstevel@tonic-gate 74*7c478bd9Sstevel@tonic-gate GLOBAL void (*genbrk)(); 75*7c478bd9Sstevel@tonic-gate 76*7c478bd9Sstevel@tonic-gate GLOBAL int Verbose = 0; /* only for cu and ct to change */ 77*7c478bd9Sstevel@tonic-gate 78*7c478bd9Sstevel@tonic-gate /* used for READANY and READSOME macros */ 79*7c478bd9Sstevel@tonic-gate GLOBAL struct stat __s_; 80*7c478bd9Sstevel@tonic-gate 81*7c478bd9Sstevel@tonic-gate /* messages */ 82*7c478bd9Sstevel@tonic-gate GLOBAL char *Ct_OPEN = "CAN'T OPEN"; 83*7c478bd9Sstevel@tonic-gate GLOBAL char *Ct_WRITE = "CAN'T WRITE"; 84*7c478bd9Sstevel@tonic-gate GLOBAL char *Ct_READ = "CAN'T READ"; 85*7c478bd9Sstevel@tonic-gate GLOBAL char *Ct_CREATE = "CAN'T CREATE"; 86*7c478bd9Sstevel@tonic-gate GLOBAL char *Ct_ALLOCATE = "CAN'T ALLOCATE"; 87*7c478bd9Sstevel@tonic-gate GLOBAL char *Ct_LOCK = "CAN'T LOCK"; 88*7c478bd9Sstevel@tonic-gate GLOBAL char *Ct_STAT = "CAN'T STAT"; 89*7c478bd9Sstevel@tonic-gate GLOBAL char *Ct_CHOWN = "CAN'T CHOWN"; 90*7c478bd9Sstevel@tonic-gate GLOBAL char *Ct_CHMOD = "CAN'T CHMOD"; 91*7c478bd9Sstevel@tonic-gate GLOBAL char *Ct_LINK = "CAN'T LINK"; 92*7c478bd9Sstevel@tonic-gate GLOBAL char *Ct_CHDIR = "CAN'T CHDIR"; 93*7c478bd9Sstevel@tonic-gate GLOBAL char *Ct_UNLINK = "CAN'T UNLINK"; 94*7c478bd9Sstevel@tonic-gate GLOBAL char *Wr_ROLE = "WRONG ROLE"; 95*7c478bd9Sstevel@tonic-gate GLOBAL char *Ct_CORRUPT = "CAN'T MOVE TO CORRUPTDIR"; 96*7c478bd9Sstevel@tonic-gate GLOBAL char *Ct_CLOSE = "CAN'T CLOSE"; 97*7c478bd9Sstevel@tonic-gate GLOBAL char *Ct_FORK = "CAN'T FORK"; 98*7c478bd9Sstevel@tonic-gate GLOBAL char *Fl_EXISTS = "FILE EXISTS"; 99*7c478bd9Sstevel@tonic-gate GLOBAL char *Ct_BADOWN = "BAD OWNER/PERMS"; 100*7c478bd9Sstevel@tonic-gate 101*7c478bd9Sstevel@tonic-gate GLOBAL char *UerrorText[] = { 102*7c478bd9Sstevel@tonic-gate /* SS_OK 0 */ "SUCCESSFUL", 103*7c478bd9Sstevel@tonic-gate /* SS_NO_DEVICE 1 */ "NO DEVICES AVAILABLE", 104*7c478bd9Sstevel@tonic-gate /* SS_TIME_WRONG 2 */ "WRONG TIME TO CALL", 105*7c478bd9Sstevel@tonic-gate /* SS_INPROGRESS 3 */ "TALKING", 106*7c478bd9Sstevel@tonic-gate /* SS_CONVERSATION 4 */ "CONVERSATION FAILED", 107*7c478bd9Sstevel@tonic-gate /* SS_SEQBAD 5 */ "BAD SEQUENCE CHECK", 108*7c478bd9Sstevel@tonic-gate /* SS_LOGIN_FAILED 6 */ "LOGIN FAILED", 109*7c478bd9Sstevel@tonic-gate /* SS_DIAL_FAILED 7 */ "DIAL FAILED", 110*7c478bd9Sstevel@tonic-gate /* SS_BAD_LOG_MCH 8 */ "BAD LOGIN/MACHINE COMBINATION", 111*7c478bd9Sstevel@tonic-gate /* SS_LOCKED_DEVICE 9 */ "DEVICE LOCKED", 112*7c478bd9Sstevel@tonic-gate /* SS_ASSERT_ERROR 10 */ "ASSERT ERROR", 113*7c478bd9Sstevel@tonic-gate /* SS_BADSYSTEM 11 */ "SYSTEM NOT IN Systems FILE", 114*7c478bd9Sstevel@tonic-gate /* SS_CANT_ACCESS_DEVICE 12 */ "CAN'T ACCESS DEVICE", 115*7c478bd9Sstevel@tonic-gate /* SS_DEVICE_FAILED 13 */ "DEVICE FAILED", 116*7c478bd9Sstevel@tonic-gate /* SS_WRONG_MCH 14 */ "WRONG MACHINE NAME", 117*7c478bd9Sstevel@tonic-gate /* SS_CALLBACK 15 */ "CALLBACK REQUIRED", 118*7c478bd9Sstevel@tonic-gate /* SS_RLOCKED 16 */ "REMOTE HAS A LCK FILE FOR ME", 119*7c478bd9Sstevel@tonic-gate /* SS_RUNKNOWN 17 */ "REMOTE DOES NOT KNOW ME", 120*7c478bd9Sstevel@tonic-gate /* SS_RLOGIN 18 */ "REMOTE REJECT AFTER LOGIN", 121*7c478bd9Sstevel@tonic-gate /* SS_UNKNOWN_RESPONSE 19 */ "REMOTE REJECT, UNKNOWN MESSAGE", 122*7c478bd9Sstevel@tonic-gate /* SS_STARTUP 20 */ "STARTUP FAILED", 123*7c478bd9Sstevel@tonic-gate /* SS_CHAT_FAILED 21 */ "CALLER SCRIPT FAILED", 124*7c478bd9Sstevel@tonic-gate /* SS_CALLBACK_LOOP 22 */ "CALLBACK REQUIRED - LOOP", 125*7c478bd9Sstevel@tonic-gate }; 126