2 * Copyright (C) 1984-2007 Mark Nudelman
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.
7 * For more information about less, or for information on how to
8 * contact the author, see the README file.
12 /* DOS definition file for less. */
14 * This file has 2 sections:
16 * Settings always true for MS-DOS systems.
19 /* User preferences. */
22 * SECURE is 1 if you wish to disable a bunch of features in order to
23 * be safe to run by unprivileged users.
28 * SHELL_ESCAPE is 1 if you wish to allow shell escapes.
29 * (This is possible only if your system supplies the system() function.)
31 #define SHELL_ESCAPE (!SECURE)
34 * EXAMINE is 1 if you wish to allow examining files by name from within less.
36 #define EXAMINE (!SECURE)
39 * TAB_COMPLETE_FILENAME is 1 if you wish to allow the TAB key
40 * to complete filenames at prompts.
42 #define TAB_COMPLETE_FILENAME (!SECURE)
45 * CMD_HISTORY is 1 if you wish to allow keys to cycle through
46 * previous commands at prompts.
51 * HILITE_SEARCH is 1 if you wish to have search targets to be
52 * displayed in standout mode.
54 #define HILITE_SEARCH 1
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.
61 #define EDITOR (!SECURE)
65 * TAGS is 1 if you wish to support tag files.
67 #define TAGS (!SECURE)
70 * USERFILE is 1 if you wish to allow a .less file to specify
71 * user-defined key bindings.
73 #define USERFILE (!SECURE)
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.
81 #define GLOB (!SECURE)
87 * PIPEC is 1 if you wish to have the "|" command
88 * which allows the user to pipe data into a shell command.
91 #define PIPEC (!SECURE)
97 * LOGFILE is 1 if you wish to allow the -l option (to create log files).
99 #define LOGFILE (!SECURE)
102 * GNU_OPTIONS is 1 if you wish to support the GNU-style command
103 * line options --help and --version.
105 #define GNU_OPTIONS 1
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.
112 #define ONLY_RETURN 0
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).
123 #define LESSKEYFILE "_less"
124 #define LESSKEYFILE_SYS "c:\\_sysless"
125 #define DEF_LESSKEYINFILE "_lesskey"
126 #define LESSHISTFILE "_lesshst"
129 /* Settings always true for MS-DOS systems. */
132 * Define MSDOS_COMPILER if compiling for MS-DOS.
135 #define MSDOS_COMPILER DJGPPC
138 #define MSDOS_COMPILER BORLANDC
140 #define MSDOS_COMPILER MSOFTC
145 * Pathname separator character.
147 #define PATHNAME_SEP "\\"
150 * HAVE_SYS_TYPES_H is 1 if your system has <sys/types.h>.
152 #define HAVE_SYS_TYPES_H 1
155 * Define if you have the <sgstat.h> header file.
157 #define HAVE_SGSTAT_H 0
160 * HAVE_PERROR is 1 if your system has the perror() call.
161 * (Actually, if it has sys_errlist, sys_nerr and errno.)
163 #define HAVE_PERROR 1
166 * HAVE_TIME is 1 if your system has the time() call.
171 * HAVE_SHELL is 1 if your system supports a SHELL command interpreter.
176 * Default shell metacharacters and meta-escape character.
178 #define DEF_METACHARS "; *?\t\n'\"()<>|&"
179 #define DEF_METAESCAPE ""
182 * HAVE_DUP is 1 if your system has the dup() call.
187 * Sizes of various buffers.
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 */
199 /* Define to `long' if <sys/types.h> doesn't define. */
200 #if MSDOS_COMPILER==BORLANDC
204 /* Define if you need to in order for stat and other things to work. */
205 /* #undef _POSIX_SOURCE */
207 /* Define as the return type of signal handlers (int or void). */
208 #define RETSIGTYPE void
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.
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
230 /* Define HAVE_VOID if your compiler supports the "void" type. */
233 /* Define HAVE_CONST if your compiler supports the "const" modifier. */
236 /* Define HAVE_TIME_T if your system supports the "time_t" type. */
237 #define HAVE_TIME_T 1
239 /* Define HAVE_STRERROR if you have the strerror() function. */
240 #define HAVE_STRERROR 1
242 /* Define HAVE_FILENO if you have the fileno() macro. */
243 #define HAVE_FILENO 1
245 /* Define HAVE_ERRNO if you have the errno variable */
246 /* Define MUST_DEFINE_ERRNO if you have errno but it is not defined
248 #if MSDOS_COMPILER==MSOFTC || MSDOS_COMPILER==DJGPPC
250 #define MUST_DEFINE_ERRNO 0
253 #define MUST_DEFINE_ERRNO 1
256 /* Define HAVE_SYS_ERRLIST if you have the sys_errlist[] variable */
257 #define HAVE_SYS_ERRLIST 1
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
262 #define HAVE_OSPEED 0
263 #define MUST_DEFINE_OSPEED 0
265 /* Define HAVE_LOCALE if you have locale.h and setlocale. */
266 #define HAVE_LOCALE 0
268 /* Define HAVE_TERMIOS_FUNCS if you have tcgetattr/tcsetattr */
269 #define HAVE_TERMIOS_FUNCS 0
271 /* Define HAVE_UPPER_LOWER if you have isupper, islower, toupper, tolower */
272 #define HAVE_UPPER_LOWER 1
274 /* Define if you have the _setjmp function. */
275 #if MSDOS_COMPILER==MSOFTC || MSDOS_COMPILER==DJGPPC
276 #define HAVE__SETJMP 0
278 #define HAVE__SETJMP 1
281 /* Define if you have the memcpy function. */
282 #define HAVE_MEMCPY 1
284 /* Define if you have the popen function. */
285 #if MSDOS_COMPILER==DJGPPC
291 /* Define if you have the sigsetmask function. */
292 #define HAVE_SIGSETMASK 0
294 /* Define if you have the sigprocmask function. */
295 #define HAVE_SIGPROCMASK 0
297 /* Define if you have the sigset_t type and sigemptyset macro */
298 #define HAVE_SIGSET_T 0
299 #define HAVE_SIGEMPTYSET 0
301 /* Define if you have the stat function. */
304 /* Define if you have the strchr function. */
305 #define HAVE_STRCHR 1
307 /* Define if you have the system function. */
308 #define HAVE_SYSTEM 1
310 /* Define if you have the snprintf function. */
311 #define HAVE_SNPRINTF 0
313 /* Define if you have the <ctype.h> header file. */
314 #define HAVE_CTYPE_H 1
316 /* Define if you have the <wctype.h> header file. */
317 #define HAVE_WCTYPE_H 0
319 /* Define if you have the <errno.h> header file. */
320 #define HAVE_ERRNO_H 1
322 /* Define if you have the <fcntl.h> header file. */
323 #define HAVE_FCNTL_H 1
325 /* Define if you have the <limits.h> header file. */
326 #define HAVE_LIMITS_H 1
328 /* Define if you have the <stdio.h> header file. */
329 #define HAVE_STDIO_H 1
331 /* Define if you have the <stdlib> header file. */
332 #define HAVE_STDLIB_H 1
334 /* Define if you have the <string.h> header file. */
335 #define HAVE_STRING_H 1
337 /* Define if you have the <sys/ioctl.h> header file. */
338 #define HAVE_SYS_IOCTL_H 0
340 /* Define if you have the <sys/ptem.h> header file. */
341 #define HAVE_SYS_PTEM_H 0
343 /* Define if you have the <sys/stream.h> header file. */
344 #define HAVE_SYS_STREAM_H 0
346 /* Define if you have the <termcap.h> header file. */
347 #define HAVE_TERMCAP_H 0
349 /* Define if you have the <termio.h> header file. */
350 #define HAVE_TERMIO_H 0
352 /* Define if you have the <termios.h> header file. */
353 #define HAVE_TERMIOS_H 0
355 /* Define if you have the <time.h> header file. */
356 #define HAVE_TIME_H 1
358 /* Define if you have the <unistd.h> header file. */
359 #if MSDOS_COMPILER==DJGPPC
360 #define HAVE_UNISTD_H 1
362 #define HAVE_UNISTD_H 0
365 /* Define if you have the <values.h> header file. */
366 #if MSDOS_COMPILER==MSOFTC
367 #define HAVE_VALUES_H 0
369 #define HAVE_VALUES_H 1
372 #if MSDOS_COMPILER == MSOFTC && _MSC_VER >= 700
374 * The names of these things changed in Microsoft C version 7.0.
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
385 #define S_IFMT _S_IFMT
386 #define S_IFDIR _S_IFDIR
387 #define S_IFREG _S_IFREG
394 #define isatty _isatty
397 #define ungetch _ungetch