#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 the ESIX System/VR4.  Define or undef the following cs
* appropriate:
*/
#undef  BSD     /* Any BSD */
#undef  ULTRIX  /* [jc 89/12/19] */
#undef  Sequent /* Sequent Dynix */
#undef  SUN     /* SunOS */
#undef  SYS5    /* Any Sys/V */
#undef  LINUX   /* Any linux */
#define OSF1    /* OSF1 on Alpha  */
#undef  HP      /* Hewlett/Packard's HP-UX */
#undef  SG      /* Silicon Graphics  */
#undef  IRIX    /* Silicon Graphics Irix */

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* These say whether to compile the code for talking to FTP and  VFS  servers.
* The  CS/CS  code  includes  the TCP and UDP code.  If any of the other four
* protocols is enabled here, you must also set CS (or CS) to 1.
*/
#define CS   1 /* Compile the Content Server code */
#define FTP  1 /* Compile the File Transfer Protocol code */
#define HTTP 1 /* Compile the HTTP code */
#define TCP  1 /* Compile the Transmission Control Protocol code */
#define UDP  1 /* Compile the User Datagram Protocol code */
#define VFS  0 /* Compile the Video File System code */

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Here's a kludge for handling byte-count fields.  This is hard to make really
* portable, because vendors make such subtle changes to size_t or don't define
* it at all.
*/
#ifndef Sizt
#define Sizt unsigned long
#endif
#define MEMS size_t	/* Memory unit size required by malloc() */

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* This says whether to compile the code for talking to remote servers.
*/
#define USE_peer 1

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Some systems can't compile any of the termio stuff properly if  we  say  we
* want POSIX compliance.
*/
#undef	POSIX_SOURCE 	/* Encourage the use of the POSIX standard */
#undef	_POSIX_SOURCE 	/* Several names are used (of course ;-) */

/* #define NCC 8	** required by termio.h but not defined for POSIX */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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.
*/
#undef	USE_sgtty
#define USE_termio
#undef	USE_termios
#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

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Define exactly one to say which directory package to use:
*/
#undef	USE_direct
#undef	USE_dirent

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Does this system use /etc/shadow and the getspent(3C) routines?
*/
#define USE_shadow

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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		/* There's a bcopy() in the system library */
#define USE_bcopy 1		/* Use the bcopy() in the system library */
#define HAS_bzero 1		/* There's a bcopy() in the system library */
#define USE_bzero 1		/* Use the bcopy() in library (0 means use ours) */
#define HAS_getutent  0
#define HAS_getutline 0
#define HAS_INAD		/* The struct in_addr is defined here */
#define HAS_poll 1
#define HAS_pututent  0
#define HAS_pututline 0
#define HAS_rename		/* The rename() call exists and IS ATOMIC!!! */
#define HAS_select    1	/* The select() call exists */
#define HAS_setutent  0
#define HAS_setutline 0
#define HAS_socket  1
#define USE_socket  1
#define USE_stdlib  1
#define HAS_strtok  1	/* Some "standard" C libraries lack this */
#define HAS_S_un    0	/* Is this IPaddr struct defined here? */
#define HAS_ttyslot 1
#define USE_alarm   0	/* The alarm doesn't always get delivered on Sys/V */
#define USE_jmp     0	/* Setjmp may or may not cooperate with Alarm */

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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	/* Most USG systems */
#define USE_regex	/* Most USG systems */

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* At least one of these should be true,  to  determine  which  way  we
* should  check  for  input.   If  both  are true, then we will need a
* runtime way of telling the program which to use.
*/
#define USE_poll     1 /* SYS/V polling scheme (flakey on some BSD systems) */
#define USE_select   1 /* BSD   polling scheme (flakey on some Sys/V releases) */
#define USE_pthreads 0 /* OSF1 pthreads scheme (flakey everywhere ;-) */

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Define exactly one to say which call to use to set timestamps:
*/
#define USE_utime	/* Most SYS/V-type systems */
#undef	USE_utimes	/* Most BSD-type systems */

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Some symbols to say which networking packages 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	"sys_stdio.h"
#endif
#ifndef OPEN_MAX
#include	<limits.h>
#endif
#ifndef _STRING_H
#include	<string.h>
#endif

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*/
#define LITTLENDIAN	/* 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.
*/
#define BNU    0	/* 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
