Source:NetHack 3.1.0/vmsconf.h

Below is the full text to vmsconf.h from the source code of NetHack 3.1.0. To link to a particular line, write [[NetHack 3.1.0/vmsconf.h#line123 ]], for example.

Warning! This is the source code from an old release. For the latest release, see Source code

1.   /*	SCCS Id: @(#)vmsconf.h	3.1	92/12/11	*/ 2.   /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ 3.    /* NetHack may be freely redistributed. See license for details. */ 4.     5.    #ifdef VMS 6.   #ifndef VMSCONF_H 7.   #define VMSCONF_H 8.    9.    /*  10.    * Edit these to choose values appropriate for your site. 11.   * WIZARD is the username allowed to use the debug option of nethack; no harm 12.   *   is done by leaving it as a username that doesn't exist at your site. 13.   * HACKDIR can be overridden at run-time with the logical name HACKDIR, as in  14. *  $ define hackdir disk$users:[games.nethack] 15.   * Trailing NULs are present in the default values in order to make some 16.   *   extra room for patching longer values into an existing executable. 17.   */  18.   #define Local_WIZARD	"NHWIZARD\0\0\0\0" 19.  #define Local_HACKDIR	"DISK$USERS:[GAMES.NETHACK.3-1-0.PLAY]\0\0\0\0\0\0" 20.   21.   /*  22.    * This section cleans up the stuff done in config.h so that it  23. * shouldn't need to be modified. It's conservative so that if 24. * config.h is actually edited, the changes won't impact us. 25.   */  26.   #ifdef UNIX 27.  # undef UNIX 28.  #endif 29.  #ifdef HACKDIR 30.  # undef HACKDIR 31.  #endif 32.  #ifdef WIZARD 33.  # undef WIZARD 34.  #endif 35.  #ifdef WIZARD_NAME 36.  # undef WIZARD_NAME 37.  #endif 38.  #define HACKDIR Local_HACKDIR 39.  #ifndef KR1ED 40.  # define WIZARD Local_WIZARD 41.  # define WIZARD_NAME WIZARD 42.  #else 43.  # define WIZARD 1 44.  # define WIZARD_NAME Local_WIZARD 45.  #endif 46.   47.   /* filenames require punctuation to avoid redirection via logical names */ 48.  #undef RECORD 49.  #define RECORD	"record;1"	/* scoreboard file (retains high scores) */ 50.  #undef LOGFILE 51.  #define LOGFILE	"logfile;0"	/* optional file (records all games) */ 52.   53.   #define HLOCK	"perm;1"	/* an empty file used for locking purposes */ 54.   55.   /* want compression--for level & save files--performed within NetHack itself */ 56.  #ifdef COMPRESS 57.  # undef COMPRESS 58.  #endif 59.  #ifndef ZEROCOMP 60.  # define ZEROCOMP 61.  #endif 62.   63.   /* vision algorithm */ 64.  #ifdef VISION_TABLES 65.  # if defined(VAXC) && defined(BRACES) 66.  #  undef BRACES 67.  # endif 68.  # if defined(__GNUC__) && !defined(BRACES) 69.  #  define BRACES		/* put braces around rows of 2d arrays */ 70.  # endif 71.  #else	/* not VISION_TABLES */ 72.  # define MACRO_CPATH	/* use clear_path macro instead of function */ 73.  #endif 74.   75.   /*  76.    * If nethack.exe will be installed with privilege so that the playground 77.   * won't need to be left unprotected, define SECURE to suppress a couple 78.   * of file protection fixups (protection of bones files and ownership of  79.    * save files). 80.   */  81.   /* #define SECURE /**/ 82.   83.   /*  84.    * You may define TEXTCOLOR if your system has any terminals that recognize 85.   * ANSI color sequences of the form ``[#;#m'', where the first # is  86. * a number between 40 and 47 represented background color, and the second 87.   * # is a number between 30 and 37 representing the foreground color. 88.   * GIGI terminals and DECterm windows on color VAXstations support these 89.   * color escape sequences, as do some 3rd party terminals and many micro 90.   * computers. 91.   */  92.   /* #define TEXTCOLOR /**/ 93.   94.   /*  95.    * If you define USE_QIO_INPUT, then you'll get raw characters from the 96.   * keyboard, not unlike those of the unix version of Nethack. This will 97.   * allow you to use the Escape key in normal gameplay, and the appropriate 98.   * control characters in Wizard mode. It will work most like the unix version. 99.   * It will also avoid " " being displayed when ^Y is pressed. 100.  *  101.   * Otherwise, the VMS SMG calls will be used. These calls block use of 102. * the escape key, as well as certain control keys, so gameplay is not 103.  * the same, although the differences are fairly negligible. You must 104.  * then use a VTxxx function key or two s to give an ESC response. 105.  */  106.  #define USE_QIO_INPUT	/* use SYS$QIOW instead of SMG$READ_KEYSTROKE */ 107.  108.  /*  109.   * If you define MAIL, then NetHack will capture incoming broadcast 110.  * messages such as "New mail from so-and-so" and "Print job completed," 111.  * and then deliver them to the player. For mail and phone broadcasts 112.  * a scroll of mail will be created, which when read will cause NetHack 113.  * to prompt the player for a command to spawn in order to respond. The 114.  * latter capability will not be available if SHELL is disabled below. 115.  * If you undefine MAIL, broadcasts will go straight to the terminal, 116.  * resulting in disruption of the screen display; use  to redraw. 117.  */  118.  #define MAIL		/* enable broadcast trapping */ 119.  120.  /*  121.   * SHELL enables the player to 'escape' into a spawned subprocess via 122.  * the '!' command. Logout or attach back to the parent to resume play. 123.  * If the player attaches back to NetHack, then a subsequent escape will 124.  * re-attach to the existing subprocess. Any such subprocess left over 125.  * at game exit will be deleted by an exit handler. 126.  * SUSPEND enables someone running NetHack in a subprocess to reconnect 127.  * to the parent process with the  command; this is not very 128.  * close to Unix job control, but it's better than nothing. 129.  */  130.  #define SHELL		/* do not delete the '!' command */ 131. #define SUSPEND		/* don't delete the ^Z command, such as it is */ 132.  133.  #define RANDOM		/* use sys/share/random.c instead of vaxcrtl rand */ 134.  135.  #define FCMASK	0660	/* file creation mask */ 136.  137.  /*  138.   * The remainder of the file should not need to be changed. 139.  */  140.   141.  #if defined(VAXC) && !defined(ANCIENT_VAXC) 142. # ifdef volatile 143. #  undef volatile 144. # endif 145. # ifdef const 146. #  undef const 147. # endif 148. #endif 149.  150.  #ifdef __DECC 151. # define STRICT_REF_DEF	/* used in lev_main.c */ 152. #endif 153. #ifdef STRICT_REF_DEF 154. # define DEFINE_OSPEED 155. #endif 156.  157.  #ifndef alloca 158. 	/* bison generated foo_yacc.c might try to use alloca */ 159. # ifdef __GNUC__ 160. #  define alloca __builtin_alloca 161. # else 162. #  define ALLOCA_HACK	/* used in util/panic.c */ 163. # endif 164. #endif 165.  166.  #include   167. #if 0	/*  is missing for old gcc versions; skip it to save time */ 168. #include   169. #else	/* values needed from missing include file */ 170. # define O_RDONLY 0 171. # define O_WRONLY 1 172. # define O_RDWR   2 173. # define O_CREAT 0x200 174. #endif 175.  176.  #ifndef REDO 177. # define Getchar nhgetch 178. #endif 179. #define tgetch vms_getchar 180.  181.  #include "system.h"  182. 183. #define index	strchr 184. #define rindex	strrchr 185.  186.  /* Use the high quality random number routines. */ 187.  #if defined(RANDOM) 188. #define Rand	random 189. #else 190. #define Rand	rand 191. #endif 192.  193.  #ifndef __GNUC__ 194. #define bcopy(s,d,n)	memcpy((d),(s),(n))	/* vaxcrtl */ 195. #endif 196. #define abort		vms_abort		/* vmsmisc.c */ 197. #define creat(f,m)	vms_creat(f,m)		/* vmsfiles.c */ 198. #define exit(sts)	vms_exit(sts)		/* vmsmisc.c */ 199. #define getuid	vms_getuid		/* vmsunix.c */ 200. #define link(f1,f2)	vms_link(f1,f2)		/* vmsfiles.c */ 201. #define open(f,k,m)	vms_open(f,k,m)		/* vmsfiles.c */ 202. /* #define unlink(f0)	vms_unlink(f0)		/* vmsfiles.c */ 203. #ifdef VERYOLD_VMS 204. #define unlink(f0)	delete(f0)		/* vaxcrtl */ 205. #else 206. #define unlink(f0)	remove(f0)		/* vaxcrtl, decc$shr */ 207. #endif 208. #define C$$TRANSLATE(n)	c__translate(n)	/* vmsfiles.c */ 209.  210.  /* VMS global names are case insensitive... */ 211.  #define An vms_an 212. #define The vms_the 213.  214.  /* used in several files which don't #include "extern.h" */ 215. extern void FDECL(vms_exit, (int)); 216.  217.  #endif	/* VMSCONF_H */ 218. #endif	/* VMS */