home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / mm / mm-0.90 / s-hpux.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-12-18  |  9.9 KB  |  295 lines

  1. /*
  2.  * Copyright (c) 1986, 1990 by The Trustees of Columbia University in
  3.  * the City of New York.  Permission is granted to any individual or
  4.  * institution to use, copy, or redistribute this software so long as it
  5.  * is not sold for profit, provided this copyright notice is retained.
  6.  */
  7.  
  8. /*
  9.  * s-hpux.h - configuration file for HP-UX
  10.  *
  11.  * Some attempt has been made to conditionalize this for both the
  12.  * 6.01 version running on the Series 300, and whatever is running
  13.  * on the Series 800 machines.  See "hp9000s800" conditionals below.
  14.  */
  15.  
  16. #ifdef RCSID
  17. #ifndef lint
  18. static char *s_hpux_rcsid = "$Header: /f/src2/encore.bin/cucca/mm/tarring-it-up/RCS/s-hpux.h,v 2.1 90/10/04 18:25:54 melissa Exp $";
  19. #endif /* lint */
  20. #endif /* RCSID */
  21.  
  22. /*
  23.  * The HOSTNAME macro is used only as a last resort, if no other way
  24.  * of determining the hostname will work.  If you have a domain name,
  25.  * i.e. there are dots in the official name of your host, include only
  26.  * the first component of the name.
  27.  */
  28. /* #define HOSTNAME "ourhost"        /* local hostname */
  29.  
  30. /*
  31.  * If you have an official domain name for your host, and the domain name
  32.  * is not discernible with gethostbyname(3), define LOCALDOMAIN
  33.  * to be the name of your domain, preceded by a "."; otherwise, define
  34.  * LOCALDOMAIN to be a null string.  For example, if the name of your host
  35.  * is podunk.edu, you should specify:
  36.  *    #define LOCALDOMAIN ".edu"
  37.  * If your host is vax.cs.podunk.edu, you'd use
  38.  *    #define LOCALDOMAIN ".cs.podunk.edu"
  39.  */
  40. /* #define LOCALDOMAIN ".ourdomain.edu"    /* local domain */
  41.  
  42. /*
  43.  * If your site likes to make outgoing mail appear as if it all comes
  44.  * from one central host, define HIDDENNET as the name of that host.
  45.  * Otherwise, leave HIDDENNET undefined.
  46.  */
  47. /* #define HIDDENNET "mailhost.ourdomain.edu"    /* fake mail host name */
  48.  
  49. /*
  50.  * If your operating system supports filenames longer than 14 characters,
  51.  * I.e. you are running a Berkeley UNIX derivative, define HAVE_FLEXFILENAMES.
  52.  * If you are running some sort of operating system which supports
  53.  * long filenames only on remote filesystems (e.g. HP-UX 6.0), don't
  54.  * define it.
  55.  */
  56. #if hp9000s800
  57. #define HAVE_FLEXFILENAMES        /* we have long filenames */
  58. #endif
  59.  
  60. /*
  61.  * If you have the Berkeley sendmail program, define SENDMAIL to be the
  62.  * pathname by which it should be invoked.
  63.  */
  64. #define SENDMAIL "/usr/lib/sendmail"    /* we have sendmail */
  65.  
  66. /*
  67.  * Define SPOOL_DIRECTORY to be the name of the directory to which
  68.  * new mail is delivered.  On System V-based systems, this is usually
  69.  * /usr/mail; on Berkeley systems, it's usually /usr/spool/mail.
  70.  */
  71. #define SPOOL_DIRECTORY "/usr/mail"
  72.  
  73. /*
  74.  * If your mailer supports .forward files, and you want MM to display
  75.  * the contents of .forward file (you may not wish to do this if it's
  76.  * likely that a user's .forward file will be ignored because of conflicting
  77.  * entries in /usr/lib/aliases), define FORWARD_FILE as the name of the
  78.  * file in the user's home directory.
  79.  */
  80. #define FORWARD_FILE ".forward"        /* we use .forward files */
  81.  
  82. /*
  83.  * If you have GNU Emacs, define GNUEMACS to be the name with which it
  84.  * is usually referred by your users.  If GNUEMACS is not defined, special
  85.  * code used to interface MM with GNU Emacs will not be compiled into MM.
  86.  */
  87. #define GNUEMACS "emacs"        /* we have GNU Emacs */
  88.  
  89. /*
  90.  * If you have, and use, the Sun Yellow Pages facility, define
  91.  * HAVE_YP.
  92.  */
  93. #define HAVE_YP                /* we use yp */
  94.  
  95. /*
  96.  * If you have NFS and users will be referencing mail files on remote
  97.  * filesystems, define HAVE_NFS.
  98.  */
  99. #define HAVE_NFS            /* we use NFS */
  100.  
  101. /*
  102.  * Define one or more of NEED_FCNTL, NEED_UNISTD, and NEED_SYSFILE
  103.  * as appropriate, depending on whether or not MM has to include
  104.  * <fcntl.h>, <unistd.h>, and/or <sys/file.h> in order to obtain
  105.  * the symbol definitions used in the open(2), fcntl(2), flock(2),
  106.  * lockf(2), and lseek(2) system calls.
  107.  */
  108. #define NEED_FCNTL            /* include <fcntl.h> */
  109. #define NEED_UNISTD            /* include <unistd.h> */
  110. #undef NEED_SYSFILE
  111.  
  112. /*
  113.  * You will probably need this, but you may want to undefine it if
  114.  * another system header file includes it automatically.
  115.  */
  116. #define NEED_IOCTL            /* include <sys/ioctl.h> */
  117.  
  118. /*
  119.  * MM needs to refer to definitions which may appear in either
  120.  * <time.h> or <sys/time.h>, depending on what kind of system you have.
  121.  * <time.h> usually contains the definition of the "tm" struct, while
  122.  * on many BSD-based systems, <sys/time.h> will include the same information
  123.  * in addition to the "timeval" and "timezone" structs.  Define one or
  124.  * the other, or both, as appropriate.
  125.  */
  126. #undef NEED_SYSTIME            /* include <sys/time.h> */
  127. #define NEED_TIME            /* don't include <time.h> */
  128.  
  129. /*
  130.  * Define NEED_WAIT if your system defines "union wait" in <sys/wait.h>
  131.  * See also HAVE_WAIT3 below.
  132.  */
  133. #if hp9000s800
  134. #define NEED_WAIT            /* include <sys/wait.h> */
  135. #endif
  136.  
  137. /*
  138.  * Define HAVE_WAIT3 if your system has the wait3() system call.
  139.  */
  140. #if hp9000s800
  141. #define HAVE_WAIT3            /* we have wait3() */
  142. #endif
  143.  
  144. /*
  145.  * Define HAVE_JOBS if your system has job control.  Currently 4.2 job control
  146.  * is the only type supported.
  147.  */
  148. #if hp9000s800
  149. #define HAVE_JOBS            /* we have job control */
  150. #endif
  151.  
  152. /*
  153.  * Define HAVE_BSD_SIGNALS if you have the 4.2BSD-style signal handling
  154.  * facilities.
  155.  *
  156.  * Some HP-UX systems don't support this, others support it only if MM
  157.  * is lunk with -lBSD.  I don't know what is true for the 6.2 or 2.0
  158.  * releases.
  159.  */
  160. #define HAVE_BSD_SIGNALS        /* we have 4.2 signals */
  161.  
  162. /*
  163.  * If you have support for disk quotas, and you use them, define HAVE_QUOTAS.
  164.  * Otherwise leave it undefined.
  165.  */
  166. #undef HAVE_QUOTAS            /* we don't have quotas */
  167.  
  168. /*
  169.  * If you defined HAVE_QUOTAS above, define HAVE_QUOTACTL if your system
  170.  * has quotactl(2) system call.  If this is defined, MM also expects to
  171.  * find quota.h in <ufs/quota.h> rather than <sys/quota.h>.
  172.  */
  173. #undef HAVE_QUOTACTL            /* we don't have quotactl() */
  174.  
  175. /*
  176.  * Define HAVE_INDEX if your system has index(3) and rindex(3) rather than
  177.  * than strchr(3) and strrchr(3).
  178.  */
  179. #undef HAVE_INDEX            /* we don't have index & rindex */
  180.  
  181. /*
  182.  * Define HAVE_BSTRING if you have bcopy(3), bzero(3), and bcmp(3).  These
  183.  * are usually present on BSD-based systems, and missing on older systems
  184.  * where MM will use memcpy(3), memset(3), and memcmp(3).
  185.  */
  186. #undef HAVE_BSTRING            /* we don't have bcopy and friends */
  187.  
  188. /*
  189.  * Define HAVE_VFORK if your system has the vfork(2) system call.
  190.  */
  191. #define HAVE_VFORK            /* we have vfork() */
  192.  
  193. /*
  194.  * Define HAVE_GETWD if you have getwd(2).  Most BSD-based systems should.
  195.  */
  196. #undef HAVE_GETWD            /* we don't have the bsd getwd() */
  197.  
  198. /*
  199.  * Define HAVE_GETCWD if you have getcwd(3) rather than getwd(2).  This will
  200.  * be true on most SYSV-based systems.
  201.  */
  202. #define HAVE_GETCWD            /* we don't have getcwd() */
  203.  
  204. /*
  205.  * Define HAVE_GETHOSTNAME if you have the gethostname(2) system call, and
  206.  * HAVE_GETHOSTBYNAME if you have get gethostbyxxxx(3) library routines.
  207.  * This is generally true on BSD-based systems, and some SYSV systems.
  208.  * They should be undefined if you either don't have them, or don't use
  209.  * them (because they're broken?).
  210.  */
  211. #define    HAVE_GETHOSTNAME        /* we have gethostname() */
  212. #define    HAVE_GETHOSTBYNAME        /* we have gethostbyname() */
  213.  
  214. /*
  215.  * Define HAVE_UNAME if you don't have the gethostname(2) system call,
  216.  * but you do have uname(2).  This is usually true on non-networked
  217.  * SYSV systems.
  218.  */
  219. #undef HAVE_UNAME            /* we have uname() but don't need it */
  220.  
  221. /*
  222.  * Define PHOSTNAME if you have neither gethostname(2) or uname(2).
  223.  * It's value should be a string containing a UNIX command which will
  224.  * print your system's hostname.
  225.  */
  226. /* #define PHOSTNAME "uuname -l"    /* program that prints our hostname */
  227.  
  228. /*
  229.  * Define HAVE_RENAME if you have the rename(2) system call, or an equivalent
  230.  * C library routine.  This is true on later BSD releases and SVR3.
  231.  */
  232. #define HAVE_RENAME            /* we have rename() */
  233.  
  234. /*
  235.  * Define one or more of the following symbols, depending on what file-
  236.  * locking facilities are available on your system.
  237.  * 
  238.  * MM prefers the fcntl interface if you've got it, but you should probably
  239.  * avoid telling MM you have the fcntl interface or lockf() if you've got
  240.  * flock and you use NFS, unless you really know what you're doing.
  241.  */
  242. #define HAVE_F_SETLK            /* we have fcntl(fd, F_SETLK, ...) */
  243. #define HAVE_LOCKF            /* lockf works too */
  244. #undef HAVE_FLOCK            /* we don't have flock */
  245.  
  246. /*
  247.  * If your /bin/mail program uses the flock(2) system call to prevent
  248.  * simultaneous access to files in /usr/mail or /usr/spool/mail, define
  249.  * MAIL_USE_FLOCK.  If this is not defined, the movemail program will
  250.  * attempt to lock files in the spool directory using lock files.
  251.  *
  252.  * If you're not sure whether or not to define this symbol, you might
  253.  * be able to find the answer by consulting the sources for /bin/mail
  254.  * on your system, or looking in the appropriate s-*.h file from the
  255.  * GNU Emacs distribution.  If you have the strings(1) program, you
  256.  * can try "strings /usr/spool/mail" to see if any ".lock" files exist
  257.  * there.
  258.  */
  259. #undef MAIL_USE_FLOCK            /* hp-ux binmail uses .lock files */
  260.  
  261. /*
  262.  * Define HAVE_BSD_SETPGRP if your system's setpgrp() system call takes two
  263.  * arguments.  This is generally true on later BSD releases with job control.
  264.  * On some systems, there is both a SYSV setpgrp() call and a setpgrp2() call,
  265.  * the latter of which takes two arguments like the BSD setpgrp() call.  If
  266.  * that's true on your system, you should probably also add
  267.  *    #define setpgrp setpgrp2
  268.  * unless your system somehow figures this out automatically.
  269.  */
  270. #ifdef hp9000s800
  271. #define SETPGRP2            /* setpgrp() takes two args */
  272. #define setpgrp setpgrp2
  273. #endif
  274.  
  275. /*
  276.  * Define HAVE_VOIDSIG if your <signal.h> defines signal(2) as
  277.  * void (*signal())(). This seems to be true in System V Release 3
  278.  * and SunOS 4.0.
  279.  */
  280. #undef HAVE_VOIDSIG            /* void (*signal())() */
  281.  
  282. /*
  283.  * Define NEED_VFORK if we need to include <vfork.h>.
  284.  */
  285.  
  286. #if sparc
  287. #define NEED_VFORK
  288. #endif
  289. /*
  290.  * define volatile as static if your C compiler does not support the 
  291.  * "volatile" directive (ANSI C).
  292.  */
  293.  
  294. #define volatile static
  295.