xref: /illumos-gate/usr/src/cmd/vi/port/ex_tune.h (revision 7c478bd9)
1 /*
2  * CDDL HEADER START
3  *
4  * The contents of this file are subject to the terms of the
5  * Common Development and Distribution License, Version 1.0 only
6  * (the "License").  You may not use this file except in compliance
7  * with the License.
8  *
9  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10  * or http://www.opensolaris.org/os/licensing.
11  * See the License for the specific language governing permissions
12  * and limitations under the License.
13  *
14  * When distributing Covered Code, include this CDDL HEADER in each
15  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16  * If applicable, add the following below this CDDL HEADER, with the
17  * fields enclosed by brackets "[]" replaced with your own identifying
18  * information: Portions Copyright [yyyy] [name of copyright owner]
19  *
20  * CDDL HEADER END
21  */
22 /*
23  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
24  * Use is subject to license terms.
25  */
26 
27 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
28 /*	  All Rights Reserved  	*/
29 
30 
31 /* Copyright (c) 1981 Regents of the University of California */
32 #pragma ident	"%Z%%M%	%I%	%E% SMI"
33 /*
34  * Definitions of editor parameters and limits
35  */
36 
37 /*
38  * Pathnames.
39  */
40 #define	EXRECOVER	"/usr/lib/exrecover"
41 #define	EXPRESERVE	"/usr/lib/expreserve"
42 #define USRPRESERVE	"/usr/preserve/"
43 #define	TMPDIR	"/var/tmp"
44 
45 /*
46  * If your system believes that tabs expand to a width other than
47  * 8 then your makefile should cc with -DTABS=whatever, otherwise we use 8.
48  */
49 #ifndef TABS
50 #define	TABS	8
51 #endif
52 
53 /*
54  * Maximums
55  *
56  * The definitions of LBSIZE and CRSIZE should be the same as BUFSIZE
57  * Most other definitions are quite generous.
58  */
59 
60 #define LBSIZE		BUFSIZE		/* Line buffer size */
61 #define CRSIZE		BUFSIZE		/* Crypt block size */
62 
63 #define ESIZE		1024
64 #define	FNSIZE		PATH_MAX+1	/* Max file name size */
65 #define	RHSSIZE		512		/* Size of rhs of substitute */
66 #define	NBRA		9		/* Number of re \( \) pairs */
67 #define	TAGSIZE		256		/* Tag length */
68 #define	ONMSZ		BUFSIZE		/* Option name size */
69 #define	GBSIZE		256		/* Buffer size */
70 #define	UXBSIZE		128		/* Unix command buffer size */
71 #define	VBSIZE		128		/* Partial line max size in visual */
72 #ifndef VMUNIX
73 #define	LBLKS		125		/* Line pointer blocks in temp file */
74 #define	HBLKS		1		/* struct header fits in BUFSIZE*HBLKS */
75 #else
76 #define	LBLKS		4000
77 #define HBLKS		((sizeof(struct header)+BUFSIZE-1)/BUFSIZE)
78 #endif
79 #define	MAXDIRT		12		/* Max dirtcnt before sync tfile */
80 #define TCBUFSIZE	1024		/* Max entry size in termcap, see
81 					   also termlib and termcap */
82 
83 /*
84  * Except on VMUNIX, these are a ridiculously small due to the
85  * poor arglist processing implementation which fixes core
86  * proportional to them.  Argv (and hence NARGS) is really unnecessary,
87  * and argument character space not needed except when
88  * arguments exist.  Argument lists should be saved before the "zero"
89  * of the incore line information and could then
90  * be reasonably large.
91  */
92 #undef NCARGS
93 #define	NCARGS	5120
94 #define	NARGS	(NCARGS/6)
95 
96 /*
97  * If you have no terminals
98  * which are larger than 24 * 80 you may well want to make TUBESIZE
99  * smaller.  TUBECOLS should stay at 160 since this defines the maximum
100  * length of opening on hardcopies and allows two lines of open on
101  * terminals like adm3's (glass tty's) where it switches to pseudo
102  * hardcopy mode when a line gets longer than 80 characters.
103  */
104 #define	TUBELINES	107	/* Number of screen lines for visual */
105 #define	TUBECOLS	500	/* Number of screen columns for visual */
106 #define	TUBESIZE	54500	/* Maximum screen size for visual */
107 
108 /*
109  * Output column (and line) are set to this value on cursor addressable
110  * terminals when we lose track of the cursor to force cursor
111  * addressing to occur.
112  */
113 #define	UKCOL		-20	/* Prototype unknown column */
114 
115 /*
116  * Attention is the interrupt character (normally 0177 -- delete).
117  * Quit is the quit signal (normally fs -- control-\) and quits open/visual.
118  */
119 #define	ATTN	(-2)
120 #define	QUIT	('\\' & 037)
121