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