/* uucp.h 5.11 86/02/12 */
* Determine local uucp name of this machine.
* Define one of the following:
* For UCB 4.1A and later systems, you will have the gethostname(2) call.
* If this call exists, define GETHOSTNAME.
* For USG 3.0 and later systems, you will have the uname(2) call.
* If this call exists, define UNAME.
* Some systems have a line of the form '#define sysname "myuucpname",'
* in the file /usr/include/whoami.h, to identify their machine.
* If your site does that, define WHOAMI.
* If your site has <whoami.h>, but you do not want to read
* that file every time uucp runs, you can compile sysname into uucp.
* This is faster and more reliable, but binaries do not port.
* If you want to do that, define CCWHOAMI.
* Some systems put the local uucp name in a single-line file
* named /etc/uucpname or /local/uucpname.
* If your site does that, define UUNAME.
* Systems running 3Com's UNET will have the getmyhname() call.
* If you want to, define GETMYHNAME.
* You should also define MYNAME to be your uucp name.
* For each of the above that are defined, uucp checks them in order.
* It stops on the first method that returns a non null name.
* If everything fails, it uses "unknown" for the system name.
/* #define GETMYHNAME /**/
/* If the above fails ... */
* If you have it, include <sysexits.h> to use exit
* codes that will be understood by sendmail.
* Otherwise, define EX_NOHOST, EX_CANTCREAT, and EX_NOINPUT.
/*#define EX_NOINPUT 66 /**/
/*#define EX_NOHOST 68 /**/
/*#define EX_CANTCREAT 73 /**/
* Define the various kinds of connections to include.
* The complete list is in the condevs array in condevs.c
#define ATT2224 /* AT&T 2224 */
#define BSDTCP /* 4.2bsd or 2.9bsd TCP/IP */
#define CDS224 /* Concord Data Systems 2400 */
/* #define DATAKIT /* ATT's datakit */
#define DF02 /* Dec's DF02/DF03 */
#define DF112 /* Dec's DF112 */
#define DN11 /* "standard" DEC dialer */
#define HAYES /* Hayes' Smartmodem */
#define HAYES2400 /* Hayes' 2400 baud Smartmodem */
/* #define MICOM /* Micom Mux port */
#define NOVATION /* Novation modem */
#define PAD /* X.25 PAD */
#define PENRIL /* PENRIL Dialer */
/* #define PNET /* Purdue network */
#define RVMACS /* Racal-Vadic MACS 820 dialer, 831 adaptor */
/* #define SYTEK /* Sytek Local Area Net */
/* #define UNETTCP /* 3Com's UNET */
#define USR2400 /* USRobotics Courier 2400 */
#define VA212 /* Racal-Vadic 212 */
#define VA811S /* Racal-Vadic 811S dialer, 831 adaptor */
#define VA820 /* Racal-Vadic 820 dialer, 831 adaptor */
#define VADIC /* Racal-Vadic 345x */
#define VENTEL /* Ventel Dialer */
#define VMACS /* Racal-Vadic MACS 811 dialer, 831 adaptor */
#if defined(USR2400) && !defined(HAYES)
#if defined(UNETTCP) || defined(BSDTCP)
* We need a timer to write slowly to certain modems.
* and for generating breaks.
* define INTERVALTIMER to use 4.[23] bsd interval timer.
* define FASTTIMER if you have the nap() system call.
* define FTIME if you have the ftime() system call.
* define BUSYLOOP if you must do a busy loop.
* Look at uucpdelay() in condevs.c for details.
* If your site is using "ndir.h" to retrofit the Berkeley
* directory reading routines, define NDIR.
* You will probably also have to set LIBNDIR in Makefile.
* Otherwise, <dir.h> is assumed to have the Berkeley directory definitions.
* If yours is a BTL system III, IV, V or so-on site, define USG.
* If you are running 4.3bsd, define BSD4_3 and BSD4_2
* If you are just running 4.2bsd, define BSD4_2
* If you are running the BRL version of 4.2BSD define BRL4_2, NOT BSD4_3
#if defined(BRL4_2) && !defined(BSD4_2)
* If you are running 2.9bsd, define BSD2_9
* If you are using /etc/inetd with 4.2bsd, define BSDINETD
* If you are running 4.3bsd or BRL 4.2, you are running the inetd
#if (defined(BSD4_3) || defined(BRL4_2)) && !defined(BSDINETD)
#endif (BSD4_3 ||BRL4_2) && !BSDINETD
/*#define VMSDTR /* Turn on modem control on vms(works DTR) for
develcon and gandalf ports to gain access */
* If you want to use the same modem for dialing in and out define
* DIALINOUT to be the localtion of the acucntrl program
/* #define DIALINOUT "/usr/lib/uucp/acucntrl" /**/
* If you want all ACU lines to be DIALINOUT, define ALLACUINOUT
/* #define ALLACUINOUT /**/
/* define the value of WFMASK - for umask call - used for all uucp work files */
/* define the value of LOGMASK - for LOGFILE, SYSLOG, ERRLOG */
/* All files are given at least the following at the final destination */
/* It is also the default mode, so '666' is recommended */
/* and 444 is minimal (minimally useful, maximally annoying) */
* Define NOSTRANGERS if you don't want to accept transactions from
* sites that are not in your L.sys file (see cico.c)
* Traditionally LCK (lock) files have been kept in /usr/spool/uucp.
* If you want that define LOCKDIR to be ".".
* If you want the locks kept in a subdirectory, define LOCKDIR as "LCK".
* Good news about LCK. subdirectory: the directory can be mode 777 so
* unprivileged programs can share the uucp locking system,
* and the subdirectory keeps down clutter in the main directory.
* The BAD news: you have to change 'tip' and another programs that
* know where the LCK files are kept, and you have to change your /etc/rc
* if your rc cleans out the lock files (as it should).
/*#define LOCKDIR "LCK" /**/
* If you want uucp and uux to copy the data files by default,
* don't define DONTCOPY (This is the way older 4bsd uucps worked)
* If you want uucp and uux to use the original files instead of
* copies, define DONTCOPY (This is the way System III and V work)
* Very few (that I know of) systems use the sequence checking feature.
* If you are not going to use it (hint: you are not),
* do not define GNXSEQ. This saves precious room on PDP11s.
/*#define GNXSEQ /* comment this out to save space */
* If you want the logfile stored in a file for each site instead
* define LOGBYSITE as the directory to put the files in
/*#define LOGBYSITE "/usr/spool/uucp/LOG" /**/
#define XQTDIR "/usr/spool/uucp/XTMP"
#define SQFILE "/usr/lib/uucp/SQFILE"
#define SQTMP "/usr/lib/uucp/SQTMP"
#define SLCKTIME 5400 /* system/device timeout (LCK.. files) */
#define SEQFILE "/usr/lib/uucp/SEQF"
#define SYSFILE "/usr/lib/uucp/L.sys"
#define DEVFILE "/usr/lib/uucp/L-devices"
#define DIALFILE "/usr/lib/uucp/L-dialcodes"
#define USERFILE "/usr/lib/uucp/USERFILE"
#define CMDFILE "/usr/lib/uucp/L.cmds"
#define ALIASFILE "/usr/lib/uucp/L.aliases"
#define SPOOL "/usr/spool/uucp"
#define SYSLOG "/usr/spool/uucp/SYSLOG"
#define PUBDIR "/usr/spool/uucppublic"
#define LOGFILE "/usr/spool/uucp/LOGFILE"
#define ERRLOG "/usr/spool/uucp/ERRLOG"
#define CMDSDIR "/usr/spool/uucp/C."
#define DATADIR "/usr/spool/uucp/D."
#define XEQTDIR "/usr/spool/uucp/X."
#define CORRUPT "CORRUPT"
#define TRYCALLS 2 /* number of tries to dial call */
#define DEBUG(l, f, s) if (Debug >= l) fprintf(stderr, f, s); else
#define ASSERT(e, s1, s2, i1) if (!(e)) {assert(s1, s2, i1);cleanup(FAIL);}else
#define delock(dev) rmlock(dev)
#define mlock(dev) ulockf(dev, SLCKTIME)
#define STBNULL (struct sgttyb *) 0
#define SYSNSIZE (MAXBASENAME-1-1-1-4)
#define EOTMSG "\04\n\04\n"
#define MAIL "/usr/lib/sendmail"
#define UUCICO "/usr/lib/uucp/uucico"
#define UUXQT "/usr/lib/uucp/uuxqt"
/* call connect fail stuff */
#define F_CLASS 3 /* an optional prefix and the speed */
#define MAXPH 60 /* maximum length of a phone number */
/* This structure tells how to get to a device */
char *CU_meth
; /* method, such as 'ACU' or 'DIR' */
char *CU_brand
; /* brand, such as 'Hayes' or 'Vadic' */
int (*CU_gen
)(); /* what to call to search for brands */
int (*CU_open
)(); /* what to call to open brand */
int (*CU_clos
)(); /* what to call to close brand */
/* This structure tells about a device */
#define D_calldev D_arg[2]
/* system status stuff */
/* fail/retry parameters */
/* stuff for command execution */
#define WKDSIZE 100 /* size of work dir name */
extern char Myfullname
[];
extern struct condev condevs
[];
extern char DLocal
[], DLocalX
[], *subfile(), *subdir();
/* Commonly called routines which return non-int value */
extern char *ttyname(), *strcpy(), *strcat(), *index(), *rindex(),
*fgets(), *calloc(), *malloc(), *fdig(), *ttyname(),
*cfgets(), *getwd(), *strpbrk(), *strncpy();
extern char _FAILED
[], CANTOPEN
[], DEVNULL
[];
/* This horrible gross kludge is the only way I know to
* convince lint that signal(SIGINT,SIG_IGN) is legal. It hates SIG_IGN.