home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume26 / screen-3.5 / part02 / config.h.in < prev    next >
Text File  |  1993-07-25  |  11KB  |  397 lines

  1. /* Copyright (c) 1993
  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 2, 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.  ****************************************************************
  21.  * $Id: config.h.in,v 1.4 1993/06/28 16:00:32 mlschroe Exp $ FAU
  22.  */
  23.  
  24.  
  25.  
  26.  
  27.  
  28. /**********************************************************************
  29.  *
  30.  *    User Configuration Section
  31.  */
  32.  
  33.  
  34.  
  35. /*
  36.  * Define HOMESOCKDIR if you want screen to put the named sockets in
  37.  * the user's home directory. Notice that this can cause you problems
  38.  * if some user's HOME directories are NFS-mounted and don't support
  39.  * named sockets. In such a case do not define HOMESOCKDIR and screen
  40.  * will create the socket directories in SOCKDIR. This should be in a
  41.  * common subdirectory, such as /local or /tmp. It makes things a
  42.  * little more secure if you choose a directory which is not writable
  43.  * by everyone or where the "sticky" bit is on, but this isn't required.
  44.  * Screen will name the subdirectories "S-$USER" (e.g /tmp/S-davison).
  45.  * Do not define TMPTEST unless it's for debugging purpose.
  46.  */
  47. #undef HOMESOCKDIR
  48.  
  49. #ifndef HOMESOCKDIR
  50. # ifndef TMPTEST
  51. #  define SOCKDIR "/usr/local/screens"
  52. # else
  53. #  define SOCKDIR "/tmp/testscreens"
  54. # endif
  55. #endif
  56.  
  57. /*
  58.  * Screen sources two startup files. First a global file with a path
  59.  * specified here, second your local $HOME/.screenrc
  60.  * Don't define this, if you don't want it.
  61.  */
  62. #define ETCSCREENRC "/usr/local/etc/screenrc"
  63.  
  64. /* 
  65.  * define PTYMODE if you do not like the default of 0622, which allows 
  66.  * public write to your pty.
  67.  * define PTYGROUP to some numerical group-id if you do not want the
  68.  * tty to be in "your" group.
  69.  * Note, screen is unable to change mode or group of the pty if it
  70.  * is not installed with sufficient privilege. (e.g. set-uid-root)
  71.  */
  72. #undef PTYMODE
  73. #undef PTYGROUP
  74.  
  75. /*
  76.  * If screen is NOT installed set-uid root, screen can provide tty
  77.  * security by exclusively locking the ptys.  While this keeps other
  78.  * users from opening your ptys, it also keeps your own subprocesses
  79.  * from being able to open /dev/tty.  Define LOCKPTY to add this
  80.  * exclusive locking.
  81.  */
  82. #undef LOCKPTY
  83.  
  84. /*
  85.  * If you'd rather see the status line on the first line of your
  86.  * terminal rather than the last, define TOPSTAT.
  87.  */
  88. #undef TOPSTAT
  89.  
  90. /*
  91.  * here come the erlangen extensions to screen:
  92.  * define LOCK if you want to use a lock program for a screenlock.
  93.  * define PASSWORD for secure reattach of your screen.
  94.  * define COPY_PASTE to use the famous hacker's treasure zoo.
  95.  * define POW_DETACH to have a detach_and_logout key.
  96.  * define REMOTE_DETACH (-d option) to move screen between terminals.
  97.  * define AUTO_NUKE to enable Tim MacKenzies clear screen nuking
  98.  * define PSEUDOS to allow window input/output filtering
  99.  * define MULTI to allow multiple attaches.
  100.  * define MULTIUSER to allow other users attach to your session
  101.  *                  (if they are in the acl, of course)
  102.  * (jw)
  103.  */
  104. #undef SIMPLESCREEN
  105. #ifndef SIMPLESCREEN
  106. # define LOCK
  107. # define PASSWORD
  108. # define COPY_PASTE
  109. # define REMOTE_DETACH
  110. # define POW_DETACH
  111. # define AUTO_NUKE
  112. # define PSEUDOS
  113. # define MULTI
  114. # define MULTIUSER
  115. #endif /* SIMPLESCREEN */
  116.  
  117. /*
  118.  * As error messages are mostly meaningless to the user, we
  119.  * try to throw out phrases that are somewhat more familiar
  120.  * to ...well, at least familiar to us NetHack players.
  121.  */
  122. #ifndef NONETHACK
  123. # define NETHACK
  124. #endif /* NONETHACK */
  125.  
  126. /*
  127.  * If screen is installed with permissions to update /etc/utmp (such
  128.  * as if it is installed set-uid root), define UTMPOK.
  129.  */
  130. #define UTMPOK
  131.  
  132. /* Set LOGINDEFAULT to one (1)
  133.  * if you want entries added to /etc/utmp by default, else set it to
  134.  * zero (0).
  135.  */
  136. #define LOGINDEFAULT    1
  137.  
  138.  
  139. /*
  140.  * If UTMPOK is defined and your system (incorrectly) counts logins by
  141.  * counting non-null entries in /etc/utmp (instead of counting non-null
  142.  * entries with no hostname that are not on a pseudo tty), define USRLIMIT
  143.  * to have screen put an upper-limit on the number of entries to write
  144.  * into /etc/utmp.  This helps to keep you from exceeding a limited-user
  145.  * license.
  146.  */
  147. #undef USRLIMIT
  148.  
  149.  
  150.  
  151. /**********************************************************************
  152.  *
  153.  *    End of User Configuration Section
  154.  *
  155.  *      Rest of this file is modified by 'configure'
  156.  *      Change at your own risk!
  157.  *
  158.  */
  159.  
  160. /*
  161.  * Some defines to identify special unix variants
  162.  */
  163. #ifndef SVR4
  164. #undef SVR4
  165. #endif
  166. #ifndef MIPS
  167. #undef MIPS
  168. #endif
  169.  
  170. /*
  171.  * Define POSIX if your system supports IEEE Std 1003.1-1988 (POSIX).
  172.  */
  173. #undef POSIX
  174.  
  175. /*
  176.  * Define BSDJOBS if you have BSD-style job control (both process
  177.  * groups and a tty that deals correctly with them).
  178.  */
  179. #undef BSDJOBS
  180.  
  181. /*
  182.  * Define TERMIO if you have struct termio instead of struct sgttyb.
  183.  * This is usually the case for SVID systems, where BSD uses sgttyb.
  184.  * POSIX systems should define this anyway, even though they use
  185.  * struct termios.
  186.  */
  187. #undef TERMIO
  188.  
  189. /*
  190.  * Define TERMINFO if your machine emulates the termcap routines
  191.  * with the terminfo database.
  192.  * Thus the .screenrc file is parsed for
  193.  * the command 'terminfo' and not 'termcap'.
  194.  */
  195. #undef TERMINFO
  196.  
  197. /*
  198.  * If your library does not define ospeed, define this.
  199.  */
  200. #undef NEED_OSPEED
  201.  
  202. /*
  203.  * Define SYSV if your machine is SYSV complient (Sys V, HPUX, A/UX)
  204.  */
  205. #ifndef SYSV
  206. #undef SYSV
  207. #endif
  208.  
  209. /*
  210.  * Define SIGVOID if your signal handlers return void.  On older
  211.  * systems, signal returns int, but on newer ones, it returns void.
  212.  */
  213. #undef SIGVOID 
  214.  
  215. /*
  216.  * Define USESIGSET if you have sigset for BSD 4.1 reliable signals.
  217.  */
  218. #undef USESIGSET
  219.  
  220. /*
  221.  * Define SYSVSIGS if signal handlers must be reinstalled after
  222.  * they have been called.
  223.  */
  224. #undef SYSVSIGS
  225.  
  226. /*
  227.  * Define BSDWAIT if your system defines a 'union wait' in <sys/wait.h>
  228.  *
  229.  * Only allow BSDWAIT i.e. wait3 on nonposix systems, since
  230.  * posix implies wait(3) and waitpid(3). vdlinden@fwi.uva.nl
  231.  * 
  232.  */
  233. #ifndef POSIX
  234. #undef BSDWAIT
  235. #endif
  236.  
  237. /*
  238.  * On RISCOS we prefer wait2() over wait3(). rouilj@sni-usa.com 
  239.  */
  240. #ifdef BSDWAIT
  241. #undef USE_WAIT2
  242. #endif
  243.  
  244. /*
  245.  * Define DIRENT if your system has <dirent.h> instead of <sys/dir.h>
  246.  */
  247. #undef DIRENT
  248.  
  249. /*
  250.  * If your system has getutent(), pututline(), etc. to write to the
  251.  * utmp file, define GETUTENT.
  252.  */
  253. #undef GETUTENT
  254.  
  255. /*
  256.  * Define UTHOST if the utmp file has a host field.
  257.  */
  258. #undef UTHOST
  259.  
  260. /*
  261.  * If ttyslot() breaks getlogin() by returning indexes to utmp entries
  262.  * of type DEAD_PROCESS, then our getlogin() replacement should be
  263.  * selected by defining BUGGYGETLOGIN.
  264.  */
  265. #undef BUGGYGETLOGIN
  266.  
  267. /*
  268.  * If your system does not have the calls setreuid() and setregid(),
  269.  * define NOREUID to force screen to use a forked process to safely
  270.  * create output files without retaining any special privileges.
  271.  * (Output logging will be disabled, however.)
  272.  */
  273. #undef NOREUID
  274.  
  275. /*
  276.  * If you want the "time" command to display the current load average
  277.  * define LOADAV. Maybe you must install screen with the needed
  278.  * privileges to read /dev/kmem.
  279.  * Note that NLIST_ stuff is only checked, when getloadavg() is not available.
  280.  */
  281. #undef LOADAV
  282.  
  283. #undef LOADAV_NUM
  284. #undef LOADAV_TYPE
  285. #undef LOADAV_SCALE
  286. #undef LOADAV_GETLOADAVG
  287. #undef LOADAV_UNIX
  288. #undef LOADAV_AVENRUN
  289.  
  290. #undef NLIST_STRUCT
  291. #undef NLIST_NAME_UNION
  292.  
  293. /*
  294.  * If your system has the new format /etc/ttys (like 4.3 BSD) and the
  295.  * getttyent(3) library functions, define GETTTYENT.
  296.  */
  297. #undef GETTTYENT
  298.  
  299. /*
  300.  * Define USEBCOPY if the bcopy/memcpy from your system's C library
  301.  * supports the overlapping of source and destination blocks.  When
  302.  * undefined, screen uses its own (probably slower) version of bcopy().
  303.  * 
  304.  * SYSV machines may have a working memcpy() -- Oh, this is 
  305.  * quite unlikely. Tell me if you see one. (Juergen)
  306.  * But then, memmove() should work, if at all available.
  307.  */
  308. #undef USEBCOPY
  309. #undef USEMEMCPY
  310. #undef USEMEMMOVE
  311.  
  312. /*
  313.  * If your system has vsprintf() and requires the use of the macros in
  314.  * "varargs.h" to use functions with variable arguments,
  315.  * define USEVARARGS.
  316.  */
  317. #undef USEVARARGS
  318.  
  319. /*
  320.  * If the select return value doesn't treat a descriptor that is
  321.  * usable for reading and writing as two hits, define SELECT_BROKEN.
  322.  */
  323. #undef SELECT_BROKEN
  324.  
  325. /*
  326.  * Define this if your system supports named pipes.
  327.  */
  328. #undef NAMEDPIPE
  329.  
  330. /*
  331.  * Define this if your system exits select() immediatly if a pipe is
  332.  * opened read-only and no writer has opened it.
  333.  */
  334. #undef BROKEN_PIPE
  335.  
  336. /*
  337.  * Define this if the unix-domain socket implementation doesn't
  338.  * create a socket in the filesystem.
  339.  */
  340. #undef SOCK_NOT_IN_FS
  341.  
  342. /*
  343.  * If your system has setenv() and unsetenv() define USESETENV
  344.  */
  345. #undef USESETENV
  346.  
  347. /*
  348.  * If your system does not come with a setenv()/putenv()/getenv()
  349.  * functions, you may bring in our own code by defining NEEDPUTENV.
  350.  */
  351. #undef NEEDPUTENV
  352.  
  353. /*
  354.  * If the passwords are stored in a shadow file and you want the
  355.  * builtin lock to work properly, define SHADOWPW.
  356.  */
  357. #undef SHADOWPW
  358.  
  359. /*
  360.  * If you are on a SYS V machine that restricts filename length to 14 
  361.  * characters, you may need to enforce that by setting NAME_MAX to 14
  362.  */
  363. #undef NAME_MAX        /* KEEP_UNDEF_HERE override system value */
  364. #undef NAME_MAX
  365.  
  366. /* 
  367.  * define PTYRANGE0 and or PTYRANGE1 if you want to adapt screen
  368.  * to unusual environments. E.g. For SunOs the defaults are "qpr" and 
  369.  * "0123456789abcdef". For SunOs 4.1.2 
  370.  * #define PTYRANGE0 "pqrstuvwxyzPQRST" 
  371.  * is recommended by Dan Jacobson.
  372.  */
  373. #undef PTYRANGE0
  374. #undef PTYRANGE1
  375.  
  376. /*
  377.  * some defines to prevent redeclarations/retypedefs
  378.  */
  379. #undef CRYPT_DECLARED
  380. #undef GETHOSTNAME_DECLARED
  381. #undef KILLSTUFF_DECLARED
  382. #undef MEMFUNCS_DECLARED
  383. #undef MKNOD_DECLARED
  384. #undef NLIST_DECLARED
  385. #undef PUTENV_DECLARED
  386. #undef REUID_DECLARED
  387. #undef SETPGID_DECLARED
  388. #undef VPRNT_DECLARED
  389. #undef WAITSTUFF_DECLARED
  390. #undef GETDTABLESIZE_DECLARED
  391. #undef SELECT_DECLARED
  392. #undef INDEX_DECLARED
  393.  
  394. #undef SIG_T_DEFINED
  395. #undef PID_T_DEFINED
  396. #undef UID_T_DEFINED
  397.