home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume14 / jove4.9 / part02 / tune.h < prev    next >
C/C++ Source or Header  |  1988-04-25  |  5KB  |  185 lines

  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
  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. #   endif
  74. #
  75. #   define LOAD_AV    /* Use the load average for various commands.
  76. #               Do not define this if you lack a load average
  77. #               system call and kmem is read protected. */
  78. #
  79. #   define JOB_CONTROL    /* if you have job stopping */
  80. #
  81. #   ifdef JOB_CONTROL
  82. #       define MENLO_JCL
  83. #       define IPROCS    /* Interactive processes only work with JOB_CONTROL. */
  84. #   endif
  85. #
  86. #   define SUBPROCS    /* only on UNIX systems (NOT INCORPORATED YET) */
  87. #endif /* UNIX */
  88.  
  89.  
  90. #ifdef SMALL
  91.     typedef    unsigned short    disk_line;
  92. #else
  93. #   if defined(iAPX286) || defined(MSDOS) || defined(MAC)
  94.     typedef long    disk_line;
  95. #   else
  96.     typedef    int    disk_line;
  97. #   endif /* iAPX286 */
  98. #endif /* SMALL */
  99.  
  100. #define BACKUPFILES    /* enable the backup files code */
  101. #define F_COMPLETION    /* filename completion */
  102. #define ABBREV        /* word abbreviation mode */
  103. #if !(defined(IBMPC) || defined(MAC))
  104. #   define ANSICODES    /* extra commands that process ANSI codes */
  105. #   define ID_CHAR    /* include code to IDchar */
  106. #   define WIRED_TERMS    /* include code for wired terminals */
  107. #endif
  108. #define CHDIR        /* cd command and absolute pathnames */
  109. #define LISP        /* include the code for Lisp Mode */
  110. #define CMT_FMT        /* include the comment formatting routines */
  111.  
  112. #ifdef UNIX
  113. #   define BIFF        /* if you have biff (or the equivalent) */
  114. #   define KILL0    /* kill(pid, 0) returns 0 if proc exists */
  115. #   define SPELL    /* spell words and buffer commands */
  116. #if !sun && !iAPX286
  117. #   define MY_MALLOC    /* use more memory efficient malloc (not on suns) */
  118. #endif
  119. #endif
  120.  
  121. #define DFLT_MODE    0666    /* file will be created with this mode */
  122.  
  123. #ifdef BSD4_3
  124. #   define RESHAPING    /* enable windows to handle reshaping */
  125. #endif
  126.  
  127. #ifdef BSD4_2            /* byte_copy(from, to, len) */
  128. #   define    byte_copy bcopy    /* use fast assembler version */
  129. #endif
  130.  
  131. #ifdef IPROCS
  132. #   ifdef BSD4_2
  133. #    define INPUT_SIG    SIGIO
  134. #   else
  135. #    define PIPEPROCS        /* do it with pipes */
  136. #    define INPUT_SIG    SIGTINT
  137. #   endif
  138. #endif
  139.  
  140. #if defined(SYSV) || defined(MSDOS) || defined(M_XENIX)
  141. #   define byte_copy(s2, s1, n)    memcpy(s1, s2, n)
  142. #   define bzero(s, n)    memset(s, 0, n)
  143. #   define index    strchr
  144. #   define rindex    strrchr
  145. #endif
  146.  
  147. #ifdef MAC
  148. #    undef F_COMPLETION    /* can't do it with spaces in filenames */
  149. #    undef CHDIR
  150. #    define CHDIR 1
  151. #    define rindex strrchr
  152. #    define index strchr
  153. #    define bzero(s,n) setmem(s,n,0)
  154. #    define LINT_ARGS
  155. #    define NBUF 64
  156. #    define BUFSIZ 1024
  157. #endif
  158.  
  159. /* These are here since they define things in tune.c.  If you add things to
  160.    tune.c, add them here too, if necessary. */
  161.  
  162. #ifndef NOEXTERNS
  163. extern char
  164.     *d_tempfile,
  165.     *p_tempfile,
  166.     *Recover,
  167.     *Joverc,
  168.  
  169. #ifdef PIPEPROCS
  170.     *Portsrv,
  171. #endif
  172.  
  173. #ifdef MSDOS
  174.     CmdDb[],
  175. #else
  176.     *CmdDb,
  177. #endif
  178.  
  179.     TmpFilePath[],
  180.     Shell[],
  181.     ShFlags[];
  182. #endif /* NOEXTERNS */
  183.  
  184.  
  185.