1/* 2 * Copyright (C) 1984-2007 Mark Nudelman 3 * 4 * You may distribute under the terms of either the GNU General Public 5 * License or the Less License, as specified in the README file. 6 * 7 * For more information about less, or for information on how to 8 * contact the author, see the README file. 9 */ 10 11 12/* DOS definition file for less. */ 13/* 14 * This file has 2 sections: 15 * User preferences. 16 * Settings always true for MS-DOS systems. 17 */ 18 19/* User preferences. */ 20 21/* 22 * SECURE is 1 if you wish to disable a bunch of features in order to 23 * be safe to run by unprivileged users. 24 */ 25#define SECURE 0 26 27/* 28 * SHELL_ESCAPE is 1 if you wish to allow shell escapes. 29 * (This is possible only if your system supplies the system() function.) 30 */ 31#define SHELL_ESCAPE (!SECURE) 32 33/* 34 * EXAMINE is 1 if you wish to allow examining files by name from within less. 35 */ 36#define EXAMINE (!SECURE) 37 38/* 39 * TAB_COMPLETE_FILENAME is 1 if you wish to allow the TAB key 40 * to complete filenames at prompts. 41 */ 42#define TAB_COMPLETE_FILENAME (!SECURE) 43 44/* 45 * CMD_HISTORY is 1 if you wish to allow keys to cycle through 46 * previous commands at prompts. 47 */ 48#define CMD_HISTORY 1 49 50/* 51 * HILITE_SEARCH is 1 if you wish to have search targets to be 52 * displayed in standout mode. 53 */ 54#define HILITE_SEARCH 1 55 56/* 57 * EDITOR is 1 if you wish to allow editor invocation (the "v" command). 58 * (This is possible only if your system supplies the system() function.) 59 * EDIT_PGM is the name of the (default) editor to be invoked. 60 */ 61#define EDITOR (!SECURE) 62#define EDIT_PGM "vi" 63 64/* 65 * TAGS is 1 if you wish to support tag files. 66 */ 67#define TAGS (!SECURE) 68 69/* 70 * USERFILE is 1 if you wish to allow a .less file to specify 71 * user-defined key bindings. 72 */ 73#define USERFILE (!SECURE) 74 75/* 76 * GLOB is 1 if you wish to have shell metacharacters expanded in filenames. 77 * This will generally work if your system provides the "popen" function 78 * and the "echo" shell command. 79 */ 80#ifdef __DJGPP__ 81#define GLOB (!SECURE) 82#else 83#define GLOB 0 84#endif 85 86/* 87 * PIPEC is 1 if you wish to have the "|" command 88 * which allows the user to pipe data into a shell command. 89 */ 90#ifdef __DJGPP__ 91#define PIPEC (!SECURE) 92#else 93#define PIPEC 0 94#endif 95 96/* 97 * LOGFILE is 1 if you wish to allow the -l option (to create log files). 98 */ 99#define LOGFILE (!SECURE) 100 101/* 102 * GNU_OPTIONS is 1 if you wish to support the GNU-style command 103 * line options --help and --version. 104 */ 105#define GNU_OPTIONS 1 106 107/* 108 * ONLY_RETURN is 1 if you want RETURN to be the only input which 109 * will continue past an error message. 110 * Otherwise, any key will continue past an error message. 111 */ 112#define ONLY_RETURN 0 113 114/* 115 * LESSKEYFILE is the filename of the default lesskey output file 116 * (in the HOME directory). 117 * LESSKEYFILE_SYS is the filename of the system-wide lesskey output file. 118 * DEF_LESSKEYINFILE is the filename of the default lesskey input 119 * (in the HOME directory). 120 * LESSHISTFILE is the filename of the history file 121 * (in the HOME directory). 122 */ 123#define LESSKEYFILE "_less" 124#define LESSKEYFILE_SYS "c:\\_sysless" 125#define DEF_LESSKEYINFILE "_lesskey" 126#define LESSHISTFILE "_lesshst" 127 128 129/* Settings always true for MS-DOS systems. */ 130 131/* 132 * Define MSDOS_COMPILER if compiling for MS-DOS. 133 */ 134#ifdef __DJGPP__ 135#define MSDOS_COMPILER DJGPPC 136#else 137#ifdef __BORLANDC__ 138#define MSDOS_COMPILER BORLANDC 139#else 140#define MSDOS_COMPILER MSOFTC 141#endif 142#endif 143 144/* 145 * Pathname separator character. 146 */ 147#define PATHNAME_SEP "\\" 148 149/* 150 * HAVE_SYS_TYPES_H is 1 if your system has <sys/types.h>. 151 */ 152#define HAVE_SYS_TYPES_H 1 153 154/* 155 * Define if you have the <sgstat.h> header file. 156 */ 157#define HAVE_SGSTAT_H 0 158 159/* 160 * HAVE_PERROR is 1 if your system has the perror() call. 161 * (Actually, if it has sys_errlist, sys_nerr and errno.) 162 */ 163#define HAVE_PERROR 1 164 165/* 166 * HAVE_TIME is 1 if your system has the time() call. 167 */ 168#define HAVE_TIME 1 169 170/* 171 * HAVE_SHELL is 1 if your system supports a SHELL command interpreter. 172 */ 173#define HAVE_SHELL 0 174 175/* 176 * Default shell metacharacters and meta-escape character. 177 */ 178#define DEF_METACHARS "; *?\t\n'\"()<>|&" 179#define DEF_METAESCAPE "" 180 181/* 182 * HAVE_DUP is 1 if your system has the dup() call. 183 */ 184#define HAVE_DUP 1 185 186/* 187 * Sizes of various buffers. 188 */ 189#define CMDBUF_SIZE 512 /* Buffer for multichar commands */ 190#define UNGOT_SIZE 100 /* Max chars to unget() */ 191#define LINEBUF_SIZE 1024 /* Max size of line in input file */ 192#define OUTBUF_SIZE 1024 /* Output buffer */ 193#define PROMPT_SIZE 200 /* Max size of prompt string */ 194#define TERMBUF_SIZE 2048 /* Termcap buffer for tgetent */ 195#define TERMSBUF_SIZE 1024 /* Buffer to hold termcap strings */ 196#define TAGLINE_SIZE 512 /* Max size of line in tags file */ 197#define TABSTOP_MAX 32 /* Max number of custom tab stops */ 198 199/* Define to `long' if <sys/types.h> doesn't define. */ 200#if MSDOS_COMPILER==BORLANDC 201#define off_t long 202#endif 203 204/* Define if you need to in order for stat and other things to work. */ 205/* #undef _POSIX_SOURCE */ 206 207/* Define as the return type of signal handlers (int or void). */ 208#define RETSIGTYPE void 209 210 211/* 212 * Regular expression library. 213 * Define exactly one of the following to be 1: 214 * HAVE_POSIX_REGCOMP: POSIX regcomp() and regex.h 215 * HAVE_RE_COMP: BSD re_comp() 216 * HAVE_REGCMP: System V regcmp() 217 * HAVE_V8_REGCOMP: Henry Spencer V8 regcomp() and regexp.h 218 * NO_REGEX: pattern matching is supported, but without metacharacters. 219 */ 220/* #undef HAVE_POSIX_REGCOMP */ 221/* #undef HAVE_RE_COMP */ 222/* #undef HAVE_REGCMP */ 223/* #undef HAVE_V8_REGCOMP */ 224#if MSDOS_COMPILER==DJGPPC 225#define HAVE_POSIX_REGCOMP 1 226#else 227#define NO_REGEX 1 228#endif 229 230/* Define HAVE_VOID if your compiler supports the "void" type. */ 231#define HAVE_VOID 1 232 233/* Define HAVE_CONST if your compiler supports the "const" modifier. */ 234#define HAVE_CONST 1 235 236/* Define HAVE_TIME_T if your system supports the "time_t" type. */ 237#define HAVE_TIME_T 1 238 239/* Define HAVE_STRERROR if you have the strerror() function. */ 240#define HAVE_STRERROR 1 241 242/* Define HAVE_FILENO if you have the fileno() macro. */ 243#define HAVE_FILENO 1 244 245/* Define HAVE_ERRNO if you have the errno variable */ 246/* Define MUST_DEFINE_ERRNO if you have errno but it is not defined 247 * in errno.h */ 248#if MSDOS_COMPILER==MSOFTC || MSDOS_COMPILER==DJGPPC 249#define HAVE_ERRNO 1 250#define MUST_DEFINE_ERRNO 0 251#else 252#define HAVE_ERRNO 1 253#define MUST_DEFINE_ERRNO 1 254#endif 255 256/* Define HAVE_SYS_ERRLIST if you have the sys_errlist[] variable */ 257#define HAVE_SYS_ERRLIST 1 258 259/* Define HAVE_OSPEED if your termcap library has the ospeed variable */ 260/* Define MUST_DEFINE_OSPEED if you have ospeed but it is not defined 261 * in termcap.h. */ 262#define HAVE_OSPEED 0 263#define MUST_DEFINE_OSPEED 0 264 265/* Define HAVE_LOCALE if you have locale.h and setlocale. */ 266#define HAVE_LOCALE 0 267 268/* Define HAVE_TERMIOS_FUNCS if you have tcgetattr/tcsetattr */ 269#define HAVE_TERMIOS_FUNCS 0 270 271/* Define HAVE_UPPER_LOWER if you have isupper, islower, toupper, tolower */ 272#define HAVE_UPPER_LOWER 1 273 274/* Define if you have the _setjmp function. */ 275#if MSDOS_COMPILER==MSOFTC || MSDOS_COMPILER==DJGPPC 276#define HAVE__SETJMP 0 277#else 278#define HAVE__SETJMP 1 279#endif 280 281/* Define if you have the memcpy function. */ 282#define HAVE_MEMCPY 1 283 284/* Define if you have the popen function. */ 285#if MSDOS_COMPILER==DJGPPC 286#define HAVE_POPEN 1 287#else 288#define HAVE_POPEN 0 289#endif 290 291/* Define if you have the sigsetmask function. */ 292#define HAVE_SIGSETMASK 0 293 294/* Define if you have the sigprocmask function. */ 295#define HAVE_SIGPROCMASK 0 296 297/* Define if you have the sigset_t type and sigemptyset macro */ 298#define HAVE_SIGSET_T 0 299#define HAVE_SIGEMPTYSET 0 300 301/* Define if you have the stat function. */ 302#define HAVE_STAT 1 303 304/* Define if you have the strchr function. */ 305#define HAVE_STRCHR 1 306 307/* Define if you have the system function. */ 308#define HAVE_SYSTEM 1 309 310/* Define if you have the snprintf function. */ 311#define HAVE_SNPRINTF 0 312 313/* Define if you have the <ctype.h> header file. */ 314#define HAVE_CTYPE_H 1 315 316/* Define if you have the <wctype.h> header file. */ 317#define HAVE_WCTYPE_H 0 318 319/* Define if you have the <errno.h> header file. */ 320#define HAVE_ERRNO_H 1 321 322/* Define if you have the <fcntl.h> header file. */ 323#define HAVE_FCNTL_H 1 324 325/* Define if you have the <limits.h> header file. */ 326#define HAVE_LIMITS_H 1 327 328/* Define if you have the <stdio.h> header file. */ 329#define HAVE_STDIO_H 1 330 331/* Define if you have the <stdlib> header file. */ 332#define HAVE_STDLIB_H 1 333 334/* Define if you have the <string.h> header file. */ 335#define HAVE_STRING_H 1 336 337/* Define if you have the <sys/ioctl.h> header file. */ 338#define HAVE_SYS_IOCTL_H 0 339 340/* Define if you have the <sys/ptem.h> header file. */ 341#define HAVE_SYS_PTEM_H 0 342 343/* Define if you have the <sys/stream.h> header file. */ 344#define HAVE_SYS_STREAM_H 0 345 346/* Define if you have the <termcap.h> header file. */ 347#define HAVE_TERMCAP_H 0 348 349/* Define if you have the <termio.h> header file. */ 350#define HAVE_TERMIO_H 0 351 352/* Define if you have the <termios.h> header file. */ 353#define HAVE_TERMIOS_H 0 354 355/* Define if you have the <time.h> header file. */ 356#define HAVE_TIME_H 1 357 358/* Define if you have the <unistd.h> header file. */ 359#if MSDOS_COMPILER==DJGPPC 360#define HAVE_UNISTD_H 1 361#else 362#define HAVE_UNISTD_H 0 363#endif 364 365/* Define if you have the <values.h> header file. */ 366#if MSDOS_COMPILER==MSOFTC 367#define HAVE_VALUES_H 0 368#else 369#define HAVE_VALUES_H 1 370#endif 371 372#if MSDOS_COMPILER == MSOFTC && _MSC_VER >= 700 373/* 374 * The names of these things changed in Microsoft C version 7.0. 375 */ 376#define videoconfig _videoconfig 377#define rccoord _rccoord 378#define O_RDONLY _O_RDONLY 379#define O_WRONLY _O_WRONLY 380#define O_APPEND _O_APPEND 381#define O_BINARY _O_BINARY 382#define O_TEXT _O_TEXT 383#define find_t _find_t 384#define stat _stat 385#define S_IFMT _S_IFMT 386#define S_IFDIR _S_IFDIR 387#define S_IFREG _S_IFREG 388#define dup _dup 389#define open _open 390#define lseek _lseek 391#define write _write 392#define creat _creat 393#define fstat _fstat 394#define isatty _isatty 395#define close _close 396#define read _read 397#define ungetch _ungetch 398#define kbhit _kbhit 399#define getch _getch 400#endif 401