home *** CD-ROM | disk | FTP | other *** search
/ ftp.freefriends.org / ftp.freefriends.org.tar / ftp.freefriends.org / arnold / Source / mush.rstevens.tar.gz / mush.tar / config.h < prev    next >
C/C++ Source or Header  |  1994-07-11  |  9KB  |  261 lines

  1. /* config.h 1.1    (c) copyright 1986 (Dan Heller) */
  2.  
  3. /* Default names and locations for files */
  4. #define MAILRC        ".mushrc"
  5. #define ALTERNATE_RC    ".mailrc"
  6. #define DEFAULT_RC    "/usr/lib/Mushrc"
  7. #define ALT_DEF_RC    "/usr/lib/Mail.rc"
  8. #define SIGNATURE    ".signature"
  9. #define FORTUNE        "/usr/games/fortune"
  10. #define COMMAND_HELP    "/usr/lib/cmd_help"
  11. #ifdef SUNTOOL
  12. #    define TOOL_HELP    "/usr/lib/tool_help"
  13. #endif /* SUNTOOL */
  14. #define ALTERNATE_HOME    "/tmp"       /* Path must be read/write to EVERYONE */
  15. #define EDFILE      ".edXXXXXX"  /* file/pathname added to user's "home" */
  16.  
  17. #define LS_COMMAND    "ls"
  18. #define LPR        "lpr"
  19. #define DEF_PRINTER    "lp"
  20. /* If your lpr command understands only -P or -d (or some other flag) then
  21.  * define PRINTER_OPT to the appropriate value.  If you want to be able to
  22.  * use either one, don't define this at all.  The defaults (when neither
  23.  * -P nor -d is used on the mush "lpr" command line) are as noted here.
  24.  * If your lpr requires that the option and the printer name be separate
  25.  * arguments, include a trailing space in this definition.
  26.  */
  27. #ifdef SYSV
  28. #define PRINTER_OPT    "-d"
  29. #endif /* SYSV */
  30. #ifdef BSD
  31. #define PRINTER_OPT    "-P"
  32. #endif /* BSD */
  33.  
  34. /* default settings for some variable strings */
  35. #define DEF_PROMPT    "Msg %m of %t: "
  36. #define DEF_PAGER    "more" /* set to "internal" to use internal pager */
  37. #define DEF_SHELL    "csh"
  38. #define DEF_EDITOR    "vi"
  39. #define DEF_FOLDER    "~/Mail"        /* default Mail folder */
  40. #define DEF_MBOX    "~/mbox"    /* default mbox */
  41. #define DEF_INDENT_STR    "> "        /* indent included mail */
  42. #define DEF_ESCAPE    "~"
  43. #define DEF_HDR_FMT    "%25f %7d (%l/%c) \"%s\"" /* default hdr_format */
  44. #define DEF_CURSES_HELP    \
  45.     "display save mail reply next-msg back-msg screen-next screen-back"
  46.  
  47. /* Headers that will NOT be included when forwarding mail */
  48. #define IGNORE_ON_FWD    "status,priority,return-receipt-to"
  49.  
  50. #define    MAXMSGS    1000        /* Maximum number of messages we can read */
  51. #define HDRSIZ    (2*BUFSIZ)    /* This should not be < BUFSIZ! */
  52.  
  53. /*
  54.  * Define INTERNAL_MALLOC and recompile if you have trouble with mush
  55.  * core-dumping due to malloc/free errors.  Also, if you run a System 5
  56.  * variant, you might notice a performance improvement if you define this
  57.  * variable.  It uses the malloc distributed by Larry Wall for perl v2.
  58.  */
  59. #define INTERNAL_MALLOC
  60.  
  61. /*
  62.  * Define TIMEZONE if your system has neither the SysV external variable
  63.  * tzname nor the BSD timezone() function.  The example below is for
  64.  * Gould BSD4.3 systems; others should define it as a string, e.g. "PST"
  65.  * If TIMEZONE is defined, DAYLITETZ can also be defined, e.g. "PDT"
  66.  *
  67.  * Define USA if you are using US/NorthAmerican time zone abbreviations.
  68.  * If USA is not defined, dates in outgoing mail will include timezones
  69.  * specified as offsets from GMT, e.g. Pacific Standard Time is -0800.
  70.  */
  71. /* #define TIMEZONE T->tm_zone /**/
  72. /* #define USA /**/
  73.  
  74. /* mail delivery system macros and defines... */
  75.  
  76. /*
  77.  * For POP3_SUPPORT, define this.  Mush will act as a POP-3 client,
  78.  * periodically calling the server on the machine described by the
  79.  * environment variable MAILHOST to pick up new mail.
  80.  */
  81. /* #define POP3_SUPPORT /**/
  82. #ifdef POP3_SUPPORT
  83. #define HOMEMAIL
  84. #endif /* POP3_SUPPORT */
  85.  
  86. /*
  87.  * If you are using MMDF, define MMDF here.
  88.  */
  89. /* #define MMDF /**/
  90. #if defined(M_UNIX) && defined(M_XENIX)
  91. #define MMDF
  92. /* #define M_EXECMAIL    /* Define if you haven't fixed submit permissions */
  93. #endif /* M_UNIX && M_XENIX */
  94. #ifdef MMDF
  95. /*
  96.  * If MMDF delivers mail the user's home directory, define HOMEMAIL.
  97.  * Also check the definition of the delivery file name MAILFILE, below.
  98.  */
  99. /* #define HOMEMAIL /**/
  100. #ifdef M_EXECMAIL
  101. #define MAIL_DELIVERY    "/usr/lib/mail/execmail"
  102. # define VERBOSE_ARG    "-v"
  103. # define METOO_ARG    "-m"
  104. #else /* M_EXECMAIL */
  105. #define MAIL_DELIVERY    "exec /usr/mmdf/bin/submit -mlnr"
  106. #define VERBOSE_ARG    "Ww"
  107. #define MTA_EXIT    9    /* exit status for successful submit */
  108. #endif /* M_EXECMAIL */
  109. #else /* MMDF */
  110. /*
  111.  * If you are not using MMDF, check these definitions.
  112.  */
  113. #define MAIL_DELIVERY    "/usr/lib/sendmail -i" /* "-i" works like "-oi" */
  114. #define VERBOSE_ARG    "-v"    /* undef if none exists */
  115. #define METOO_ARG    "-m"    /* man sendmail for more info. */
  116. #define MTA_EXIT    0    /* exit status for successful mail delivery */
  117. #endif /* MMDF */
  118.  
  119. /* If your mail transfer agent uses something *besides* "From " to separate
  120.  * adjacent messages in a folder, define MSG_SEPARATOR to be this string.
  121.  * If that string is 4 ^A's, then the string would be "\001\001\001\001".
  122.  * With the exception of MMDF, below, you should OMIT a trailing newline
  123.  * from the setting of MSG_SEPARATOR.
  124.  * If you don't know what any of this means, leave it alone.
  125.  */
  126. /* #define MSG_SEPARATOR "From " /**/
  127. #ifdef MMDF
  128. /*
  129.  * These values should be identical (respectively) to the contents of
  130.  * delim1 and delim2 in MMDFSRC/conf/yoursite/conf.c (sans newline).
  131.  */
  132. #define MSG_SEPARATOR    "\001\001\001\001\n"
  133. #define END_MSG_SEP    "\001\001\001\001\n"
  134. /*
  135.  * You only need to define LCKDFLDIR if you have MMDF configured to use the
  136.  * locking routines in lib/util/lk_lock.c (ie., link(2)-based locking).
  137.  * Most of you WILL NOT need this, since you probably use one of the more
  138.  * sophisticated locking modules provided with MMDF.  Remember to alter the
  139.  * Makefile so as to access the MMDF library at the link step.
  140.  */
  141. /* #define LCKDFLDIR    "/usr/spool/mmdf/lockfiles" /* (for example) */
  142. #else /* !MMDF */
  143. #ifdef M_XENIX
  144. #define DOT_LOCK    /* DOT_LOCK should be used for SCO Xenix */
  145. #endif /* M_XENIX */
  146. #endif /* MMDF */
  147.  
  148. #ifdef HOMEMAIL
  149. #define MAILFILE    "Mailbox"    /* or whatever */
  150. #else /* HOMEMAIL */
  151. #ifndef MAILDIR
  152. #if defined(SYSV) && !defined(SVR4)
  153. #define MAILDIR        "/usr/mail"
  154. #else /* BSD || SVR4 */
  155. #define MAILDIR        "/usr/spool/mail"
  156. #endif /* SYSV && !SVR4 */
  157. #endif /* MAILDIR */
  158. #endif /* HOMEMAIL */
  159.  
  160. /* If your mailer does not understand commas between addresses, you should
  161.  * define NO_COMMAS.  This includes pre-3.0 smail and default MTAs used on
  162.  * xenix, and sys-v systems.
  163.  * This does NOT apply to MMDF or sendmail, in most cases.  SunOS 4.1 as
  164.  * shipped needs this, but note that if you are allowing mush to default
  165.  * to SUN_4_1 (see the end of this file) you won't get this.
  166.  */
  167. #ifdef SUN_4_1        /* SunOS 4.1 has warped sendmail.cf */
  168. #define NO_COMMAS /**/
  169. #endif /* SUN_4_1 */
  170.  
  171. /*
  172.  * Most RFC822-compliant mailers (sendmail) will add the headers From:
  173.  * and Date: on outgoing mail.  If the user or UA sends these headers,
  174.  * such MTAs will generally use the headers as the user or UA set them.
  175.  * Mailers that are not RFC822-compliant sometimes fail to add these
  176.  * headers at all, so the UA must supply them.  Mush normally does so.
  177.  *
  178.  * However, there are certain MTAs which will insist on adding new From:
  179.  * and Date: headers.  These "picky mailers" may remove the user or UA 
  180.  * From: and Date: headers, or they may leave them but insert a leading
  181.  * '>', which makes the headers very ugly and redundant or contradictory.
  182.  * PICKY_MAILER prevents mush from adding From: or Date:, so the MTA can.
  183.  *
  184.  * Many RFC822-compliant mailers are "picky", including certain sendmail
  185.  * configurations.  It is advisable to set PICKY_MAILER *UNLESS* your MTA
  186.  * is known not to be RFC822 compiant (xenix, older sys-v) or can be
  187.  * counted on to pass through user-defined headers without modification.
  188.  */
  189. /* #define PICKY_MAILER /**/
  190.  
  191. /* If your system supports the vprintf() functions, True for sys-v and
  192.  * later sun versions (3.0+ ?).  Typically not true for BSD systems, but
  193.  * that will probably change in the future.
  194.  */
  195. #if defined(SYSV) || defined(sun)
  196. #define VPRINTF
  197. #endif /* SYSV || sun */
  198.  
  199. /* If your system uses the getwd() system call (as opposed to getcwd()),
  200.  * and your system is not a BSD system (e.g. MIPS), define GETWD below.
  201.  */
  202. /* #define GETWD    /**/
  203.  
  204. /* If your system has the BSD-style directory routines (opendir/readdir),
  205.  * define DIRECTORY.  This happens automatically in glob.h for BSD.
  206.  */
  207. #ifdef SVR4
  208. #define DIRECTORY
  209. #endif /* SVR4 */
  210.  
  211. /* If your system has the POSIX "utimbuf" structure for utime(2),
  212.  * define POSIX_UTIME.  You may have to change <sys/utime.h> to <utime.h>
  213.  * in mush.h.
  214.  */
  215. #if defined(SVR4) && !defined(sun)
  216. #define POSIX_UTIME
  217. #endif /* SVR4 && !sun */
  218.  
  219. /* The remainder of this file attempt to automatically supply some sanity.
  220.  * You shouldn't need to change this part unless your system is really odd.
  221.  */
  222.  
  223. #ifdef BSD
  224. #    undef SYSV /* Sorry, can't do both BSD and SYSV */
  225. #    undef SVR4
  226. #    undef SVR3
  227. #    undef SVR2
  228. #endif /* BSD */
  229. #if defined(SUNTOOL) || defined(SUN_3_5) || defined(SUN_4_0) || defined(SUN_4_1)
  230. #if !defined(BSD) && !defined(SYSV)
  231. #    define BSD /* default to BSD */
  232. #endif /* !BSD && !SYSV */
  233. #if !defined(SUN_3_5) && !defined(SUN_4_0)
  234. #    ifndef SUN_4_1
  235. #        define SUN_4_1 /* default to sun 4.1 */
  236. #    endif /* SUN_4_1 */
  237. #    define SUN_4_0 /* 4.0 stuff needed too */
  238. #endif /* !SUN_3_5 && !SUN_4_0 */
  239. #ifdef SUN_4_0
  240. #    undef SUN_3_5
  241. #    undef SIGRET
  242. #    define SIGRET void
  243. #endif /* SUN_4_0 */
  244. #endif /* SUNTOOL || SUN_3_5 || SUN_4_0 || SUN_4_1 */
  245. #ifdef SVR4
  246. #    undef SVR3
  247. #    undef SYSV
  248. #    define SYSV
  249. #else
  250. #ifdef SYSV
  251. #    undef SVR3
  252. #    ifndef SVR2
  253. #        define SVR3
  254. #    endif /* SVR2 */
  255. #endif /* SYSV */
  256. #endif /* SVR4 */
  257. #ifdef SVR3
  258. #    undef SYSV
  259. #    define SYSV
  260. #endif /* SVR3 */
  261.