1: /*************************************************************************** 2: * This program is Copyright (C) 1986, 1987, 1988 by Jonathan Payne. JOVE * 3: * is provided to you without charge, and with no warranty. You may give * 4: * away copies of JOVE, including sources, provided that this notice is * 5: * included in all the files. * 6: ***************************************************************************/ 7: 8: #define TUNED /* don't touch this */ 9: 10: /*#define MAC 1 /* alas, there is no command line for this */ 11: 12: #ifdef MAC 13: # define defined(x) (x) /* take this out and you're in trouble... */ 14: #endif 15: 16: 17: /* The operating system (MSDOS or MAC) must be defined by this point. 18: IBMPC is defined in the Makefile. All MAC defines should be 19: numerical (i.e. #define MAC 1) so that defined() will work. */ 20: 21: #if !(defined(MSDOS) || defined(MAC)) 22: # define UNIX 23: #endif 24: 25: 26: #ifdef UNIX 27: /* pick your version of Unix */ 28: # define BSD4_2 /* Berkeley 4.2 BSD */ 29: # define BSD4_3 /* Berkeley 4.3 BSD and 2.10 BSD */ 30: /*# define SYSV /* for (System III/System V) UNIX systems */ 31: /*# define SYSVR2 /* system 5, rel. 2 */ 32: /* M_XENIX is defined by the Compiler */ 33: #endif /* UNIX */ 34: 35: #ifdef SYSVR2 36: # ifndef SYSV 37: # define SYSV /* SYSV is a subset of SYSVR2 */ 38: # endif 39: #endif 40: 41: #ifdef BSD4_3 42: # ifndef BSD4_2 43: # define BSD4_2 /* 4.3 is 4.2 only different. */ 44: # endif 45: #endif 46: 47: #ifdef M_XENIX 48: # define iAPX286 1 /* we have segments. */ 49: #endif 50: 51: #ifdef MSDOS 52: # ifdef M_I86LM /* large memory model */ 53: # define NBUF 64 54: # else 55: # define NBUF 3 56: # define SMALL 57: # endif 58: # define BUFSIZ 512 /* or 1024 */ 59: #endif 60: 61: #ifdef UNIX 62: # if vax || sel || sun || pyr || mc68000 || tahoe || iAPX286 || GOULD_NP1 || u3b2 || accel || elxsi || apollo 63: # define VMUNIX /* Virtual Memory UNIX */ 64: # define BUFSIZ 1024 65: # if iAPX286 66: # define NBUF 48 /* NBUF*BUFSIZ must be less than 64 kB */ 67: # else 68: # define NBUF 64 /* number of disk buffers */ 69: # endif /* iAPX286 */ 70: # else 71: # define SMALL 72: # define BUFSIZ 512 /* or 1024 */ 73: # define NBUF 3 74: # endif 75: # ifdef pdp11 76: /* 77: * On most systems, defining LOAD_AV will haul in stdio since 78: * nlist(3) uses stdio. But under 2.10BSD, there's a system call 79: * to get the load average. This means that only the getpwent code 80: * in get_hdir in io.c causes stdio to be loaded. Since that's 6Kb 81: * of text space, it's better to use the less general version of 82: * get_hdir. This merely points out that NO standard library 83: * routine should use a system as large as stdio. 84: */ 85: # define NOGETPWENT 86: # endif 87: # 88: # define LOAD_AV /* Use the load average for various commands. 89: # Do not define this if you lack a load average 90: # system call and kmem is read protected. */ 91: # 92: # define VFORK /* define this if you have vfork(2) */ 93: # 94: # define JOB_CONTROL /* if you have job stopping */ 95: # 96: # ifdef JOB_CONTROL 97: # define MENLO_JCL 98: # define IPROCS /* Interactive processes only work with JOB_CONTROL. */ 99: # endif 100: # 101: # define SUBPROCS /* only on UNIX systems (NOT INCORPORATED YET) */ 102: #endif /* UNIX */ 103: 104: 105: #ifdef SMALL 106: typedef unsigned short disk_line; 107: #else 108: # if defined(iAPX286) || defined(MSDOS) || defined(MAC) 109: typedef long disk_line; 110: # else 111: typedef int disk_line; 112: # endif /* iAPX286 */ 113: #endif /* SMALL */ 114: 115: #define BACKUPFILES /* enable the backup files code */ 116: #define F_COMPLETION /* filename completion */ 117: #define ABBREV /* word abbreviation mode */ 118: #if !(defined(IBMPC) || defined(MAC)) 119: # define ANSICODES /* extra commands that process ANSI codes */ 120: # define ID_CHAR /* include code to IDchar */ 121: # define WIRED_TERMS /* include code for wired terminals */ 122: #endif 123: #define CHDIR /* cd command and absolute pathnames */ 124: #define LISP /* include the code for Lisp Mode */ 125: #define CMT_FMT /* include the comment formatting routines */ 126: 127: #ifdef UNIX 128: # define BIFF /* if you have biff (or the equivalent) */ 129: # define KILL0 /* kill(pid, 0) returns 0 if proc exists */ 130: # define SPELL /* spell words and buffer commands */ 131: #if !sun && !iAPX286 132: # define MY_MALLOC /* use more memory efficient malloc (not on suns) */ 133: #endif 134: #endif 135: 136: #define DFLT_MODE 0666 /* file will be created with this mode */ 137: 138: #ifdef BSD4_3 139: # define RESHAPING /* enable windows to handle reshaping */ 140: #endif 141: 142: #ifdef BSD4_2 /* byte_copy(from, to, len) */ 143: # define byte_copy bcopy /* use fast assembler version */ 144: #endif 145: 146: #ifdef IPROCS 147: # ifdef BSD4_2 148: # define INPUT_SIG SIGIO 149: # else 150: # define PIPEPROCS /* do it with pipes */ 151: # define INPUT_SIG SIGTINT 152: # endif 153: #endif 154: 155: #ifndef VFORK 156: # define vfork fork 157: #endif 158: 159: #if defined(SYSV) || defined(MSDOS) || defined(M_XENIX) 160: # define byte_copy(s2, s1, n) memcpy(s1, s2, n) 161: # define bzero(s, n) memset(s, 0, n) 162: # define index strchr 163: # define rindex strrchr 164: #endif 165: 166: #ifdef MAC 167: # undef F_COMPLETION /* can't do it with spaces in filenames */ 168: # undef CHDIR 169: # define CHDIR 1 170: # define rindex strrchr 171: # define index strchr 172: # define bzero(s,n) setmem(s,n,0) 173: # define LINT_ARGS 174: # define NBUF 64 175: # define BUFSIZ 1024 176: #endif 177: 178: /* These are here since they define things in tune.c. If you add things to 179: tune.c, add them here too, if necessary. */ 180: 181: #ifndef NOEXTERNS 182: extern char 183: *d_tempfile, 184: *p_tempfile, 185: *Recover, 186: *Joverc, 187: 188: #ifdef PIPEPROCS 189: *Portsrv, 190: #endif 191: 192: #ifdef MSDOS 193: CmdDb[], 194: #else 195: *CmdDb, 196: #endif 197: 198: TmpFilePath[], 199: Shell[], 200: ShFlags[]; 201: #endif /* NOEXTERNS */ 202: 203: #ifdef BSD4_2 204: extern long SigMask; 205: 206: # define sighold(s) sigblock(SigMask |= 1L << ((s)-1)) 207: # define sigrelse(s) sigsetmask(SigMask &= ~(1L << ((s)-1))) 208: #endif