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