Annotation of src/usr.bin/less/defines.ds, Revision 1.1.1.1
1.1 shadchin 1: /*
2: * Copyright (C) 1984-2011 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: * 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