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