1/* config.h. Generated by configure. */ 2/* Copyright (c) 1993-2000 3 * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de) 4 * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de) 5 * Copyright (c) 1987 Oliver Laumann 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation; either version 2, or (at your option) 10 * any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program (see the file COPYING); if not, write to the 19 * Free Software Foundation, Inc., 20 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA 21 * 22 **************************************************************** 23 * $Id: config.h.in,v 1.12 1994/05/31 12:31:36 mlschroe Exp $ FAU 24 */ 25 26 27 28 29 30/********************************************************************** 31 * 32 * User Configuration Section 33 */ 34 35/* 36 * Maximum of simultaneously allowed windows per screen session. 37 */ 38#ifndef MAXWIN 39# define MAXWIN 40 40#endif 41 42/* 43 * Define SOCKDIR to be the directory to contain the named sockets 44 * screen creates. This should be in a common subdirectory, such as 45 * /usr/local or /tmp. It makes things a little more secure if you 46 * choose a directory which is not writable by everyone or where the 47 * "sticky" bit is on, but this isn't required. 48 * If SOCKDIR is not defined screen will put the named sockets in 49 * the user's home directory. Notice that this can cause you problems 50 * if some user's HOME directories are AFS- or NFS-mounted. Especially 51 * AFS is unlikely to support named sockets. 52 * 53 * Screen will name the subdirectories "S-$USER" (e.g /tmp/S-davison). 54 */ 55#define SOCKDIR (eff_uid ? "/tmp/uscreens" : "/tmp/screens") 56 57/* 58 * Define this if the SOCKDIR is not shared between hosts. 59 */ 60#define SOCKDIR_IS_LOCAL_TO_HOST 61 62/* 63 * Screen sources two startup files. First a global file with a path 64 * specified here, second your local $HOME/.screenrc 65 * Don't define this, if you don't want it. 66 */ 67#ifndef ETCSCREENRC 68# define ETCSCREENRC "/private/etc/screenrc" 69#endif 70 71/* 72 * Screen can look for the environment variable $SYSSCREENRC and -if it 73 * exists- load the file specified in that variable as global screenrc. 74 * If you want to enable this feature, define ALLOW_SYSSCREENRC to one (1). 75 * Otherwise ETCSCREENRC is always loaded. 76 */ 77#define ALLOW_SYSSCREENRC 1 78 79/* 80 * Screen needs encoding files for the translation of utf8 81 * into some encodings, e.g. JIS, BIG5. 82 * Only needed if FONT, ENCODINGS and UTF8 are defined. 83 */ 84#ifndef SCREENENCODINGS 85# define SCREENENCODINGS "/usr/share/screen/utf8encodings" 86#endif 87/* 88 * Define CHECKLOGIN to force Screen users to enter their Unix password 89 * in addition to the screen password. 90 * 91 * Define NOSYSLOG if yo do not have logging facilities. Currently 92 * syslog() will be used to trace ``su'' commands only. 93 */ 94#define CHECKLOGIN 1 95/* #undef NOSYSLOG */ 96 97 98/* 99 * define PTYMODE if you do not like the default of 0622, which allows 100 * public write to your pty. 101 * define PTYGROUP to some numerical group-id if you do not want the 102 * tty to be in "your" group. 103 * Note, screen is unable to change mode or group of the pty if it 104 * is not installed with sufficient privilege. (e.g. set-uid-root) 105 * define PTYROFS if the /dev/pty devices are mounted on a read-only 106 * filesystem so screen should not even attempt to set mode or group 107 * even if running as root (e.g. on TiVo). 108 */ 109#define PTYMODE 0620 110#define PTYGROUP 4 111/* #undef PTYROFS */ 112 113/* 114 * If screen is NOT installed set-uid root, screen can provide tty 115 * security by exclusively locking the ptys. While this keeps other 116 * users from opening your ptys, it also keeps your own subprocesses 117 * from being able to open /dev/tty. Define LOCKPTY to add this 118 * exclusive locking. 119 */ 120/* #undef LOCKPTY */ 121 122/* 123 * If you'd rather see the status line on the first line of your 124 * terminal rather than the last, define TOPSTAT. 125 */ 126/* #undef TOPSTAT */ 127 128/* 129 * define DETACH can detach a session. An absolute 'must'. 130 */ 131#define DETACH 132 133/* 134 * here come the erlangen extensions to screen: 135 * define LOCK if you want to use a lock program for a screenlock. 136 * define PASSWORD for secure reattach of your screen. 137 * define COPY_PASTE to use the famous hacker's treasure zoo. 138 * define POW_DETACH to have a detach_and_logout key (requires DETACH). 139 * define REMOTE_DETACH (-d option) to move screen between terminals. 140 * define AUTO_NUKE to enable Tim MacKenzies clear screen nuking 141 * define PSEUDOS to allow window input/output filtering 142 * define MULTI to allow multiple attaches. 143 * define MULTIUSER to allow other users attach to your session 144 * (if they are in the acl, of course) 145 * define MAPKEYS to include input keyboard translation. 146 * define FONT to support ISO2022/alternet charset support 147 * define COLOR to include ansi color support. This may expose 148 * a bug in x11r6-color-xterm. 149 * define DW_CHARS to include support for double-width character 150 * sets. 151 * define ENCODINGS to include support for encodings like euc or big5. 152 * Needs FONT to work. 153 * define UTF8 if you want support for UTF-8 encoding. 154 * Needs FONT and ENCODINGS to work. 155 * define COLORS16 if you want 16 colors. 156 * Needs COLOR to work. 157 * define BUILTIN_TELNET to add telnet support to screen. 158 * Syntax: screen //telnet host [port] 159 * define RXVT_OSC if you want support for rxvts special 160 * change fgcolor/bgcolor/bgpicture sequences 161 */ 162/* #undef SIMPLESCREEN */ 163#ifndef SIMPLESCREEN 164# define LOCK 165# define PASSWORD 166# define COPY_PASTE 167# define REMOTE_DETACH 168# define POW_DETACH 169# define AUTO_NUKE 170# define PSEUDOS 171# define MULTI 172# define MULTIUSER 173# define MAPKEYS 174# define COLOR 175# define FONT 176# define DW_CHARS 177# define ENCODINGS 178# define UTF8 179# define COLORS16 180# define ZMODEM 181# define BLANKER_PRG 182#endif /* SIMPLESCREEN */ 183 184/* #undef BUILTIN_TELNET */ 185/* #undef RXVT_OSC */ 186/* #undef COLORS256 */ 187 188 189/* 190 * If you have a braille display you should define HAVE_BRAILLE. 191 * The code inside #ifdef HAVE_BRAILLE was contributed by Hadi Bargi 192 * Rangin (bargi@dots.physics.orst.edu). 193 * WARNING: this is more or less unsupported code, it may be full of 194 * bugs leading to security holes, enable at your own risk! 195 */ 196/* #undef HAVE_BRAILLE */ 197 198 199/* 200 * As error messages are mostly meaningless to the user, we 201 * try to throw out phrases that are somewhat more familiar 202 * to ...well, at least familiar to us NetHack players. 203 */ 204#ifndef NONETHACK 205# define NETHACK 206#endif /* NONETHACK */ 207 208/* 209 * If screen is installed with permissions to update /etc/utmp (such 210 * as if it is installed set-uid root), define UTMPOK. 211 */ 212/* #undef UTMPOK */ 213 214/* Set LOGINDEFAULT to one (1) 215 * if you want entries added to /etc/utmp by default, else set it to 216 * zero (0). 217 * LOGINDEFAULT will be one (1) whenever LOGOUTOK is undefined! 218 */ 219/* #undef LOGINDEFAULT */ 220 221/* Set LOGOUTOK to one (1) 222 * if you want the user to be able to log her/his windows out. 223 * (Meaning: They are there, but not visible in /etc/utmp). 224 * Disabling this feature only makes sense if you have a secure /etc/utmp 225 * database. 226 * Negative examples: suns usually have a world writable utmp file, 227 * xterm will run perfectly without s-bit. 228 * 229 * If LOGOUTOK is undefined and UTMPOK is defined, all windows are 230 * initially and permanently logged in. 231 * 232 * Set CAREFULUTMP to one (1) if you want that users have at least one 233 * window per screen session logged in. 234 */ 235/* #undef LOGOUTOK */ 236/* #undef CAREFULUTMP */ 237 238 239/* 240 * If UTMPOK is defined and your system (incorrectly) counts logins by 241 * counting non-null entries in /etc/utmp (instead of counting non-null 242 * entries with no hostname that are not on a pseudo tty), define USRLIMIT 243 * to have screen put an upper-limit on the number of entries to write 244 * into /etc/utmp. This helps to keep you from exceeding a limited-user 245 * license. 246 */ 247/* #undef USRLIMIT */ 248 249/* 250 * both must be defined if you want to favor tcsendbreak over 251 * other calls to generate a break condition on serial lines. 252 * (Do not bother, if you are not using plain tty windows.) 253 */ 254#define POSIX_HAS_A_GOOD_TCSENDBREAK 255#define SUNOS4_AND_WE_TRUST_TCSENDBREAK 256 257/* 258 * to lower the interrupt load on the host machine, you may want to 259 * adjust the VMIN and VTIME settings used for plain tty windows. 260 * See the termio(4) manual page (Non-Canonical Mode Input Processing) 261 * for details. 262 * if undefined, VMIN=1, VTIME=0 is used as a default - this gives you 263 * best user responsiveness, but highest interrupt frequency. 264 * (Do not bother, if you are not using plain tty windows.) 265 */ 266#define TTYVMIN 100 267#define TTYVTIME 2 268 269/* 270 * looks like the above values are ignored by setting FNDELAY. 271 * This is default for all pty/ttys, you may disable it for 272 * ttys here. After playing with it for a while, one may find out 273 * that this feature may cause screen to lock up. 274 */ 275#ifdef bsdi 276# define TTY_DISABLE_FNBLOCK /* select barfs without it ... */ 277#endif 278 279 280/* 281 * Some terminals, e.g. Wyse 120, use a bitfield to select attributes. 282 * This doesn't work with the standard so/ul/m? terminal entries, 283 * because they will cancel each other out. 284 * On TERMINFO machines, "sa" (sgr) may work. If you want screen 285 * to switch attributes only with sgr, define USE_SGR. 286 * This is *not* recomended, do this only if you must. 287 */ 288/* #undef USE_SGR */ 289 290 291/* 292 * Define USE_LOCALE if you want screen to use the locale names 293 * for the name of the month and day of the week. 294 */ 295#define USE_LOCALE 296 297/* 298 * Define USE_PAM if your system supports PAM (Pluggable Authentication 299 * Modules) and you want screen to use it instead of calling crypt(). 300 * (You may also need to add -lpam to LIBS in the Makefile.) 301 */ 302/* #undef USE_PAM */ 303 304/* 305 * Define CHECK_SCREEN_W if you want screen to set TERM to screen-w 306 * if the terminal width is greater than 131 columns. No longer needed 307 * on modern systems which use $COLUMNS or the tty settings instead. 308 */ 309/* #undef CHECK_SCREEN_W */ 310 311/********************************************************************** 312 * 313 * End of User Configuration Section 314 * 315 * Rest of this file is modified by 'configure' 316 * Change at your own risk! 317 * 318 */ 319 320/* 321 * Some defines to identify special unix variants 322 */ 323#ifndef SVR4 324/* #undef SVR4 */ 325#endif 326 327/* #ifndef __osf__ */ 328#ifndef MIPS 329/* #undef MIPS */ 330#endif 331/* #endif */ 332 333#ifndef OSX 334/* #undef OSX */ 335#endif 336 337#ifndef ISC 338/* #undef ISC */ 339#endif 340 341#ifndef sysV68 342/* #undef sysV68 */ 343#endif 344 345#ifndef _POSIX_SOURCE 346/* #undef _POSIX_SOURCE */ 347#endif 348 349/* 350 * Define POSIX if your system supports IEEE Std 1003.1-1988 (POSIX). 351 */ 352#define POSIX 1 353 354/* 355 * Define BSDJOBS if you have BSD-style job control (both process 356 * groups and a tty that deals correctly with them). 357 */ 358#define BSDJOBS 1 359 360/* 361 * Define TERMIO if you have struct termio instead of struct sgttyb. 362 * This is usually the case for SVID systems, where BSD uses sgttyb. 363 * POSIX systems should define this anyway, even though they use 364 * struct termios. 365 */ 366#define TERMIO 1 367 368/* 369 * Define CYTERMIO if you have cyrillic termio modes. 370 */ 371/* #undef CYTERMIO */ 372 373/* 374 * Define TERMINFO if your machine emulates the termcap routines 375 * with the terminfo database. 376 * Thus the .screenrc file is parsed for 377 * the command 'terminfo' and not 'termcap'. 378 */ 379#define TERMINFO 1 380 381/* 382 * If your library does not define ospeed, define this. 383 */ 384/* #undef NEED_OSPEED */ 385 386/* 387 * Define SYSV if your machine is SYSV complient (Sys V, HPUX, A/UX) 388 */ 389#ifndef SYSV 390/* #undef SYSV */ 391#endif 392 393/* 394 * Define SIGVOID if your signal handlers return void. On older 395 * systems, signal returns int, but on newer ones, it returns void. 396 */ 397#define SIGVOID 1 398 399/* 400 * Define USESIGSET if you have sigset for BSD 4.1 reliable signals. 401 */ 402/* #undef USESIGSET */ 403 404/* 405 * Define SYSVSIGS if signal handlers must be reinstalled after 406 * they have been called. 407 */ 408/* #undef SYSVSIGS */ 409 410/* 411 * Define BSDWAIT if your system defines a 'union wait' in <sys/wait.h> 412 * 413 * Only allow BSDWAIT i.e. wait3 on nonposix systems, since 414 * posix implies wait(3) and waitpid(3). vdlinden@fwi.uva.nl 415 * 416 */ 417#ifndef POSIX 418#define BSDWAIT 1 419#endif 420 421/* 422 * On RISCOS we prefer wait2() over wait3(). rouilj@sni-usa.com 423 */ 424#ifdef BSDWAIT 425/* #undef USE_WAIT2 */ 426#endif 427 428/* 429 * Define HAVE_DIRENT_H if your system has <dirent.h> instead of 430 * <sys/dir.h> 431 */ 432#define HAVE_DIRENT_H 1 433 434/* 435 * If your system has getutent(), pututline(), etc. to write to the 436 * utmp file, define GETUTENT. 437 */ 438#define GETUTENT 1 439 440/* 441 * Define UTHOST if the utmp file has a host field. 442 */ 443#define UTHOST 1 444 445/* 446 * Define if you have the utempter utmp helper program 447 */ 448/* #undef HAVE_UTEMPTER */ 449 450/* 451 * If ttyslot() breaks getlogin() by returning indexes to utmp entries 452 * of type DEAD_PROCESS, then our getlogin() replacement should be 453 * selected by defining BUGGYGETLOGIN. 454 */ 455/* #undef BUGGYGETLOGIN */ 456 457/* 458 * If your system has the calls setreuid() and setregid(), 459 * define HAVE_SETREUID. Otherwise screen will use a forked process to 460 * safely create output files without retaining any special privileges. 461 */ 462#define HAVE_SETREUID 1 463 464/* 465 * If your system supports BSD4.4's seteuid() and setegid(), define 466 * HAVE_SETEUID. 467 */ 468#define HAVE_SETEUID 1 469 470/* 471 * If you want the "time" command to display the current load average 472 * define LOADAV. Maybe you must install screen with the needed 473 * privileges to read /dev/kmem. 474 * Note that NLIST_ stuff is only checked, when getloadavg() is not available. 475 */ 476#define LOADAV 1 477 478#define LOADAV_NUM 3 479#define LOADAV_TYPE double 480#define LOADAV_SCALE 1 481#define LOADAV_GETLOADAVG 1 482/* #undef LOADAV_UNIX */ 483/* #undef LOADAV_AVENRUN */ 484/* #undef LOADAV_USE_NLIST64 */ 485 486/* #undef NLIST_DECLARED */ 487/* #undef NLIST_STRUCT */ 488/* #undef NLIST_NAME_UNION */ 489 490/* 491 * If your system has the new format /etc/ttys (like 4.3 BSD) and the 492 * getttyent(3) library functions, define GETTTYENT. 493 */ 494#define GETTTYENT 1 495 496/* 497 * Define USEBCOPY if the bcopy/memcpy from your system's C library 498 * supports the overlapping of source and destination blocks. When 499 * undefined, screen uses its own (probably slower) version of bcopy(). 500 * 501 * SYSV machines may have a working memcpy() -- Oh, this is 502 * quite unlikely. Tell me if you see one. 503 * "But then, memmove() should work, if at all available" he thought... 504 * Boing, never say "works everywhere" unless you checked SCO UNIX. 505 * Their memove fails the test in the configure script. Sigh. (Juergen) 506 */ 507#define USEBCOPY 1 508/* #undef USEMEMCPY */ 509#define USEMEMMOVE 1 510 511/* 512 * If your system has vsprintf() and requires the use of the macros in 513 * "varargs.h" to use functions with variable arguments, 514 * define USEVARARGS. 515 */ 516#define USEVARARGS 1 517 518/* 519 * If your system has strerror() define this. 520 */ 521#define HAVE_STRERROR 1 522 523/* 524 * If the select return value doesn't treat a descriptor that is 525 * usable for reading and writing as two hits, define SELECT_BROKEN. 526 */ 527/* #undef SELECT_BROKEN */ 528 529/* 530 * Define this if your system supports named pipes. 531 */ 532#define NAMEDPIPE 1 533 534/* 535 * Define this if your system exits select() immediatly if a pipe is 536 * opened read-only and no writer has opened it. 537 */ 538/* #undef BROKEN_PIPE */ 539 540/* 541 * Define this if the unix-domain socket implementation doesn't 542 * create a socket in the filesystem. 543 */ 544/* #undef SOCK_NOT_IN_FS */ 545 546/* 547 * If your system has setenv() and unsetenv() define USESETENV 548 */ 549#define USESETENV 1 550 551/* 552 * If your system does not come with a setenv()/putenv()/getenv() 553 * functions, you may bring in our own code by defining NEEDPUTENV. 554 */ 555/* #undef NEEDPUTENV */ 556 557/* 558 * If the passwords are stored in a shadow file and you want the 559 * builtin lock to work properly, define SHADOWPW. 560 */ 561/* #undef SHADOWPW */ 562 563/* 564 * If you are on a SYS V machine that restricts filename length to 14 565 * characters, you may need to enforce that by setting NAME_MAX to 14 566 */ 567/* #undef NAME_MAX */ /* KEEP_UNDEF_HERE override system value */ 568/* #undef NAME_MAX */ 569 570/* 571 * define HAVE_RENAME if your system has a rename() function 572 */ 573#define HAVE_RENAME 1 574 575/* 576 * define HAVE__EXIT if your system has the _exit() call. 577 */ 578#define HAVE__EXIT 1 579 580/* 581 * define HAVE_LSTAT if your system has symlinks and the lstat() call. 582 */ 583#define HAVE_LSTAT 1 584 585/* 586 * define HAVE_UTIMES if your system has the utimes() call. 587 */ 588#define HAVE_UTIMES 1 589 590/* 591 * define HAVE_FCHOWN if your system has the fchown() call. 592 */ 593#define HAVE_FCHOWN 1 594 595/* 596 * define HAVE_FCHMOD if your system has the fchmod() call. 597 */ 598#define HAVE_FCHMOD 1 599 600/* 601 * define HAVE_VSNPRINTF if your system has vsnprintf() (GNU lib). 602 */ 603#define HAVE_VSNPRINTF 1 604 605/* 606 * define HAVE_GETCWD if your system has the getcwd() call. 607 */ 608#define HAVE_GETCWD 1 609 610/* 611 * define HAVE_SETLOCALE if your system has the setlocale() call. 612 */ 613#define HAVE_SETLOCALE 1 614 615/* 616 * define HAVE_STRFTIME if your system has the strftime() call. 617 */ 618#define HAVE_STRFTIME 1 619 620/* 621 * define HAVE_NL_LANGINFO if your system has the nl_langinfo() call 622 * and <langinfo.h> defines CODESET. 623 */ 624#define HAVE_NL_LANGINFO 1 625 626/* 627 * Newer versions of Solaris include fdwalk, which can greatly improve 628 * the startup time of screen; otherwise screen spends a lot of time 629 * closing file descriptors. 630 */ 631/* #undef HAVE_FDWALK */ 632 633/* 634 * define HAVE_DEV_PTC if you have a /dev/ptc character special 635 * device. 636 */ 637/* #undef HAVE_DEV_PTC */ 638 639/* 640 * define HAVE_SVR4_PTYS if you have a /dev/ptmx character special 641 * device and support the ptsname(), grantpt(), unlockpt() functions. 642 */ 643#define HAVE_SVR4_PTYS 1 644 645/* 646 * define HAVE_GETPT if you have the getpt() function. 647 */ 648/* #undef HAVE_GETPT */ 649 650/* 651 * define HAVE_OPENPTY if your system has the openpty() call. 652 */ 653/* #undef HAVE_OPENPTY */ 654 655/* 656 * define PTYRANGE0 and or PTYRANGE1 if you want to adapt screen 657 * to unusual environments. E.g. For SunOs the defaults are "qpr" and 658 * "0123456789abcdef". For SunOs 4.1.2 659 * #define PTYRANGE0 "pqrstuvwxyzPQRST" 660 * is recommended by Dan Jacobson. 661 */ 662#define PTYRANGE0 "pqrstuvw" 663#define PTYRANGE1 "0123456789abcdef" 664 665