#ifndef local_h
#define local_h
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* All the per-architecture stuff has been moved to this one header file.  This
* is a header file for FREEBSD.  Define or undef the following as appropriate:
*/
#define	FREEBSD		/* Any FREEBSD */
#undef	BSD			/* This gets defined in <sys/param.h> */
#undef	BSV43		/* 4.3 BSD */
#undef	ULTRIX		/* [jc 89/12/19] */
#undef	ULTRIX2_2	/* Ultrix 2.2 or 2.0 */
#undef	ULTRIX3_0	/* Ultrix 3.0 */
#undef	SUN3_3PLUS	/* Sun OS 3.3 or greater, but < 4.0 */
#undef	Sequent		/* Sequent Dynix */
#undef	SUN40		/* Sun OS 4.0 */
#undef	SUN386		/* Sun 386i */
#undef	SUN40_386	/* Sun 386i with 4.0 */
#undef	SYS5		/* Any Sys/V [jc 89/12/12] */
#undef	SYS5_2		/* Sys/V Release 2 [jc 90/06/08] */
#undef	SYS5_3		/* Sys/V Release 3 [jc 90/06/08] */
#undef	SYS5_4		/* Sys/V Release 4 [jc 90/06/08] */
#undef	ESIX		/* Sys/V Release 3 or 4 from Everex */
#undef	ESIX3		/* Sys/V Release 3 from Everex */
#undef	ESIX4		/* Sys/V Release 4 from Everex */
#undef	Linux 1		/* Any linux [jc 96/2/5] */
#undef	pentium 1	/* Any pentium-based machine */
#undef	HP			/* Hewlett/Packard */
#undef	HP9000		/* Hewlett/Packard 9000 */
#undef	HP9000s300	/* Hewlett/Packard 9000s300 */
#undef	SG		/* Silicon Graphics [jc 89/12/12] */
#undef	SG_IRIS3030	/* Silicon Graphics Iris 3030 [jc 89/12/12] */

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Define exactly one of the following, to tell  uutty  which  of  the  various
* terminal interface packages ("line disciplines") to use. See the makeraw and
* makesane modules for the main uses of these.  Other packages might make  use
* of these symbols to gain more portability.
*/
#define	USE_sgtty   0
#define USE_termio  0
#define	USE_termios 1

#define DTR_time    3	/* How long to keep DTR low - see DTRdu() */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Define one of the following, to tell uutty how to determine this machine's
* symbolic name.
*/
#undef  USE_gethostname 
#define USE_utsname 1 

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Define exactly one to say which directory package to use:
*/
#undef  USE_direct
#define USE_dirent 1
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Does this system use /etc/shadow and the getspent(3C) routines?
*/
#define USE_shadow 1
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Here are some symbols to tell the compiler what library routines exist here.
* On systems where they are missing, we need to do them ourself, or at least
* implement some minimal part of the functionality.  If you have the "locsym"
* perl program, you can answer these very quickly.
*/
#define	HAS_bcopy 1	/* Usable bcopy() in library */
#define	HAS_bzero 1	/* Usable bcopy() in library */
#define	HAS_lstat 1	/* Has lstat() call distinct from stat() */
#undef  HAS_getutent
#undef  HAS_getutline
#define HAS_INAD 1	/* The struct in_addr is defined here */
#undef	HAS_poll
#undef	USE_poll
#undef  HAS_pututent
#undef  HAS_pututline
#define HAS_rename 1	/* The rename() call exists and IS ATOMIC!!! */
#define HAS_select 1
#define	HAS_select 1	/* The select() call exists */
#undef  HAS_setutent
#undef  HAS_setutline
#define HAS_socket 1
#define USE_socket 1
#define USE_stdlib 1
#define	HAS_strtok 1	/* Some "standard" C libraries lack this */
#undef	HAS_S_un	/* Is this IPaddr struct defined here? */
#define HAS_ttyslot 1
#undef  HAS_wait3	/* If not, we'll try to use wait() */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Pick a set of these that works on your system:
*/
#undef	USE_re_comp	/* Most BSD systems */
#undef	USE_re_exec	/* Most BSD systems */
#define	USE_regcmp 1	/* Most USG systems */
#define	USE_regex 1	/* Most USG systems */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Exactly one of these should be defined, to determine  which  way  we
* should check for input:
*/
#undef	USE_alarm	/* The alarm doesn't always get delivered on Sys/V */
#undef	USE_jmp		/* Setjmp may or may not cooperate with Alarm */
#undef	USE_poll	/* Streams polling scheme, missing on some BSD releases */
#define	USE_select 1	/* BSD polling scheme, flakey on some Sys/V releases */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Define exactly one to say which call to use to set timestamps:
*/
#define USE_utime 1	/* Most SYS/V-type systems */
#undef  USE_utimes	/* Most BSD-type systems */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Some symbols to say whether networking stuff like Select() are enabled.
*/
#define    NET 1	/* Generic networking stuff */
#define BSDNET 1	/* BSD-style networking stuff */
#define NFSNET 1	/* NFS-related networking stuff */
#define RFSNET 1	/* RFS-related networking stuff */
#define X25NET 0	/* X.25 networking stuff */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Here are some things that everyone always wants:
*/
#ifndef   FILE
#include <stdio.h>
#endif
/*
* So far, only linux and FREEBSD seem to have the _fileno field:
*/
#ifndef	fileno
static char* id_fileno = "*** define fileno ***";
#define	fileno(x)	((x)->_fileno)
#endif
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*/
#ifndef   OPEN_MAX
#include <limits.h>
#endif
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*/
#ifndef  _STRING_H
#include <string.h>
#endif
#ifndef   V_h
#include "V.h"
#endif
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*/
#define	LITTLENDIAN 1	/* Byte order 1234, low-order byte first */
#undef	BIGENDIAN	/* Byte order 4321, high-order first */
#undef	MIXEDENDIAN	/* Byte order 2143, on some 16-bit cpus */

#undef SYSLOG		/* BSD systems have the syslog package; others may, too */

#define	NULB (byte*)0	/* Null pointer (unsigned) */
#define	NULC (char*)0	/* Null pointer (signed) */
#define	NULP (void*)0	/* Null pointer (generic) */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*/
#ifndef MEMUNIT		/* Define memory chunk-size for str.h as 4 bytes */
#define MEMUNIT(n) (((int)(((int)(n)+3)>>2))<<2)
#endif
#define getime() Vtime()
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* We need to know where UUCP keeps its lockfiles, and put ours there, too.
*/
#undef	BNU    1	/* ATT's acronym for HDB UUCP */
#define LCKNEW 1	/* Use "LK." rather than "LCK.." lockfiles */
#define LCKDIR "/usr/spool/lock"
#define LCKPFX "LK."
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Here's some stuff to keep lint happy:
*/
extern int atoi();
extern int getpid();
extern int putenv();
extern void exit();
extern void _exit();

#endif
