home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume25 / screen3 / part02 / config.h next >
Encoding:
C/C++ Source or Header  |  1991-12-18  |  7.9 KB  |  256 lines

  1. /* Copyright (c) 1991
  2.  *      Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de)
  3.  *      Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de)
  4.  * Copyright (c) 1987 Oliver Laumann
  5.  *
  6.  * This program is free software; you can redistribute it and/or modify
  7.  * it under the terms of the GNU General Public License as published by
  8.  * the Free Software Foundation; either version 1, or (at your option)
  9.  * any later version.
  10.  *
  11.  * This program is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.  * GNU General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU General Public License
  17.  * along with this program (see the file COPYING); if not, write to the
  18.  * Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  19.  *
  20.  * Noteworthy contributors to screen's design and implementation:
  21.  *    Wayne Davison (davison@borland.com)
  22.  *    Patrick Wolfe (pat@kai.com, kailand!pat)
  23.  *    Bart Schaefer (schaefer@cse.ogi.edu)
  24.  *    Nathan Glasser (nathan@brokaw.lcs.mit.edu)
  25.  *    Larry W. Virden (lwv27%cas.BITNET@CUNYVM.CUNY.Edu)
  26.  *    Howard Chu (hyc@hanauma.jpl.nasa.gov)
  27.  *    Tim MacKenzie (tym@dibbler.cs.monash.edu.au)
  28.  *    Markku Jarvinen (mta@{cc,cs,ee}.tut.fi)
  29.  *    Marc Boucher (marc@CAM.ORG)
  30.  *
  31.  ****************************************************************
  32.  * $Id: config.ultrix31,v 1.7 91/10/06 11:59:08 jnweiger Exp $ FAU
  33.  */
  34.  
  35.  
  36. /*
  37.  *        Beginning of User Configuration Section
  38.  *
  39.  * First off, you should decide if you intend to install screen set-uid to
  40.  * root.  This isn't necessary to use screen, but it allows the pseudo-ttys
  41.  * to be set to their proper owner (for security purposes), /etc/utmp to be
  42.  * updated, and /dev/kmem to be accessed to read the load average values.
  43.  *
  44.  * An alternative to installing screen set-uid root is to install it set-gid
  45.  * utmp (with the file /etc/utmp installed to be group-utmp writable) or
  46.  * set-gid kmem (with /dev/kmem set to be group-kmem readable) or some other
  47.  * custom group to give you both.  The final alternative is to omit /etc/utmp
  48.  * updating and the /dev/kmem reading (see the following defines) and simply
  49.  * run screen as a regular program -- its major functions will be unaffected.
  50.  */
  51.  
  52.  
  53. /*
  54.  * Define POSIX if your system supports IEEE Std 1003.1-1988 (POSIX).
  55.  */
  56. #ifndef POSIX
  57. # define POSIX
  58. #endif
  59.  
  60. /*
  61.  * Define BSDJOBS if you have BSD-style job control (both process
  62.  * groups and a tty that deals correctly with them).
  63.  */
  64. #define BSDJOBS
  65.  
  66. /*
  67.  * Define TERMIO if you have struct termio instead of struct sgttyb.
  68.  * This is usually the case for SVID systems, where BSD uses sgttyb.
  69.  * POSIX systems should define this anyway, even though they use
  70.  * struct termios.
  71.  */
  72. #define TERMIO
  73.  
  74. /*
  75.  * Define TERMINFO if your machine emulates the termcap routines
  76.  * with the terminfo database.
  77.  * Thus the .screenrc file is parsed for
  78.  * the command 'terminfo' and not 'termcap'.
  79.  */
  80. #undef TERMINFO
  81.  
  82. /*
  83.  * Define SYSV if your machine is SYSV complient (Sys V, HPUX, A/UX)
  84.  */
  85. #undef SYSV
  86.  
  87. /*
  88.  * Define SIGVOID if your signal handlers return void.  On older
  89.  * systems, signal returns int, but on newer ones, it returns void.
  90.  */
  91. #define SIGVOID 
  92.  
  93. /*
  94.  * Define DIRENT if your system has <dirent.h> instead of <sys/dir.h>
  95.  */
  96. #define DIRENT
  97.  
  98. /*
  99.  * If screen is going to be installed set-uid root, you MUST define SUIDROOT.
  100.  */
  101. #undef SUIDROOT
  102.  
  103. /*
  104.  * If screen is installed with permissions to update /etc/utmp (such as if
  105.  * it is installed set-uid root), define UTMPOK.  Set LOGINDEFAULT to one (1)
  106.  * if you want entries added to /etc/utmp by default, else set it to zero (0).
  107.  */
  108. #undef UTMPOK
  109. #define LOGINDEFAULT    0
  110.  
  111. /*
  112.  * If your system has getutent(), pututline(), etc. to write to the
  113.  * utmp file, define GETUTENT.
  114.  */
  115. #undef GETUTENT
  116.  
  117. /*
  118.  * Define UTHOST if the utmp file has a host field.
  119.  */
  120. #undef UTHOST
  121.  
  122. /*
  123.  * If UTMPOK is defined and your system (incorrectly) counts logins by
  124.  * counting non-null entries in /etc/utmp (instead of counting non-null
  125.  * entries with no hostname that are not on a pseudo tty), define USRLIMIT
  126.  * to have screen put an upper-limit on the number of entries to write
  127.  * into /etc/utmp.  This helps to keep you from exceeding a limited-user
  128.  * license.
  129.  */
  130. #undef USRLIMIT
  131.  
  132. /*
  133.  * If screen is NOT installed set-uid root, screen can provide tty security
  134.  * by exclusively locking the ptys.  While this keeps other users from
  135.  * opening your ptys, it also keeps your own subprocesses from being able
  136.  * to open /dev/tty.  Define LOCKPTY to add this exclusive locking.
  137.  */
  138. #undef LOCKPTY
  139.  
  140. /*
  141.  * If your system does not have the calls setreuid() and setregid(), define
  142.  * NOREUID to force screen to use a forked process to safely create output
  143.  * files without retaining any special privileges.  (Output logging will be
  144.  * disabled, however.)
  145.  */
  146. #undef NOREUID
  147.  
  148. /*
  149.  * If you want the "time" command to display the current load average
  150.  * you must install screen with the needed privileges to read /dev/kmem
  151.  * and have a load average format that screen understands.  We handle the
  152.  * following formats:  3 doubles (BSD), 3 longs (sun), and 4 longs (alliant).
  153.  */
  154. #define  LOADAV_3DOUBLES
  155. #undef LOADAV_3LONGS
  156. #undef  LOADAV_4LONGS
  157.  
  158. /*
  159.  * If your system has the new format /etc/ttys (like 4.3 BSD) and the
  160.  * getttyent(3) library functions, define GETTTYENT.
  161.  */
  162. #define GETTTYENT
  163.  
  164. /*
  165.  * If your version of NFS supports named sockets and you install screen
  166.  * suid root, you may need to define NFS_HACK for screen to be able to
  167.  * open the sockets.
  168.  */
  169. #undef NFS_HACK
  170.  
  171. /*
  172.  * By default screen will create a directory named ".screen" in the user's
  173.  * HOME directory to contain the named sockets.  If this causes you problems
  174.  * (e.g. some user's HOME directories are NFS-mounted and don't support
  175.  * named sockets) you can have screen create the socket directories in a
  176.  * common subdirectory, such as /tmp or /usr/tmp.  It makes things a little
  177.  * more secure if you choose a directory where the "sticky" bit is on, but
  178.  * this isn't required.  Screen will name the subdirectories "S-$USER"
  179.  * (e.g /tmp/S-davison).
  180.  * Do not define TMPTEST unless it's for debugging purpose.
  181.  * If you want to have your socket directory in "/tmp/screens" then
  182.  * define LOCALSOCKDIR and change the definition of SOCKDIR below.
  183.  */
  184. #define LOCALSOCKDIR
  185. #define TMPTEST
  186.  
  187. #ifdef LOCALSOCKDIR
  188. # ifndef TMPTEST
  189. #  define SOCKDIR "/local/screens"
  190. # else
  191. #  define SOCKDIR "/tmp/screens"
  192. # endif
  193. #endif
  194.  
  195. /*
  196.  * Define USEBCOPY if the bcopy() from your system's C library supports the
  197.  * overlapping of source and destination blocks.  When undefined, screen
  198.  * uses its own (probably slower) version of bcopy().
  199.  */
  200. #undef USEBCOPY
  201.  
  202. /*
  203.  * If you'd rather see the status line on the first line of your
  204.  * terminal rather than the last, define TOPSTAT.
  205.  */
  206. #undef TOPSTAT
  207.  
  208. /*
  209.  * If your system has vsprintf() and requires the use of the macros in
  210.  * "varargs.h" to use functions with variable arguments,
  211.  * define USEVARARGS.
  212.  */
  213. #undef USEVARARGS
  214.  
  215. /*
  216.  * Define this if your system supports named pipes.
  217.  */
  218. #define NAMEDPIPE
  219.  
  220. /*
  221.  * here come the erlangen extensions to screen:
  222.  * define LOCK if you want to use a lock program for a screenlock.
  223.  * define PASSWORD for secure reattach of your screen.
  224.  * define COPY_PASTE to use the famous hacker's treasure zoo.
  225.  * define POW_DETACH to have a detach_and_logout key.
  226.  * define REMOTE_DETACH (-d option) to move screen between terminals.
  227.  * (jw)
  228.  */
  229. #define LOCK
  230. #define PASSWORD
  231. #define COPY_PASTE
  232. #define REMOTE_DETACH
  233. #define POW_DETACH
  234.  
  235. /*
  236.  * As error messages are mostly meaningless to the user, we
  237.  * try to throw out phrases that are somewhat more familiar
  238.  * to ...well, at least familiar to us NetHack players.
  239.  */
  240. #define NETHACK
  241.  
  242. /*
  243.  * and another sneaky feature: screen sources two startup files.
  244.  * first a global file with a path specified here, second
  245.  * your local $HOME/.screenrc
  246.  * Don't define this, if you don't want it.
  247.  */
  248. #undef ETCSCREENRC "/local/etc/screenrc"
  249.  
  250. /*
  251.  *    End of User Configuration Section
  252.  */
  253.  
  254.  
  255. #define NEEDSETENV
  256.