00001 /* config.h. Generated by configure. */ 00002 /* Copyright (c) 1993-2000 00003 * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de) 00004 * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de) 00005 * Copyright (c) 1987 Oliver Laumann 00006 * 00007 * This program is free software; you can redistribute it and/or modify 00008 * it under the terms of the GNU General Public License as published by 00009 * the Free Software Foundation; either version 2, or (at your option) 00010 * any later version. 00011 * 00012 * This program is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 * GNU General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU General Public License 00018 * along with this program (see the file COPYING); if not, write to the 00019 * Free Software Foundation, Inc., 00020 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA 00021 * 00022 **************************************************************** 00023 * $Id: config.h.in,v 1.12 1994/05/31 12:31:36 mlschroe Exp $ FAU 00024 */ 00025 00026 00027 00028 00029 00030 /********************************************************************** 00031 * 00032 * User Configuration Section 00033 */ 00034 00035 /* 00036 * Maximum of simultaneously allowed windows per screen session. 00037 */ 00038 #ifndef MAXWIN 00039 # define MAXWIN 40 00040 #endif 00041 00042 /* 00043 * Define SOCKDIR to be the directory to contain the named sockets 00044 * screen creates. This should be in a common subdirectory, such as 00045 * /usr/local or /tmp. It makes things a little more secure if you 00046 * choose a directory which is not writable by everyone or where the 00047 * "sticky" bit is on, but this isn't required. 00048 * If SOCKDIR is not defined screen will put the named sockets in 00049 * the user's home directory. Notice that this can cause you problems 00050 * if some user's HOME directories are AFS- or NFS-mounted. Especially 00051 * AFS is unlikely to support named sockets. 00052 * 00053 * Screen will name the subdirectories "S-$USER" (e.g /tmp/S-davison). 00054 */ 00055 #define SOCKDIR (eff_uid ? "/tmp/uscreens" : "/tmp/screens") 00056 00057 /* 00058 * Define this if the SOCKDIR is not shared between hosts. 00059 */ 00060 #define SOCKDIR_IS_LOCAL_TO_HOST 00061 00062 /* 00063 * Screen sources two startup files. First a global file with a path 00064 * specified here, second your local $HOME/.screenrc 00065 * Don't define this, if you don't want it. 00066 */ 00067 #ifndef ETCSCREENRC 00068 # define ETCSCREENRC "/usr/etc/screenrc" 00069 #endif 00070 00071 /* 00072 * Screen can look for the environment variable $SYSSCREENRC and -if it 00073 * exists- load the file specified in that variable as global screenrc. 00074 * If you want to enable this feature, define ALLOW_SYSSCREENRC to one (1). 00075 * Otherwise ETCSCREENRC is always loaded. 00076 */ 00077 #define ALLOW_SYSSCREENRC 1 00078 00079 /* 00080 * Screen needs encoding files for the translation of utf8 00081 * into some encodings, e.g. JIS, BIG5. 00082 * Only needed if FONT, ENCODINGS and UTF8 are defined. 00083 */ 00084 #ifndef SCREENENCODINGS 00085 # define SCREENENCODINGS "/usr/share/screen/utf8encodings" 00086 #endif 00087 /* 00088 * Define CHECKLOGIN to force Screen users to enter their Unix password 00089 * in addition to the screen password. 00090 * 00091 * Define NOSYSLOG if yo do not have logging facilities. Currently 00092 * syslog() will be used to trace ``su'' commands only. 00093 */ 00094 #define CHECKLOGIN 1 00095 /* #undef NOSYSLOG */ 00096 00097 00098 /* 00099 * define PTYMODE if you do not like the default of 0622, which allows 00100 * public write to your pty. 00101 * define PTYGROUP to some numerical group-id if you do not want the 00102 * tty to be in "your" group. 00103 * Note, screen is unable to change mode or group of the pty if it 00104 * is not installed with sufficient privilege. (e.g. set-uid-root) 00105 * define PTYROFS if the /dev/pty devices are mounted on a read-only 00106 * filesystem so screen should not even attempt to set mode or group 00107 * even if running as root (e.g. on TiVo). 00108 */ 00109 /* #undef PTYMODE */ 00110 /* #undef PTYGROUP */ 00111 /* #undef PTYROFS */ 00112 00113 /* 00114 * If screen is NOT installed set-uid root, screen can provide tty 00115 * security by exclusively locking the ptys. While this keeps other 00116 * users from opening your ptys, it also keeps your own subprocesses 00117 * from being able to open /dev/tty. Define LOCKPTY to add this 00118 * exclusive locking. 00119 */ 00120 /* #undef LOCKPTY */ 00121 00122 /* 00123 * If you'd rather see the status line on the first line of your 00124 * terminal rather than the last, define TOPSTAT. 00125 */ 00126 /* #undef TOPSTAT */ 00127 00128 /* 00129 * define DETACH can detach a session. An absolute 'must'. 00130 */ 00131 #define DETACH 00132 00133 /* 00134 * here come the erlangen extensions to screen: 00135 * define LOCK if you want to use a lock program for a screenlock. 00136 * define PASSWORD for secure reattach of your screen. 00137 * define COPY_PASTE to use the famous hacker's treasure zoo. 00138 * define POW_DETACH to have a detach_and_logout key (requires DETACH). 00139 * define REMOTE_DETACH (-d option) to move screen between terminals. 00140 * define AUTO_NUKE to enable Tim MacKenzies clear screen nuking 00141 * define PSEUDOS to allow window input/output filtering 00142 * define MULTI to allow multiple attaches. 00143 * define MULTIUSER to allow other users attach to your session 00144 * (if they are in the acl, of course) 00145 * define MAPKEYS to include input keyboard translation. 00146 * define FONT to support ISO2022/alternet charset support 00147 * define COLOR to include ansi color support. This may expose 00148 * a bug in x11r6-color-xterm. 00149 * define DW_CHARS to include support for double-width character 00150 * sets. 00151 * define ENCODINGS to include support for encodings like euc or big5. 00152 * Needs FONT to work. 00153 * define UTF8 if you want support for UTF-8 encoding. 00154 * Needs FONT and ENCODINGS to work. 00155 * define COLORS16 if you want 16 colors. 00156 * Needs COLOR to work. 00157 * define BUILTIN_TELNET to add telnet support to screen. 00158 * Syntax: screen //telnet host [port] 00159 * define RXVT_OSC if you want support for rxvts special 00160 * change fgcolor/bgcolor/bgpicture sequences 00161 */ 00162 /* #undef SIMPLESCREEN */ 00163 #ifndef SIMPLESCREEN 00164 # define LOCK 00165 # define PASSWORD 00166 # define COPY_PASTE 00167 # define REMOTE_DETACH 00168 # define POW_DETACH 00169 # define AUTO_NUKE 00170 # define PSEUDOS 00171 # define MULTI 00172 # define MULTIUSER 00173 # define MAPKEYS 00174 # define COLOR 00175 # define FONT 00176 # define DW_CHARS 00177 # define ENCODINGS 00178 # define UTF8 00179 # define COLORS16 00180 # define ZMODEM 00181 # define BLANKER_PRG 00182 #endif /* SIMPLESCREEN */ 00183 00184 /* #undef BUILTIN_TELNET */ 00185 /* #undef RXVT_OSC */ 00186 /* #undef COLORS256 */ 00187 00188 00189 /* 00190 * If you have a braille display you should define HAVE_BRAILLE. 00191 * The code inside #ifdef HAVE_BRAILLE was contributed by Hadi Bargi 00192 * Rangin (bargi@dots.physics.orst.edu). 00193 * WARNING: this is more or less unsupported code, it may be full of 00194 * bugs leading to security holes, enable at your own risk! 00195 */ 00196 /* #undef HAVE_BRAILLE */ 00197 00198 00199 /* 00200 * As error messages are mostly meaningless to the user, we 00201 * try to throw out phrases that are somewhat more familiar 00202 * to ...well, at least familiar to us NetHack players. 00203 */ 00204 #ifndef NONETHACK 00205 # define NETHACK 00206 #endif /* NONETHACK */ 00207 00208 /* 00209 * If screen is installed with permissions to update /etc/utmp (such 00210 * as if it is installed set-uid root), define UTMPOK. 00211 */ 00212 #define UTMPOK 00213 00214 /* Set LOGINDEFAULT to one (1) 00215 * if you want entries added to /etc/utmp by default, else set it to 00216 * zero (0). 00217 * LOGINDEFAULT will be one (1) whenever LOGOUTOK is undefined! 00218 */ 00219 #define LOGINDEFAULT 1 00220 00221 /* Set LOGOUTOK to one (1) 00222 * if you want the user to be able to log her/his windows out. 00223 * (Meaning: They are there, but not visible in /etc/utmp). 00224 * Disabling this feature only makes sense if you have a secure /etc/utmp 00225 * database. 00226 * Negative examples: suns usually have a world writable utmp file, 00227 * xterm will run perfectly without s-bit. 00228 * 00229 * If LOGOUTOK is undefined and UTMPOK is defined, all windows are 00230 * initially and permanently logged in. 00231 * 00232 * Set CAREFULUTMP to one (1) if you want that users have at least one 00233 * window per screen session logged in. 00234 */ 00235 #define LOGOUTOK 1 00236 /* #undef CAREFULUTMP */ 00237 00238 00239 /* 00240 * If UTMPOK is defined and your system (incorrectly) counts logins by 00241 * counting non-null entries in /etc/utmp (instead of counting non-null 00242 * entries with no hostname that are not on a pseudo tty), define USRLIMIT 00243 * to have screen put an upper-limit on the number of entries to write 00244 * into /etc/utmp. This helps to keep you from exceeding a limited-user 00245 * license. 00246 */ 00247 /* #undef USRLIMIT */ 00248 00249 /* 00250 * both must be defined if you want to favor tcsendbreak over 00251 * other calls to generate a break condition on serial lines. 00252 * (Do not bother, if you are not using plain tty windows.) 00253 */ 00254 #define POSIX_HAS_A_GOOD_TCSENDBREAK 00255 #define SUNOS4_AND_WE_TRUST_TCSENDBREAK 00256 00257 /* 00258 * to lower the interrupt load on the host machine, you may want to 00259 * adjust the VMIN and VTIME settings used for plain tty windows. 00260 * See the termio(4) manual page (Non-Canonical Mode Input Processing) 00261 * for details. 00262 * if undefined, VMIN=1, VTIME=0 is used as a default - this gives you 00263 * best user responsiveness, but highest interrupt frequency. 00264 * (Do not bother, if you are not using plain tty windows.) 00265 */ 00266 #define TTYVMIN 100 00267 #define TTYVTIME 2 00268 00269 /* 00270 * looks like the above values are ignored by setting FNDELAY. 00271 * This is default for all pty/ttys, you may disable it for 00272 * ttys here. After playing with it for a while, one may find out 00273 * that this feature may cause screen to lock up. 00274 */ 00275 #ifdef bsdi 00276 # define TTY_DISABLE_FNBLOCK /* select barfs without it ... */ 00277 #endif 00278 00279 00280 /* 00281 * Some terminals, e.g. Wyse 120, use a bitfield to select attributes. 00282 * This doesn't work with the standard so/ul/m? terminal entries, 00283 * because they will cancel each other out. 00284 * On TERMINFO machines, "sa" (sgr) may work. If you want screen 00285 * to switch attributes only with sgr, define USE_SGR. 00286 * This is *not* recomended, do this only if you must. 00287 */ 00288 /* #undef USE_SGR */ 00289 00290 00291 /* 00292 * Define USE_LOCALE if you want screen to use the locale names 00293 * for the name of the month and day of the week. 00294 */ 00295 #define USE_LOCALE 00296 00297 /* 00298 * Define USE_PAM if your system supports PAM (Pluggable Authentication 00299 * Modules) and you want screen to use it instead of calling crypt(). 00300 * (You may also need to add -lpam to LIBS in the Makefile.) 00301 */ 00302 /* #undef USE_PAM */ 00303 00304 /* 00305 * Define CHECK_SCREEN_W if you want screen to set TERM to screen-w 00306 * if the terminal width is greater than 131 columns. No longer needed 00307 * on modern systems which use $COLUMNS or the tty settings instead. 00308 */ 00309 /* #undef CHECK_SCREEN_W */ 00310 00311 /********************************************************************** 00312 * 00313 * End of User Configuration Section 00314 * 00315 * Rest of this file is modified by 'configure' 00316 * Change at your own risk! 00317 * 00318 */ 00319 00320 /* 00321 * Some defines to identify special unix variants 00322 */ 00323 #ifndef SVR4 00324 /* #undef SVR4 */ 00325 #endif 00326 00327 /* #ifndef __osf__ */ 00328 #ifndef MIPS 00329 /* #undef MIPS */ 00330 #endif 00331 /* #endif */ 00332 00333 #ifndef OSX 00334 /* #undef OSX */ 00335 #endif 00336 00337 #ifndef ISC 00338 /* #undef ISC */ 00339 #endif 00340 00341 #ifndef sysV68 00342 /* #undef sysV68 */ 00343 #endif 00344 00345 #ifndef _POSIX_SOURCE 00346 /* #undef _POSIX_SOURCE */ 00347 #endif 00348 00349 /* 00350 * Define POSIX if your system supports IEEE Std 1003.1-1988 (POSIX). 00351 */ 00352 #define POSIX 1 00353 00354 /* 00355 * Define BSDJOBS if you have BSD-style job control (both process 00356 * groups and a tty that deals correctly with them). 00357 */ 00358 #define BSDJOBS 1 00359 00360 /* 00361 * Define TERMIO if you have struct termio instead of struct sgttyb. 00362 * This is usually the case for SVID systems, where BSD uses sgttyb. 00363 * POSIX systems should define this anyway, even though they use 00364 * struct termios. 00365 */ 00366 #define TERMIO 1 00367 00368 /* 00369 * Define CYTERMIO if you have cyrillic termio modes. 00370 */ 00371 /* #undef CYTERMIO */ 00372 00373 /* 00374 * Define TERMINFO if your machine emulates the termcap routines 00375 * with the terminfo database. 00376 * Thus the .screenrc file is parsed for 00377 * the command 'terminfo' and not 'termcap'. 00378 */ 00379 /* #undef TERMINFO */ 00380 00381 /* 00382 * If your library does not define ospeed, define this. 00383 */ 00384 /* #undef NEED_OSPEED */ 00385 00386 /* 00387 * Define SYSV if your machine is SYSV complient (Sys V, HPUX, A/UX) 00388 */ 00389 #ifndef SYSV 00390 /* #undef SYSV */ 00391 #endif 00392 00393 /* 00394 * Define SIGVOID if your signal handlers return void. On older 00395 * systems, signal returns int, but on newer ones, it returns void. 00396 */ 00397 #define SIGVOID 1 00398 00399 /* 00400 * Define USESIGSET if you have sigset for BSD 4.1 reliable signals. 00401 */ 00402 /* #undef USESIGSET */ 00403 00404 /* 00405 * Define SYSVSIGS if signal handlers must be reinstalled after 00406 * they have been called. 00407 */ 00408 /* #undef SYSVSIGS */ 00409 00410 /* 00411 * Define BSDWAIT if your system defines a 'union wait' in <sys/wait.h> 00412 * 00413 * Only allow BSDWAIT i.e. wait3 on nonposix systems, since 00414 * posix implies wait(3) and waitpid(3). vdlinden@fwi.uva.nl 00415 * 00416 */ 00417 #ifndef POSIX 00418 /* #undef BSDWAIT */ 00419 #endif 00420 00421 /* 00422 * On RISCOS we prefer wait2() over wait3(). rouilj@sni-usa.com 00423 */ 00424 #ifdef BSDWAIT 00425 /* #undef USE_WAIT2 */ 00426 #endif 00427 00428 /* 00429 * Define HAVE_DIRENT_H if your system has <dirent.h> instead of 00430 * <sys/dir.h> 00431 */ 00432 #define HAVE_DIRENT_H 1 00433 00434 /* 00435 * If your system has getutent(), pututline(), etc. to write to the 00436 * utmp file, define GETUTENT. 00437 */ 00438 #define GETUTENT 1 00439 00440 /* 00441 * Define UTHOST if the utmp file has a host field. 00442 */ 00443 #define UTHOST 1 00444 00445 /* 00446 * Define if you have the utempter utmp helper program 00447 */ 00448 /* #undef HAVE_UTEMPTER */ 00449 00450 /* 00451 * If ttyslot() breaks getlogin() by returning indexes to utmp entries 00452 * of type DEAD_PROCESS, then our getlogin() replacement should be 00453 * selected by defining BUGGYGETLOGIN. 00454 */ 00455 /* #undef BUGGYGETLOGIN */ 00456 00457 /* 00458 * If your system has the calls setreuid() and setregid(), 00459 * define HAVE_SETREUID. Otherwise screen will use a forked process to 00460 * safely create output files without retaining any special privileges. 00461 */ 00462 #define HAVE_SETREUID 1 00463 00464 /* 00465 * If your system supports BSD4.4's seteuid() and setegid(), define 00466 * HAVE_SETEUID. 00467 */ 00468 #define HAVE_SETEUID 1 00469 00470 /* 00471 * If you want the "time" command to display the current load average 00472 * define LOADAV. Maybe you must install screen with the needed 00473 * privileges to read /dev/kmem. 00474 * Note that NLIST_ stuff is only checked, when getloadavg() is not available. 00475 */ 00476 /* #undef LOADAV */ 00477 00478 #define LOADAV_NUM 3 00479 #define LOADAV_TYPE double 00480 #define LOADAV_SCALE 1 00481 /* #undef LOADAV_GETLOADAVG */ 00482 /* #undef LOADAV_UNIX */ 00483 /* #undef LOADAV_AVENRUN */ 00484 /* #undef LOADAV_USE_NLIST64 */ 00485 00486 /* #undef NLIST_DECLARED */ 00487 /* #undef NLIST_STRUCT */ 00488 /* #undef NLIST_NAME_UNION */ 00489 00490 /* 00491 * If your system has the new format /etc/ttys (like 4.3 BSD) and the 00492 * getttyent(3) library functions, define GETTTYENT. 00493 */ 00494 /* #undef GETTTYENT */ 00495 00496 /* 00497 * Define USEBCOPY if the bcopy/memcpy from your system's C library 00498 * supports the overlapping of source and destination blocks. When 00499 * undefined, screen uses its own (probably slower) version of bcopy(). 00500 * 00501 * SYSV machines may have a working memcpy() -- Oh, this is 00502 * quite unlikely. Tell me if you see one. 00503 * "But then, memmove() should work, if at all available" he thought... 00504 * Boing, never say "works everywhere" unless you checked SCO UNIX. 00505 * Their memove fails the test in the configure script. Sigh. (Juergen) 00506 */ 00507 #define USEBCOPY 1 00508 /* #undef USEMEMCPY */ 00509 #define USEMEMMOVE 1 00510 00511 /* 00512 * If your system has vsprintf() and requires the use of the macros in 00513 * "varargs.h" to use functions with variable arguments, 00514 * define USEVARARGS. 00515 */ 00516 #define USEVARARGS 1 00517 00518 /* 00519 * If your system has strerror() define this. 00520 */ 00521 #define HAVE_STRERROR 1 00522 00523 /* 00524 * If the select return value doesn't treat a descriptor that is 00525 * usable for reading and writing as two hits, define SELECT_BROKEN. 00526 */ 00527 /* #undef SELECT_BROKEN */ 00528 00529 /* 00530 * Define this if your system supports named pipes. 00531 */ 00532 /* #undef NAMEDPIPE */ 00533 00534 /* 00535 * Define this if your system exits select() immediatly if a pipe is 00536 * opened read-only and no writer has opened it. 00537 */ 00538 /* #undef BROKEN_PIPE */ 00539 00540 /* 00541 * Define this if the unix-domain socket implementation doesn't 00542 * create a socket in the filesystem. 00543 */ 00544 /* #undef SOCK_NOT_IN_FS */ 00545 00546 /* 00547 * If your system has setenv() and unsetenv() define USESETENV 00548 */ 00549 #define USESETENV 1 00550 00551 /* 00552 * If your system does not come with a setenv()/putenv()/getenv() 00553 * functions, you may bring in our own code by defining NEEDPUTENV. 00554 */ 00555 /* #undef NEEDPUTENV */ 00556 00557 /* 00558 * If the passwords are stored in a shadow file and you want the 00559 * builtin lock to work properly, define SHADOWPW. 00560 */ 00561 /* #undef SHADOWPW */ 00562 00563 /* 00564 * If you are on a SYS V machine that restricts filename length to 14 00565 * characters, you may need to enforce that by setting NAME_MAX to 14 00566 */ 00567 /* #undef NAME_MAX */ /* KEEP_UNDEF_HERE override system value */ 00568 /* #undef NAME_MAX */ 00569 00570 /* 00571 * define HAVE_RENAME if your system has a rename() function 00572 */ 00573 #define HAVE_RENAME 1 00574 00575 /* 00576 * define HAVE__EXIT if your system has the _exit() call. 00577 */ 00578 #define HAVE__EXIT 1 00579 00580 /* 00581 * define HAVE_LSTAT if your system has symlinks and the lstat() call. 00582 */ 00583 #define HAVE_LSTAT 1 00584 00585 /* 00586 * define HAVE_UTIMES if your system has the utimes() call. 00587 */ 00588 #define HAVE_UTIMES 1 00589 00590 /* 00591 * define HAVE_FCHOWN if your system has the fchown() call. 00592 */ 00593 #define HAVE_FCHOWN 1 00594 00595 /* 00596 * define HAVE_FCHMOD if your system has the fchmod() call. 00597 */ 00598 #define HAVE_FCHMOD 1 00599 00600 /* 00601 * define HAVE_VSNPRINTF if your system has vsnprintf() (GNU lib). 00602 */ 00603 #define HAVE_VSNPRINTF 1 00604 00605 /* 00606 * define HAVE_GETCWD if your system has the getcwd() call. 00607 */ 00608 #define HAVE_GETCWD 1 00609 00610 /* 00611 * define HAVE_SETLOCALE if your system has the setlocale() call. 00612 */ 00613 #define HAVE_SETLOCALE 1 00614 00615 /* 00616 * define HAVE_STRFTIME if your system has the strftime() call. 00617 */ 00618 #define HAVE_STRFTIME 1 00619 00620 /* 00621 * define HAVE_NL_LANGINFO if your system has the nl_langinfo() call 00622 * and <langinfo.h> defines CODESET. 00623 */ 00624 #define HAVE_NL_LANGINFO 1 00625 00626 /* 00627 * Newer versions of Solaris include fdwalk, which can greatly improve 00628 * the startup time of screen; otherwise screen spends a lot of time 00629 * closing file descriptors. 00630 */ 00631 /* #undef HAVE_FDWALK */ 00632 00633 /* 00634 * define HAVE_DEV_PTC if you have a /dev/ptc character special 00635 * device. 00636 */ 00637 /* #undef HAVE_DEV_PTC */ 00638 00639 /* 00640 * define HAVE_SVR4_PTYS if you have a /dev/ptmx character special 00641 * device and support the ptsname(), grantpt(), unlockpt() functions. 00642 */ 00643 #define HAVE_SVR4_PTYS 1 00644 00645 /* 00646 * define HAVE_GETPT if you have the getpt() function. 00647 */ 00648 /* #undef HAVE_GETPT */ 00649 00650 /* 00651 * define HAVE_OPENPTY if your system has the openpty() call. 00652 */ 00653 /* #undef HAVE_OPENPTY */ 00654 00655 /* 00656 * define PTYRANGE0 and or PTYRANGE1 if you want to adapt screen 00657 * to unusual environments. E.g. For SunOs the defaults are "qpr" and 00658 * "0123456789abcdef". For SunOs 4.1.2 00659 * #define PTYRANGE0 "pqrstuvwxyzPQRST" 00660 * is recommended by Dan Jacobson. 00661 */ 00662 /* #undef PTYRANGE0 */ 00663 /* #undef PTYRANGE1 */ 00664
1.4.3