home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / OS2 / MAN11A.ZIP / src / config.h < prev    next >
C/C++ Source or Header  |  1994-01-04  |  6KB  |  249 lines

  1. /*
  2.  * config.h
  3.  *
  4.  * If you haven't read the README file, now might be a good time.
  5.  *
  6.  * This file is edited by configure, so you shouldn't have to.
  7.  * If that doesn't work, edit this file to match your site.
  8.  *
  9.  * Sorry it's so long, but there are lots of things you might want to
  10.  * customize for your site.
  11.  *
  12.  * Copyright (c) 1990, 1991, John W. Eaton.
  13.  *
  14.  * You may distribute under the terms of the GNU General Public
  15.  * License as specified in the file COPYING that comes with the man
  16.  * distribution.  
  17.  *
  18.  * John W. Eaton
  19.  * jwe@che.utexas.edu
  20.  * Department of Chemical Engineering
  21.  * The University of Texas at Austin
  22.  * Austin, Texas  78712
  23.  */
  24.  
  25. #ifdef COMPRESS
  26. #define DO_COMPRESS
  27. #define DO_UNCOMPRESS
  28. #endif
  29.  
  30. /*
  31.  * This is the size of a number of internal buffers.  It should
  32.  * probably not be less than 512.
  33.  */
  34. #ifndef BUFSIZ
  35. #define BUFSIZ 1024
  36. #endif
  37.  
  38. /*
  39.  * This should be at least the size of the longest path.
  40.  */
  41. #ifndef MAXPATHLEN
  42. #if defined(OS2)
  43. #define MAXPATHLEN 260
  44. #else
  45. #define MAXPATHLEN 1024
  46. #endif
  47. #endif
  48.  
  49. /*
  50.  * This is the maximum number of directories expected in the manpath.
  51.  */
  52. #ifndef MAXDIRS
  53. #define MAXDIRS 64
  54. #endif
  55.  
  56. /*
  57.  * This is the name of the group that owns the preformatted man pages.
  58.  * If you are running man as a setgid program, you should make sure
  59.  * that all of the preformatted man pages and the directories that
  60.  * they live in are readable and writeable and owned by this group.
  61.  */
  62. #ifdef SECURE_MAN_UID
  63. #define MAN_USER "@man_user@"
  64. #endif
  65.  
  66. /*
  67.  * It's probably best to define absolute paths to all of these.  If
  68.  * you don't, you'll be depending on the user's path to be correct
  69.  * when system () is called.  This can result in weird behavior that's
  70.  * hard to track down, especially after you forget how this program
  71.  * works...  If you don't have some of these programs, simply define
  72.  * them to be empty strings (i.e. "").  As a minimum, you must have
  73.  * nroff installed.
  74.  */
  75. #ifndef APROPOS
  76. #define APROPOS "apropos"
  77. #endif
  78.  
  79. #ifndef WHATIS
  80. #define WHATIS "whatis"
  81. #endif
  82.  
  83. #ifndef PAGER
  84. #define PAGER "less"
  85. #endif
  86.  
  87. #ifdef HAS_TROFF
  88. #ifndef TROFF
  89. #define TROFF "groff -Tps -man"
  90. #endif
  91. #endif
  92.  
  93. #ifndef NROFF
  94. #define NROFF "groff -Tascii -man"
  95. #endif
  96.  
  97. #ifdef OS2
  98. #ifndef NROFF16
  99. #define NROFF16 "cawf -man"
  100. #endif
  101. #endif
  102.  
  103. #ifndef EQN
  104. #define EQN "eqn -Tps"
  105. #endif
  106.  
  107. #ifndef NEQN
  108. #define NEQN "eqn -Tascii"
  109. #endif
  110.  
  111. #ifndef TBL
  112. #define TBL "tbl"
  113. #endif
  114.  
  115. #ifndef COL
  116. #define COL ""
  117. #endif
  118.  
  119. #ifndef VGRIND
  120. #define VGRIND ""
  121. #endif
  122.  
  123. #ifndef REFER
  124. #define REFER "refer"
  125. #endif
  126.  
  127. #ifndef GRAP
  128. #define GRAP ""
  129. #endif
  130.  
  131. #ifndef PIC
  132. #define PIC "pic"
  133. #endif
  134.  
  135. /*
  136.  * Define the absolute path to the configuration file.
  137.  */
  138. #ifndef MAN_MAIN
  139.   static char config_file[] = "manpath.cfg";
  140. #endif
  141.  
  142. /*
  143.  * Define the uncompression program(s) to use for those preformatted
  144.  * pages that end in the given character.  If you add extras here, you
  145.  * may need to change man.c.
  146.  */
  147. #ifdef DO_UNCOMPRESS
  148. #ifndef MANPATH_MAIN
  149.  
  150. typedef struct {
  151.   char *ext;
  152.   char *prog;
  153. } UNCOMPRESS;
  154.  
  155. UNCOMPRESS uncompress[] = { 
  156. /* .F files */
  157. #define FCAT "fcat"
  158.   {".F", FCAT},
  159. /* .Y files */
  160. #define YCAT "unyabba"
  161.   {".Y", YCAT},
  162. /* .z or .gz files */
  163. #define GZCAT "gzip -dc"
  164.   {".z", GZCAT}, {".gz", GZCAT}, 
  165. /* .Z files */
  166. #define ZCAT GZCAT
  167.   {".Z", ZCAT}, 
  168.   {NULL, NULL} };
  169. #endif
  170. #endif
  171.  
  172. /*
  173.  * This is the standard program to use on this system for compressing
  174.  * pages once they have been formatted, and the character to tack on
  175.  * to the end of those files.  The program listed is expected to read
  176.  * from the standard input and write compressed output to the standard
  177.  * output.
  178.  */
  179. #ifdef DO_COMPRESS
  180. #define COMPRESSOR "gzip"
  181. #define COMPRESS_EXT ".gz"
  182. #endif
  183.  
  184. /*
  185.  * Define the standard manual sections.  For example, if your man
  186.  * directory tree has subdirectories man1, man2, man3, mann,
  187.  * and man3foo, std_sections[] would have "1", "2", "3", "n", and
  188.  * "3foo".  Directories are searched in the order they appear.  Having
  189.  * extras isn't fatal, it just slows things down a bit.
  190.  *
  191.  * Note that this is just for directories to search.  If you have
  192.  * files like .../man3/foobar.3Xtc, you don't need to have "3Xtc" in
  193.  * the list below -- this is handled separately, so that `man 3Xtc foobar',
  194.  * `man 3 foobar', and `man foobar' should find the file .../man3/foo.3Xtc,
  195.  * (assuming, of course, that there isn't a .../man1/foo.1 or somesuch
  196.  * that we would find first).
  197.  *
  198.  * Note that this list should be in the order that you want the
  199.  * directories to be searched.  Is there a standard for this?  What is
  200.  * the normal order?  If anyone knows, please tell me!
  201.  */
  202. #ifndef MANPATH_MAIN
  203.   static char *std_sections[] = 
  204.     {
  205.       "1", "n", "l", "6", "8", "2", "3", "4", "5", "7", "p", "o", NULL
  206.     };
  207. #endif
  208.  
  209. /*
  210.  * Not all systems define these in stat.h.
  211.  */
  212. #ifndef S_IRUSR
  213. #define    S_IRUSR    00400        /*  read permission: owner */
  214. #endif
  215. #ifndef S_IWUSR
  216. #define    S_IWUSR    00200        /*  write permission: owner */
  217. #endif
  218. #ifndef S_IRGRP
  219. #define    S_IRGRP    00040        /*  read permission: group */
  220. #endif
  221. #ifndef S_IWGRP
  222. #define    S_IWGRP    00020        /*  write permission: group */
  223. #endif
  224. #ifndef S_IROTH
  225. #define    S_IROTH    00004        /*  read permission: other */
  226. #endif
  227. #ifndef S_IWOTH
  228. #define    S_IWOTH    00002        /*  write permission: other */
  229. #endif
  230.  
  231. /*
  232.  * This is the mode used for formatted pages that we create.  If you
  233.  * are using the setgid option, you should use 664.  If you are not,
  234.  * you should use 666 and make the cat* directories mode 777.
  235.  */
  236. #ifndef CATMODE
  237. #ifdef SECURE_MAN_UID
  238. #define CATMODE S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH
  239. #else
  240. #define CATMODE S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH
  241. #endif
  242. #endif
  243.  
  244. #ifdef OS2
  245. #define PATHSEP ';'
  246. #else
  247. #define PATHSEP ':'
  248. #endif
  249.