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