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