2.11BSD/src/new/jove/tune.h
/***************************************************************************
* This program is Copyright (C) 1986, 1987, 1988 by Jonathan Payne. JOVE *
* is provided to you without charge, and with no warranty. You may give *
* away copies of JOVE, including sources, provided that this notice is *
* included in all the files. *
***************************************************************************/
#define TUNED /* don't touch this */
/*#define MAC 1 /* alas, there is no command line for this */
#ifdef MAC
# define defined(x) (x) /* take this out and you're in trouble... */
#endif
/* The operating system (MSDOS or MAC) must be defined by this point.
IBMPC is defined in the Makefile. All MAC defines should be
numerical (i.e. #define MAC 1) so that defined() will work. */
#if !(defined(MSDOS) || defined(MAC))
# define UNIX
#endif
#ifdef UNIX
/* pick your version of Unix */
# define BSD4_2 /* Berkeley 4.2 BSD */
# define BSD4_3 /* Berkeley 4.3 BSD and 2.10 BSD */
/*# define SYSV /* for (System III/System V) UNIX systems */
/*# define SYSVR2 /* system 5, rel. 2 */
/* M_XENIX is defined by the Compiler */
#endif /* UNIX */
#ifdef SYSVR2
# ifndef SYSV
# define SYSV /* SYSV is a subset of SYSVR2 */
# endif
#endif
#ifdef BSD4_3
# ifndef BSD4_2
# define BSD4_2 /* 4.3 is 4.2 only different. */
# endif
#endif
#ifdef M_XENIX
# define iAPX286 1 /* we have segments. */
#endif
#ifdef MSDOS
# ifdef M_I86LM /* large memory model */
# define NBUF 64
# else
# define NBUF 3
# define SMALL
# endif
# define BUFSIZ 512 /* or 1024 */
#endif
#ifdef UNIX
# if vax || sel || sun || pyr || mc68000 || tahoe || iAPX286 || GOULD_NP1 || u3b2 || accel || elxsi || apollo
# define VMUNIX /* Virtual Memory UNIX */
# define BUFSIZ 1024
# if iAPX286
# define NBUF 48 /* NBUF*BUFSIZ must be less than 64 kB */
# else
# define NBUF 64 /* number of disk buffers */
# endif /* iAPX286 */
# else
# define SMALL
# define BUFSIZ 512 /* or 1024 */
# define NBUF 3
# endif
# ifdef pdp11
/*
* On most systems, defining LOAD_AV will haul in stdio since
* nlist(3) uses stdio. But under 2.10BSD, there's a system call
* to get the load average. This means that only the getpwent code
* in get_hdir in io.c causes stdio to be loaded. Since that's 6Kb
* of text space, it's better to use the less general version of
* get_hdir. This merely points out that NO standard library
* routine should use a system as large as stdio.
*/
# define NOGETPWENT
# endif
#
# define LOAD_AV /* Use the load average for various commands.
# Do not define this if you lack a load average
# system call and kmem is read protected. */
#
# define VFORK /* define this if you have vfork(2) */
#
# define JOB_CONTROL /* if you have job stopping */
#
# ifdef JOB_CONTROL
# define MENLO_JCL
# define IPROCS /* Interactive processes only work with JOB_CONTROL. */
# endif
#
# define SUBPROCS /* only on UNIX systems (NOT INCORPORATED YET) */
#endif /* UNIX */
#ifdef SMALL
typedef unsigned short disk_line;
#else
# if defined(iAPX286) || defined(MSDOS) || defined(MAC)
typedef long disk_line;
# else
typedef int disk_line;
# endif /* iAPX286 */
#endif /* SMALL */
#define BACKUPFILES /* enable the backup files code */
#define F_COMPLETION /* filename completion */
#define ABBREV /* word abbreviation mode */
#if !(defined(IBMPC) || defined(MAC))
# define ANSICODES /* extra commands that process ANSI codes */
# define ID_CHAR /* include code to IDchar */
# define WIRED_TERMS /* include code for wired terminals */
#endif
#define CHDIR /* cd command and absolute pathnames */
#define LISP /* include the code for Lisp Mode */
#define CMT_FMT /* include the comment formatting routines */
#ifdef UNIX
# define BIFF /* if you have biff (or the equivalent) */
# define KILL0 /* kill(pid, 0) returns 0 if proc exists */
# define SPELL /* spell words and buffer commands */
#if !sun && !iAPX286
# define MY_MALLOC /* use more memory efficient malloc (not on suns) */
#endif
#endif
#define DFLT_MODE 0666 /* file will be created with this mode */
#ifdef BSD4_3
# define RESHAPING /* enable windows to handle reshaping */
#endif
#ifdef BSD4_2 /* byte_copy(from, to, len) */
# define byte_copy bcopy /* use fast assembler version */
#endif
#ifdef IPROCS
# ifdef BSD4_2
# define INPUT_SIG SIGIO
# else
# define PIPEPROCS /* do it with pipes */
# define INPUT_SIG SIGTINT
# endif
#endif
#ifndef VFORK
# define vfork fork
#endif
#if defined(SYSV) || defined(MSDOS) || defined(M_XENIX)
# define byte_copy(s2, s1, n) memcpy(s1, s2, n)
# define bzero(s, n) memset(s, 0, n)
# define index strchr
# define rindex strrchr
#endif
#ifdef MAC
# undef F_COMPLETION /* can't do it with spaces in filenames */
# undef CHDIR
# define CHDIR 1
# define rindex strrchr
# define index strchr
# define bzero(s,n) setmem(s,n,0)
# define LINT_ARGS
# define NBUF 64
# define BUFSIZ 1024
#endif
/* These are here since they define things in tune.c. If you add things to
tune.c, add them here too, if necessary. */
#ifndef NOEXTERNS
extern char
*d_tempfile,
*p_tempfile,
*Recover,
*Joverc,
#ifdef PIPEPROCS
*Portsrv,
#endif
#ifdef MSDOS
CmdDb[],
#else
*CmdDb,
#endif
TmpFilePath[],
Shell[],
ShFlags[];
#endif /* NOEXTERNS */
#ifdef BSD4_2
extern long SigMask;
# define sighold(s) sigblock(SigMask |= 1L << ((s)-1))
# define sigrelse(s) sigsetmask(SigMask &= ~(1L << ((s)-1)))
#endif