defines.ds revision 128345
1/*
2 * Copyright (C) 1984-2000  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 */
121#define	LESSKEYFILE		"_less"
122#define	LESSKEYFILE_SYS		"c:\\_sysless"
123#define	DEF_LESSKEYINFILE	"_lesskey"
124
125
126/* Settings always true for MS-DOS systems.  */
127
128/*
129 * Define MSDOS_COMPILER if compiling for MS-DOS.
130 */
131#ifdef __DJGPP__
132#define	MSDOS_COMPILER		DJGPPC
133#else
134#ifdef __BORLANDC__
135#define	MSDOS_COMPILER		BORLANDC
136#else
137#define	MSDOS_COMPILER		MSOFTC
138#endif
139#endif
140
141/*
142 * Pathname separator character.
143 */
144#define	PATHNAME_SEP	"\\"
145
146/*
147 * HAVE_SYS_TYPES_H is 1 if your system has <sys/types.h>.
148 */
149#define HAVE_SYS_TYPES_H	1
150
151/*
152 * Define if you have the <sgstat.h> header file.
153 */
154#define HAVE_SGSTAT_H	0
155
156/*
157 * HAVE_PERROR is 1 if your system has the perror() call.
158 * (Actually, if it has sys_errlist, sys_nerr and errno.)
159 */
160#define	HAVE_PERROR	1
161
162/*
163 * HAVE_TIME is 1 if your system has the time() call.
164 */
165#define	HAVE_TIME	1
166
167/*
168 * HAVE_SHELL is 1 if your system supports a SHELL command interpreter.
169 */
170#define	HAVE_SHELL	0
171
172/*
173 * Default shell metacharacters and meta-escape character.
174 */
175#define	DEF_METACHARS	"; *?\t\n'\"()<>|&"
176#define	DEF_METAESCAPE	""
177
178/* 
179 * HAVE_DUP is 1 if your system has the dup() call.
180 */
181#define	HAVE_DUP	1
182
183/*
184 * Sizes of various buffers.
185 */
186#define	CMDBUF_SIZE	512	/* Buffer for multichar commands */
187#define	UNGOT_SIZE	100	/* Max chars to unget() */
188#define	LINEBUF_SIZE	1024	/* Max size of line in input file */
189#define	OUTBUF_SIZE	1024	/* Output buffer */
190#define	PROMPT_SIZE	200	/* Max size of prompt string */
191#define	TERMBUF_SIZE	2048	/* Termcap buffer for tgetent */
192#define	TERMSBUF_SIZE	1024	/* Buffer to hold termcap strings */
193#define	TAGLINE_SIZE	512	/* Max size of line in tags file */
194#define	TABSTOP_MAX	32	/* Max number of custom tab stops */
195
196/* Define to `long' if <sys/types.h> doesn't define.  */
197#if MSDOS_COMPILER==BORLANDC
198#define	off_t	long 
199#endif
200
201/* Define if you need to in order for stat and other things to work.  */
202/* #undef _POSIX_SOURCE */
203
204/* Define as the return type of signal handlers (int or void).  */
205#define RETSIGTYPE void
206
207
208/*
209 * Regular expression library.
210 * Define exactly one of the following to be 1:
211 * HAVE_POSIX_REGCOMP: POSIX regcomp() and regex.h
212 * HAVE_RE_COMP: BSD re_comp()
213 * HAVE_REGCMP: System V regcmp()
214 * HAVE_V8_REGCOMP: Henry Spencer V8 regcomp() and regexp.h
215 * NO_REGEX: pattern matching is supported, but without metacharacters.
216 */
217/* #undef HAVE_POSIX_REGCOMP */
218/* #undef HAVE_RE_COMP */
219/* #undef HAVE_REGCMP */
220/* #undef HAVE_V8_REGCOMP */
221#if MSDOS_COMPILER==DJGPPC
222#define	HAVE_POSIX_REGCOMP 1
223#else
224#define NO_REGEX 1
225#endif
226
227/* Define HAVE_VOID if your compiler supports the "void" type. */
228#define HAVE_VOID 1
229
230/* Define HAVE_CONST if your compiler supports the "const" modifier. */
231#define HAVE_CONST 1
232
233/* Define HAVE_TIME_T if your system supports the "time_t" type. */
234#define HAVE_TIME_T 1
235
236/* Define HAVE_STRERROR if you have the strerror() function. */
237#define HAVE_STRERROR 1
238
239/* Define HAVE_FILENO if you have the fileno() macro. */
240#define HAVE_FILENO 1
241
242/* Define HAVE_ERRNO if you have the errno variable */
243/* Define MUST_DEFINE_ERRNO if you have errno but it is not defined
244 * in errno.h */
245#if MSDOS_COMPILER==MSOFTC || MSDOS_COMPILER==DJGPPC
246#define HAVE_ERRNO 1
247#define MUST_DEFINE_ERRNO 0
248#else
249#define HAVE_ERRNO 1
250#define MUST_DEFINE_ERRNO 1
251#endif
252
253/* Define HAVE_SYS_ERRLIST if you have the sys_errlist[] variable */
254#define HAVE_SYS_ERRLIST 1
255
256/* Define HAVE_OSPEED if your termcap library has the ospeed variable */
257/* Define MUST_DEFINE_OSPEED if you have ospeed but it is not defined
258 * in termcap.h. */
259#define HAVE_OSPEED 0
260#define MUST_DEFINE_OSPEED 0
261
262/* Define HAVE_LOCALE if you have locale.h and setlocale. */
263#define HAVE_LOCALE 0
264
265/* Define HAVE_TERMIOS_FUNCS if you have tcgetattr/tcsetattr */
266#define HAVE_TERMIOS_FUNCS 0
267
268/* Define HAVE_UPPER_LOWER if you have isupper, islower, toupper, tolower */
269#define HAVE_UPPER_LOWER 1
270
271/* Define if you have the _setjmp function.  */
272#if MSDOS_COMPILER==MSOFTC || MSDOS_COMPILER==DJGPPC
273#define HAVE__SETJMP	0
274#else
275#define HAVE__SETJMP	1
276#endif
277
278/* Define if you have the memcpy function.  */
279#define HAVE_MEMCPY 1
280
281/* Define if you have the popen function.  */
282#if MSDOS_COMPILER==DJGPPC
283#define HAVE_POPEN	1
284#else
285#define HAVE_POPEN	0
286#endif
287
288/* Define if you have the sigsetmask function.  */
289#define HAVE_SIGSETMASK	0
290
291/* Define if you have the sigprocmask function.  */
292#define HAVE_SIGPROCMASK	0
293
294/* Define if you have the sigset_t type and sigemptyset macro */
295#define HAVE_SIGSET_T	0
296#define HAVE_SIGEMPTYSET	0
297
298/* Define if you have the stat function.  */
299#define HAVE_STAT 1
300
301/* Define if you have the strchr function.  */
302#define HAVE_STRCHR 1
303
304/* Define if you have the system function.  */
305#define HAVE_SYSTEM	1
306
307/* Define if you have the <ctype.h> header file.  */
308#define HAVE_CTYPE_H 1
309
310/* Define if you have the <errno.h> header file.  */
311#define HAVE_ERRNO_H 1
312
313/* Define if you have the <fcntl.h> header file.  */
314#define HAVE_FCNTL_H 1
315
316/* Define if you have the <limits.h> header file.  */
317#define HAVE_LIMITS_H 1
318
319/* Define if you have the <stdio.h> header file.  */
320#define HAVE_STDIO_H 1
321
322/* Define if you have the <stdlib> header file. */
323#define HAVE_STDLIB_H 1
324
325/* Define if you have the <string.h> header file.  */
326#define HAVE_STRING_H 1
327
328/* Define if you have the <sys/ioctl.h> header file.  */
329#define HAVE_SYS_IOCTL_H 0
330
331/* Define if you have the <sys/ptem.h> header file.  */
332#define HAVE_SYS_PTEM_H	0
333
334/* Define if you have the <sys/stream.h> header file.  */
335#define HAVE_SYS_STREAM_H	0
336
337/* Define if you have the <termcap.h> header file.  */
338#define HAVE_TERMCAP_H	0
339
340/* Define if you have the <termio.h> header file.  */
341#define HAVE_TERMIO_H	0
342
343/* Define if you have the <termios.h> header file.  */
344#define HAVE_TERMIOS_H 0
345
346/* Define if you have the <time.h> header file.  */
347#define HAVE_TIME_H 1
348
349/* Define if you have the <unistd.h> header file.  */
350#if MSDOS_COMPILER==DJGPPC
351#define HAVE_UNISTD_H 1
352#else
353#define HAVE_UNISTD_H 0
354#endif
355
356/* Define if you have the <values.h> header file.  */
357#if MSDOS_COMPILER==MSOFTC
358#define HAVE_VALUES_H 0
359#else
360#define HAVE_VALUES_H 1
361#endif
362
363#if MSDOS_COMPILER == MSOFTC && _MSC_VER >= 700
364/*
365 * The names of these things changed in Microsoft C version 7.0.
366 */
367#define videoconfig	_videoconfig
368#define rccoord		_rccoord
369#define O_RDONLY	_O_RDONLY
370#define O_WRONLY	_O_WRONLY
371#define O_APPEND	_O_APPEND
372#define O_BINARY	_O_BINARY
373#define O_TEXT		_O_TEXT
374#define find_t		_find_t
375#define stat		_stat
376#define S_IFMT		_S_IFMT
377#define S_IFDIR		_S_IFDIR
378#define S_IFREG		_S_IFREG
379#define dup		_dup
380#define open		_open
381#define lseek		_lseek
382#define write		_write
383#define creat		_creat
384#define fstat		_fstat
385#define isatty		_isatty
386#define close		_close
387#define read		_read
388#define ungetch		_ungetch
389#define kbhit		_kbhit
390#define getch		_getch
391#endif
392