Annotation of src/usr.bin/less/defines.ds, Revision 1.1
1.1 ! shadchin 1: /*
! 2: * Copyright (C) 1984-2011 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