diff options
Diffstat (limited to 'games/nethack/files/unixconf.h.slack')
-rw-r--r-- | games/nethack/files/unixconf.h.slack | 351 |
1 files changed, 351 insertions, 0 deletions
diff --git a/games/nethack/files/unixconf.h.slack b/games/nethack/files/unixconf.h.slack new file mode 100644 index 0000000000..1402bb36b1 --- /dev/null +++ b/games/nethack/files/unixconf.h.slack @@ -0,0 +1,351 @@ +/* SCCS Id: @(#)unixconf.h 3.4 1999/07/02 */ +/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ +/* NetHack may be freely redistributed. See license for details. */ + +#ifdef UNIX +#ifndef UNIXCONF_H +#define UNIXCONF_H + +/* + * Some include files are in a different place under SYSV + * BSD SYSV + * <sys/time.h> <time.h> + * <sgtty.h> <termio.h> + * + * Some routines are called differently + * index strchr + * rindex strrchr + * + */ + +/* define exactly one of the following four choices */ +/* #define BSD 1 */ /* define for 4.n/Free/Open/Net BSD */ + /* also for relatives like SunOS 4.x, DG/UX, and */ + /* older versions of Linux */ +/* #define ULTRIX */ /* define for Ultrix v3.0 or higher (but not lower) */ + /* Use BSD for < v3.0 */ + /* "ULTRIX" not to be confused with "ultrix" */ +/* #define SYSV */ /* define for System V, Solaris 2.x, newer versions */ + /* of Linux */ +/* #define HPUX */ /* Hewlett-Packard's Unix, version 6.5 or higher */ + /* use SYSV for < v6.5 */ + + +/* define any of the following that are appropriate */ +/* #define SVR4 */ /* use in addition to SYSV for System V Release 4 */ + /* including Solaris 2+ */ +#define NETWORK /* if running on a networked system */ + /* e.g. Suns sharing a playground through NFS */ +/* #define SUNOS4 */ /* SunOS 4.x */ +#define LINUX /* Another Unix clone */ +/* #define CYGWIN32 */ /* Unix on Win32 -- use with case sensitive defines */ +/* #define GENIX */ /* Yet Another Unix Clone */ +/* #define HISX */ /* Bull Unix for XPS Machines */ +/* #define BOS */ /* Bull Open Software - Unix for DPX/2 Machines */ +/* #define UNIXPC */ /* use in addition to SYSV for AT&T 7300/3B1 */ +/* #define AIX_31 */ /* In AIX 3.1 (IBM RS/6000) use BSD ioctl's to gain + * job control (note that AIX is SYSV otherwise) + * Also define this for AIX 3.2 */ + +#define TERMINFO /* uses terminfo rather than termcap */ + /* Should be defined for most SYSV, SVR4 (including + * Solaris 2+), HPUX, and Linux systems. In + * particular, it should NOT be defined for the UNIXPC + * unless you remove the use of the shared library in + * the Makefile */ +#define TEXTCOLOR /* Use System V r3.2 terminfo color support */ + /* and/or ANSI color support on termcap systems */ + /* and/or X11 color */ +#define POSIX_JOB_CONTROL /* use System V / Solaris 2.x / POSIX job control */ + /* (e.g., VSUSP) */ +#define POSIX_TYPES /* use POSIX types for system calls and termios */ + /* Define for many recent OS releases, including + * those with specific defines (since types are + * changing toward the standard from earlier chaos). + * For example, platforms using the GNU libraries, + * Linux, Solaris 2.x + */ + +/* #define OPENWINBUG */ /* avoid a problem using OpenWindows 3.0 for + X11 on SunOS 4.1.x, x>= 2. Do not define + for other X11 implementations. */ +/* #define PYRAMID_BUG */ /* avoid a bug on the Pyramid */ +/* #define BSD_43_BUG */ /* for real 4.3BSD cc's without schain botch fix */ +/* #define MICROPORT_BUG */ /* problems with large arrays in structs */ +/* #define MICROPORT_286_BUG */ /* changes needed in termcap.c to get it to + run with Microport Sys V/AT version 2.4. + By Jay Maynard */ +/* #define AIXPS_2BUG */ /* avoid a problem with little_to_big() optimization */ + +/* #define RANDOM */ /* if neither random/srandom nor lrand48/srand48 + is available from your system */ + +/* see sys/unix/snd86unx.shr for more information on these */ +/* #define UNIX386MUSIC */ /* play real music through speaker on systems + with music driver installed */ +/* #define VPIX_MUSIC */ /* play real music through speaker on systems + with built-in VPIX support */ + + +/* + * The next two defines are intended mainly for the Andrew File System, + * which does not allow hard links. If NO_FILE_LINKS is defined, lock files + * will be created in LOCKDIR using open() instead of in the playground using + * link(). + * Ralf Brown, 7/26/89 (from v2.3 hack of 10/10/88) + */ + +/* #define NO_FILE_LINKS */ /* if no hard links */ +/* #define LOCKDIR "/usr/games/lib/nethackdir" */ /* where to put locks */ + +/* + * If you want the static parts of your playground on a read-only file + * system, define VAR_PLAYGROUND to be where the variable parts are kept. + */ +#define VAR_PLAYGROUND "/var/lib/nethack" + + +/* + * Define DEF_PAGER as your default pager, e.g. "/bin/cat" or "/usr/ucb/more" + * If defined, it can be overridden by the environment variable PAGER. + * Hack will use its internal pager if DEF_PAGER is not defined. + * (This might be preferable for security reasons.) + * #define DEF_PAGER ".../mydir/mypager" + */ + + + +/* + * Define PORT_HELP to be the name of the port-specfic help file. + * This file is found in HACKDIR. + * Normally, you shouldn't need to change this. + * There is currently no port-specific help for Unix systems. + */ +/* #define PORT_HELP "Unixhelp" */ + +#ifdef TTY_GRAPHICS +/* + * To enable the `timed_delay' option for using a timer rather than extra + * screen output when pausing for display effect. Requires that `msleep' + * function be available (with time argument specified in milliseconds). + * Various output devices can produce wildly varying delays when the + * "extra output" method is used, but not all systems provide access to + * a fine-grained timer. + */ +#define TIMED_DELAY /* usleep() */ +#endif + +/* + * If you define MAIL, then the player will be notified of new mail + * when it arrives. If you also define DEF_MAILREADER then this will + * be the default mail reader, and can be overridden by the environment + * variable MAILREADER; otherwise an internal pager will be used. + * A stat system call is done on the mailbox every MAILCKFREQ moves. + */ + +#define MAIL /* Deliver mail during the game */ + +/* The Andrew Message System does mail a little differently from normal + * UNIX. Mail is deposited in the user's own directory in ~/Mailbox + * (another directory). MAILBOX is the element that will be added on to + * the user's home directory path to generate the Mailbox path - just in + * case other Andrew sites do it differently from CMU. + * + * dan lovinger + * dl2n+@andrew.cmu.edu (dec 19 1989) + */ + +/* #define AMS */ /* use Andrew message system for mail */ + +/* NO_MAILREADER is for kerberos authenticating filesystems where it is + * essentially impossible to securely exec child processes, like mail + * readers, when the game is running under a special token. + * + * dan + */ + +/* #define NO_MAILREADER */ /* have mail daemon just tell player of mail */ + +#ifdef MAIL +# if defined(BSD) || defined(ULTRIX) +# ifdef AMS +#define AMS_MAILBOX "/Mailbox" +# else +# if defined(__FreeBSD__) || defined(__OpenBSD__) +#define DEF_MAILREADER "/usr/bin/mail" +# else +#define DEF_MAILREADER "/usr/ucb/Mail" +# endif +# endif +#else +# if (defined(SYSV) || defined(DGUX) || defined(HPUX)) && !defined(LINUX) +# if defined(M_XENIX) +#define DEF_MAILREADER "/usr/bin/mail" +# else +# ifdef __sgi +#define DEF_MAILREADER "/usr/sbin/Mail" +# else +#define DEF_MAILREADER "/usr/bin/mailx" +# endif +# endif +# else +#define DEF_MAILREADER "/bin/mail" +# endif +#endif + +#define MAILCKFREQ 50 +#endif /* MAIL */ + + + +#ifdef COMPRESS +/* Some implementations of compress need a 'quiet' option. + * If you've got one of these versions, put -q here. + * You can also include any other strange options your compress needs. + * If you have a normal compress, just leave it commented out. + */ +/* #define COMPRESS_OPTIONS "-q" */ +#endif + +#define FCMASK 0660 /* file creation mask */ + + +/* + * The remainder of the file should not need to be changed. + */ + +#ifdef _AUX_SOURCE +# ifdef AUX /* gcc ? */ +# define _SYSV_SOURCE +# define _BSD_SOURCE +#else +# define AUX +# endif +#endif /* _AUX_SOURCE */ + +#if defined(LINUX) || defined(bsdi) +# ifndef POSIX_TYPES +# define POSIX_TYPES +# endif +# ifndef POSIX_JOB_CONTROL +# define POSIX_JOB_CONTROL +# endif +#endif + +/* + * BSD/ULTRIX systems are normally the only ones that can suspend processes. + * Suspending NetHack processes cleanly should be easy to add to other systems + * that have SIGTSTP in the Berkeley sense. Currently the only such systems + * known to work are HPUX and AIX 3.1; other systems will probably require + * tweaks to unixtty.c and ioctl.c. + * + * POSIX defines a slightly different type of job control, which should be + * equivalent for NetHack's purposes. POSIX_JOB_CONTROL should work on + * various recent SYSV versions (with possibly tweaks to unixtty.c again). + */ +#ifndef POSIX_JOB_CONTROL +# if defined(BSD) || defined(ULTRIX) || defined(HPUX) || defined(AIX_31) +# define BSD_JOB_CONTROL +# else +# if defined(SVR4) +# define POSIX_JOB_CONTROL +# endif +# endif +#endif +#if defined(BSD_JOB_CONTROL) || defined(POSIX_JOB_CONTROL) || defined(AUX) +#define SUSPEND /* let ^Z suspend the game */ +#endif + + +#if defined(BSD) || defined(ULTRIX) +#include <sys/time.h> +#else +#include <time.h> +#endif + +#define HLOCK "perm" /* an empty file used for locking purposes */ + +#ifndef REDO +#define Getchar nhgetch +#endif +#define tgetch getchar + +#define SHELL /* do not delete the '!' command */ + +#include "system.h" + +#if defined(POSIX_TYPES) || defined(__GNUC__) +#include <stdlib.h> +#include <unistd.h> +#endif + +#if defined(POSIX_TYPES) || defined(__GNUC__) || defined(BSD) || defined(ULTRIX) +#include <sys/wait.h> +#endif + +#if defined(BSD) || defined(ULTRIX) +# if !defined(DGUX) && !defined(SUNOS4) +#define memcpy(d, s, n) bcopy(s, d, n) +#define memcmp(s1, s2, n) bcmp(s2, s1, n) +# endif +# ifdef SUNOS4 +#include <memory.h> +# endif +#else /* therefore SYSV */ +# ifndef index /* some systems seem to do this for you */ +#define index strchr +# endif +# ifndef rindex +#define rindex strrchr +# endif +#endif + +/* Use the high quality random number routines. */ +#if defined(BSD) || defined(LINUX) || defined(ULTRIX) || defined(CYGWIN32) || defined(RANDOM) || defined(__APPLE__) +#define Rand() random() +#else +#define Rand() lrand48() +#endif + +#ifdef TIMED_DELAY +# if defined(SUNOS4) || defined(LINUX) || (defined(BSD) && !defined(ULTRIX)) +# define msleep(k) usleep((k)*1000) +# endif +# ifdef ULTRIX +# define msleep(k) napms(k) +# endif +#endif + +#ifdef hc /* older versions of the MetaWare High-C compiler define this */ +# ifdef __HC__ +# undef __HC__ +# endif +# define __HC__ hc +# undef hc +#endif + +#if defined(GNOME_GRAPHICS) +#if defined(LINUX) +# include <linux/unistd.h> +# if defined(__NR_getresuid) && defined(__NR_getresgid) /* ie., >= v2.1.44 */ +# define GETRES_SUPPORT +# endif +#else +# if defined(BSD) || defined(SVR4) +/* + * [ALI] We assume that SVR4 means we can safely include syscall.h + * (although it's really a BSDism). This is certainly true for Solaris 2.5, + * Solaris 7, Solaris 8 and Compaq Tru64 5.1 + * Later BSD systems will have the getresid system calls. + */ +# include <sys/syscall.h> +# if (defined (SYS_getuid) || defined(SYS_getresuid)) && \ + (defined(SYS_getgid) || defined(SYS_getresgid)) +# define GETRES_SUPPORT +# endif +# endif /* BSD || SVR4 */ +#endif /* LINUX */ +#endif /* GNOME_GRAPHICS */ + +#endif /* UNIXCONF_H */ +#endif /* UNIX */ |