defines.ds revision 173682
193490Sphk/*
293490Sphk * Copyright (C) 1984-2007  Mark Nudelman
393490Sphk *
493490Sphk * You may distribute under the terms of either the GNU General Public
593490Sphk * License or the Less License, as specified in the README file.
693490Sphk *
793490Sphk * For more information about less, or for information on how to 
893490Sphk * contact the author, see the README file.
993490Sphk */
1093490Sphk
1193490Sphk
1293490Sphk/* DOS definition file for less.  */
1393490Sphk/*
1493490Sphk * This file has 2 sections:
1593490Sphk * User preferences.
1693490Sphk * Settings always true for MS-DOS systems. 
1793490Sphk */
1893490Sphk
1993490Sphk/* User preferences.  */
2093490Sphk
2193490Sphk/*
2293490Sphk * SECURE is 1 if you wish to disable a bunch of features in order to
2393490Sphk * be safe to run by unprivileged users.
2493490Sphk */
2593490Sphk#define	SECURE		0
2693490Sphk
2793490Sphk/*
2893490Sphk * SHELL_ESCAPE is 1 if you wish to allow shell escapes.
2993490Sphk * (This is possible only if your system supplies the system() function.)
3093490Sphk */
3193490Sphk#define	SHELL_ESCAPE	(!SECURE)
3293490Sphk
3393490Sphk/*
3493490Sphk * EXAMINE is 1 if you wish to allow examining files by name from within less.
3593490Sphk */
3693490Sphk#define	EXAMINE		(!SECURE)
3793490Sphk
3893490Sphk/*
3993490Sphk * TAB_COMPLETE_FILENAME is 1 if you wish to allow the TAB key
4093490Sphk * to complete filenames at prompts.
4193717Smarcel */
4293717Smarcel#define	TAB_COMPLETE_FILENAME	(!SECURE)
4393717Smarcel
4493717Smarcel/*
4593717Smarcel * CMD_HISTORY is 1 if you wish to allow keys to cycle through
4693717Smarcel * previous commands at prompts.
4793717Smarcel */
4893717Smarcel#define	CMD_HISTORY	1
4993717Smarcel
5093717Smarcel/*
5193717Smarcel * HILITE_SEARCH is 1 if you wish to have search targets to be 
5293717Smarcel * displayed in standout mode.
5393717Smarcel */
5493717Smarcel#define	HILITE_SEARCH	1
5593717Smarcel
5693717Smarcel/*
5793717Smarcel * EDITOR is 1 if you wish to allow editor invocation (the "v" command).
5893717Smarcel * (This is possible only if your system supplies the system() function.)
5993717Smarcel * EDIT_PGM is the name of the (default) editor to be invoked.
6093490Sphk */
6193490Sphk#define	EDITOR		(!SECURE)
6293717Smarcel#define	EDIT_PGM	"vi"
63174920Srwatson
6496068Smux/*
6593490Sphk * TAGS is 1 if you wish to support tag files.
6693490Sphk */
6793717Smarcel#define	TAGS		(!SECURE)
6893490Sphk
6996427Sgallatin/*
70190684Smarcel * USERFILE is 1 if you wish to allow a .less file to specify 
71190684Smarcel * user-defined key bindings.
72190684Smarcel */
73190684Smarcel#define	USERFILE	(!SECURE)
74214903Sgonzo
75190684Smarcel/*
76105531Stmm * GLOB is 1 if you wish to have shell metacharacters expanded in filenames.
77190684Smarcel * This will generally work if your system provides the "popen" function
7893717Smarcel * and the "echo" shell command.
7993717Smarcel */
8093490Sphk#ifdef __DJGPP__
8193490Sphk#define	GLOB		(!SECURE)
8293490Sphk#else
8393490Sphk#define	GLOB		0
8493490Sphk#endif
8593490Sphk
8693490Sphk/*
8793717Smarcel * PIPEC is 1 if you wish to have the "|" command
8893717Smarcel * which allows the user to pipe data into a shell command.
8993717Smarcel */
9093490Sphk#ifdef __DJGPP__
9193490Sphk#define	PIPEC		(!SECURE)
9293490Sphk#else
9393490Sphk#define	PIPEC		0
9493490Sphk#endif
9593490Sphk
9693490Sphk/*
9793490Sphk * LOGFILE is 1 if you wish to allow the -l option (to create log files).
9893490Sphk */
9993490Sphk#define	LOGFILE		(!SECURE)
10093490Sphk
10193490Sphk/*
10293490Sphk * GNU_OPTIONS is 1 if you wish to support the GNU-style command
103183527Speter * line options --help and --version.
104183527Speter */
105183527Speter#define	GNU_OPTIONS	1
106183527Speter
107183527Speter/*
10893649Smarcel * 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
401