1/* 2 * Copyright (C) 1984-2023 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, see the README file. 8 */ 9 10 11/* Windows definition file for less. */ 12/* 13 * This file has 2 sections: 14 * User preferences. 15 * Settings always true for Windows systems. 16 */ 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 "edit" 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#define GLOB 0 81 82/* 83 * PIPEC is 1 if you wish to have the "|" command 84 * which allows the user to pipe data into a shell command. 85 */ 86#define PIPEC 1 87 88/* 89 * LOGFILE is 1 if you wish to allow the -o option (to create log files). 90 */ 91#define LOGFILE (!SECURE) 92 93/* 94 * GNU_OPTIONS is 1 if you wish to support the GNU-style command 95 * line options --help and --version. 96 */ 97#define GNU_OPTIONS 1 98 99/* 100 * ONLY_RETURN is 1 if you want RETURN to be the only input which 101 * will continue past an error message. 102 * Otherwise, any key will continue past an error message. 103 */ 104#define ONLY_RETURN 0 105 106/* 107 * LESSKEYFILE is the filename of the default lesskey output file 108 * (in the HOME directory). 109 * LESSKEYFILE_SYS is the filename of the system-wide lesskey output file. 110 * DEF_LESSKEYINFILE is the filename of the default lesskey input 111 * (in the HOME directory). 112 * LESSHISTFILE is the filename of the history file 113 * (in the HOME directory). 114 */ 115#define LESSKEYFILE "_less" 116#define LESSKEYFILE_SYS "c:\\_sysless" 117#define DEF_LESSKEYINFILE "_lesskey" 118#define LESSKEYINFILE_SYS "c:\\_syslesskey" 119#define LESSHISTFILE "_lesshst" 120 121 122/* Settings always true for Windows systems. */ 123 124#define MSDOS_COMPILER WIN32C 125 126/* 127 * Pathname separator character. 128 */ 129#define PATHNAME_SEP "\\" 130 131/* 132 * HAVE_ANSI_PROTOS is 1 if your compiler supports ANSI function prototypes. 133 */ 134#define HAVE_ANSI_PROTOS 1 135 136/* 137 * HAVE_SYS_TYPES_H is 1 if your system has <sys/types.h>. 138 */ 139#define HAVE_SYS_TYPES_H 1 140 141/* 142 * Define if you have the <sgstat.h> header file. 143 */ 144#define HAVE_SGSTAT_H 0 145 146/* 147 * HAVE_PERROR is 1 if your system has the perror() call. 148 * (Actually, if it has sys_errlist, sys_nerr and errno.) 149 */ 150#define HAVE_PERROR 1 151 152/* 153 * HAVE_TIME is 1 if your system has the time() call. 154 */ 155#define HAVE_TIME 1 156 157/* 158 * HAVE_SHELL is 1 if your system supports a SHELL command interpreter. 159 */ 160#define HAVE_SHELL 0 161 162/* 163 * Default shell metacharacters and meta-escape character. 164 */ 165#define DEF_METACHARS "; *?\t\n'\"()<>|&" 166#define DEF_METAESCAPE "" 167 168/* 169 * HAVE_DUP is 1 if your system has the dup() call. 170 */ 171#define HAVE_DUP 1 172 173/* Define to 1 to support reading lesskey source files (not just binary). */ 174#define HAVE_LESSKEYSRC 1 175 176/* 177 * Sizes of various buffers. 178 */ 179#if 0 /* old sizes for small memory machines */ 180#define CMDBUF_SIZE 512 /* Buffer for multichar commands */ 181#define UNGOT_SIZE 100 /* Max chars to unget() */ 182#define LINEBUF_SIZE 1024 /* Max size of line in input file */ 183#define OUTBUF_SIZE 1024 /* Output buffer */ 184#define PROMPT_SIZE 200 /* Max size of prompt string */ 185#define TERMBUF_SIZE 2048 /* Termcap buffer for tgetent */ 186#define TERMSBUF_SIZE 1024 /* Buffer to hold termcap strings */ 187#define TAGLINE_SIZE 512 /* Max size of line in tags file */ 188#define TABSTOP_MAX 32 /* Max number of custom tab stops */ 189#else /* more reasonable sizes for modern machines */ 190#define CMDBUF_SIZE 2048 /* Buffer for multichar commands */ 191#define UNGOT_SIZE 200 /* Max chars to unget() */ 192#define LINEBUF_SIZE 1024 /* Initial max size of line in input file */ 193#define OUTBUF_SIZE 1024 /* Output buffer */ 194#define PROMPT_SIZE 2048 /* Max size of prompt string */ 195#define TERMBUF_SIZE 2048 /* Termcap buffer for tgetent */ 196#define TERMSBUF_SIZE 1024 /* Buffer to hold termcap strings */ 197#define TAGLINE_SIZE 1024 /* Max size of line in tags file */ 198#define TABSTOP_MAX 128 /* Max number of custom tab stops */ 199#endif 200 201/* Define to `long' if <sys/types.h> doesn't define. */ 202/* #define off_t long */ 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#ifdef MINGW 224 #ifdef USE_POSIX_REGCOMP 225 #define HAVE_POSIX_REGCOMP 1 226 #else 227 #ifdef USE_GNU_REGEX 228 #define HAVE_GNU_REGEX 1 229 #else 230 #ifdef USE_REGEXP_C 231 #define HAVE_V8_REGCOMP 1 232 #define HAVE_REGEXEC2 1 233 #else 234 #define NO_REGEX 1 235 #endif 236 #endif 237 #endif 238#else 239#define HAVE_V8_REGCOMP 1 240/* #undef NO_REGEX */ 241#define HAVE_REGEXEC2 1 242#endif 243 244/* Define HAVE_VOID if your compiler supports the "void" type. */ 245#define HAVE_VOID 1 246 247/* Define HAVE_CONST if your compiler supports the "const" modifier. */ 248#define HAVE_CONST 1 249 250/* Define HAVE_TIME_T if your system supports the "time_t" type. */ 251#define HAVE_TIME_T 1 252 253/* Define HAVE_STRERROR if you have the strerror() function. */ 254#define HAVE_STRERROR 1 255 256/* Define HAVE_FILENO if you have the fileno() macro. */ 257#define HAVE_FILENO 1 258 259/* Define HAVE_ERRNO if you have the errno variable */ 260/* Define MUST_DEFINE_ERRNO if you have errno but it is not define 261 * in errno.h */ 262#define HAVE_ERRNO 1 263#define MUST_DEFINE_ERRNO 0 264 265/* Define HAVE_SYS_ERRLIST if you have the sys_errlist[] variable */ 266#define HAVE_SYS_ERRLIST 1 267 268/* Define HAVE_OSPEED if your termcap library has the ospeed variable */ 269#define HAVE_OSPEED 0 270/* Define MUST_DEFINE_OSPEED if you have ospeed but it is not defined 271 * in termcap.h. */ 272#define MUST_DEFINE_OSPEED 0 273 274/* Define HAVE_LOCALE if you have locale.h and setlocale. */ 275#define HAVE_LOCALE 0 276 277/* Define HAVE_TERMIOS_FUNCS if you have tcgetattr/tcsetattr */ 278#define HAVE_TERMIOS_FUNCS 0 279 280/* Define HAVE_UPPER_LOWER if you have isupper, islower, toupper, tolower */ 281#define HAVE_UPPER_LOWER 1 282 283/* Define if you have the _setjmp function. */ 284#define HAVE__SETJMP 1 285 286/* Define if you have the memcpy function. */ 287#define HAVE_MEMCPY 1 288 289/* Define if you have the popen function. */ 290#define HAVE_POPEN 1 291 292/* Define if you have the sigsetmask function. */ 293#define HAVE_SIGSETMASK 0 294 295/* Define if you have the sigprocmask function. */ 296#define HAVE_SIGPROCMASK 0 297 298/* Define if you have the sigset_t type and sigemptyset macro */ 299#define HAVE_SIGSET_T 0 300#define HAVE_SIGEMPTYSET 0 301 302/* Define if you have the stat function. */ 303#define HAVE_STAT 1 304 305/* Define if you have the strchr function. */ 306#define HAVE_STRCHR 1 307 308/* Define if you have the system function. */ 309#define HAVE_SYSTEM 1 310 311/* Define if you have the snprintf function. */ 312#define HAVE_SNPRINTF 1 313 314/* Define if you have the <ctype.h> header file. */ 315#define HAVE_CTYPE_H 1 316 317/* Define if you have the <wctype.h> header file. */ 318#define HAVE_WCTYPE_H 1 319 320/* Define if you have the <errno.h> header file. */ 321#define HAVE_ERRNO_H 1 322 323/* Define if you have the <fcntl.h> header file. */ 324#define HAVE_FCNTL_H 1 325 326/* Define if you have the <limits.h> header file. */ 327#define HAVE_LIMITS_H 1 328 329/* Define if you have the <stdio.h> header file. */ 330#define HAVE_STDIO_H 1 331 332/* Define if you have the <string.h> header file. */ 333#define HAVE_STRING_H 1 334 335/* Define if you have the <stdlib> header file. */ 336#define HAVE_STDLIB_H 1 337 338/* Define if you have the <sys/ioctl.h> header file. */ 339#define HAVE_SYS_IOCTL_H 0 340 341/* Define if you have the <sys/ptem.h> header file. */ 342#define HAVE_SYS_PTEM_H 0 343 344/* Define if you have the <sys/stream.h> header file. */ 345#define HAVE_SYS_STREAM_H 0 346 347/* Define if you have the <termcap.h> header file. */ 348#define HAVE_TERMCAP_H 0 349 350/* Define if you have the <termio.h> header file. */ 351#define HAVE_TERMIO_H 0 352 353/* Define if you have the <termios.h> header file. */ 354#define HAVE_TERMIOS_H 0 355 356/* Define if you have the <time.h> header file. */ 357#define HAVE_TIME_H 1 358 359/* Define if you have the <unistd.h> header file. */ 360#ifdef MINGW 361#define HAVE_UNISTD_H 1 362#else 363#define HAVE_UNISTD_H 0 364#endif 365 366/* Define if you have the <values.h> header file. */ 367#ifdef _MSC_VER 368#define HAVE_VALUES_H 0 369#else 370#ifdef MINGW 371#define HAVE_VALUES_H 0 372#else 373#define HAVE_VALUES_H 1 374#endif 375#endif 376 377#define popen _popen 378#if !defined(_MSC_VER) || (_MSC_VER < 1900) 379#define snprintf _snprintf 380#endif 381 382#ifndef MINGW 383#pragma warning(disable:4996) 384#endif 385