1 /*
2  *	term.h
3  *
4  *	Variables for TERMCAP
5  */
6 
7 #ifndef	__TERM_H_
8 #define	__TERM_H_
9 
10 #ifndef	VOID_P
11 #ifdef	NOVOID
12 #define	VOID
13 #define	VOID_T	int
14 #define	VOID_P	char *
15 #else
16 #define	VOID	void
17 #define	VOID_T	void
18 #define	VOID_P	void *
19 #endif
20 #endif
21 
22 #ifndef	STDIN_FILENO
23 #define	STDIN_FILENO	0
24 #endif
25 #ifndef	STDOUT_FILENO
26 #define	STDOUT_FILENO	1
27 #endif
28 #ifndef	STDERR_FILENO
29 #define	STDERR_FILENO	2
30 #endif
31 
32 #define	K_CR	'\r'
33 #define	K_ESC	'\033'
34 
35 #define	K_MIN	K_NOKEY
36 #define	K_NOKEY	0401
37 #define	K_DOWN	0402
38 #define	K_UP	0403
39 #define	K_LEFT	0404
40 #define	K_RIGHT	0405
41 #define	K_HOME	0406
42 #define	K_BS	0407
43 #define	K_F0	0410
44 #define	K_F(n)	(K_F0 + (n))
45 #define	K_DL	0510
46 #define	K_IL	0511
47 #define	K_DC	0512
48 #define	K_IC	0513
49 #define	K_EIC	0514
50 #define	K_CLR	0515
51 #define	K_EOS	0516
52 #define	K_EOL	0517
53 #define	K_ESF	0520
54 #define	K_ESR	0521
55 #define	K_NPAGE	0522
56 #define	K_PPAGE	0523
57 #define	K_STAB	0524
58 #define	K_CTAB	0525
59 #define	K_CATAB	0526
60 #define	K_ENTER	0527
61 #define	K_SRST	0530
62 #define	K_RST	0531
63 #define	K_PRINT	0532
64 #define	K_LL	0533
65 #define	K_A1	0534
66 #define	K_A3	0535
67 #define	K_B2	0536
68 #define	K_C1	0537
69 #define	K_C3	0540
70 #define	K_BTAB	0541
71 #define	K_BEG	0542
72 #define	K_CANC	0543
73 #define	K_CLOSE	0544
74 #define	K_COMM	0545
75 #define	K_COPY	0546
76 #define	K_CREAT	0547
77 #define	K_END	0550
78 #define	K_EXIT	0551
79 #define	K_FIND	0552
80 #define	K_HELP	0553
81 #define	K_MAX	K_HELP
82 
83 #ifdef	CTRL
84 #undef	CTRL
85 #endif
86 #define	CTRL(c)	((c) & 037)
87 
88 extern int n_column;
89 extern int n_lastcolumn;
90 extern int n_line;
91 extern int stable_standout;
92 extern char *t_init;
93 extern char *t_end;
94 extern char *t_metamode;
95 extern char *t_nometamode;
96 extern char *t_scroll;
97 extern char *t_keypad;
98 extern char *t_nokeypad;
99 extern char *t_normalcursor;
100 extern char *t_highcursor;
101 extern char *t_nocursor;
102 extern char *t_setcursor;
103 extern char *t_resetcursor;
104 extern char *t_bell;
105 extern char *t_vbell;
106 extern char *t_clear;
107 extern char *t_normal;
108 extern char *t_bold;
109 extern char *t_reverse;
110 extern char *t_dim;
111 extern char *t_blink;
112 extern char *t_standout;
113 extern char *t_underline;
114 extern char *end_standout;
115 extern char *end_underline;
116 extern char *l_clear;
117 extern char *l_insert;
118 extern char *l_delete;
119 extern char *c_insert;
120 extern char *c_delete;
121 extern char *c_home;
122 extern char *c_locate;
123 extern char *c_return;
124 extern char *c_newline;
125 extern char *c_scrollforw;
126 extern char *c_scrollrev;
127 extern char *c_up;
128 extern char *c_down;
129 extern char *c_right;
130 extern char *c_left;
131 extern char *c_nup;
132 extern char *c_ndown;
133 extern char *c_nright;
134 extern char *c_nleft;
135 extern u_char cc_intr;
136 extern u_char cc_quit;
137 extern u_char cc_eof;
138 extern u_char cc_eol;
139 extern VOID_T (*keywaitfunc)__P_((VOID_A));
140 #if	!MSDOS
141 extern int usegetcursor;
142 #endif
143 extern int ttyio;
144 extern FILE *ttyout;
145 
146 #if	MSDOS
147 #define	putterm(s)	cputs2(s)
148 #define	putterms(s)	cputs2(s)
149 #else
150 #define	putterm(s)	tputs(s, 1, putch3)
151 #define	putterms(s)	tputs(s, n_line, putch3)
152 #endif
153 
154 extern int opentty __P_((VOID_A));
155 extern int inittty __P_((int));
156 extern int cooked2 __P_((VOID_A));
157 extern int cbreak2 __P_((VOID_A));
158 extern int raw2 __P_((VOID_A));
159 extern int echo2 __P_((VOID_A));
160 extern int noecho2 __P_((VOID_A));
161 extern int nl2 __P_((VOID_A));
162 extern int nonl2 __P_((VOID_A));
163 extern int tabs __P_((VOID_A));
164 extern int notabs __P_((VOID_A));
165 extern int keyflush __P_((VOID_A));
166 extern int ttyiomode __P_((VOID_A));
167 extern int stdiomode __P_((VOID_A));
168 extern int exit2 __P_((int));
169 extern int getxy __P_((int *, int *));
170 extern char *tparamstr __P_((char *, int, int));
171 extern int getterment __P_((VOID_A));
172 #if	!MSDOS
173 extern int setkeyseq __P_((int, char *, int));
174 extern char *getkeyseq __P_((int, int *));
175 #endif
176 extern int initterm __P_((VOID_A));
177 extern int endterm __P_((VOID_A));
178 extern int putch2 __P_((int));
179 #if	!MSDOS
180 extern int putch3 __P_((int));
181 #endif
182 extern int cputs2 __P_((char *));
183 extern int cprintf2 __P_((CONST char *, ...));
184 extern int kbhit2 __P_((u_long));
185 extern int getch2 __P_((VOID_A));
186 extern int getkey2 __P_((int));
187 extern int ungetch2 __P_((u_char));
188 extern int setscroll __P_((int, int));
189 extern int locate __P_((int, int));
190 extern int tflush __P_((VOID_A));
191 extern int getwsize __P_((int, int));
192 extern int chgcolor __P_((int, int));
193 
194 #ifndef	SENSEPERSEC
195 #define	SENSEPERSEC	50
196 #endif
197 #ifndef	WAITKEYPAD
198 #define	WAITKEYPAD	360		/* msec */
199 #endif
200 #ifndef	WAITMETA
201 #define	WAITMETA	120		/* msec */
202 #endif
203 
204 #define	ANSI_BLACK	0
205 #define	ANSI_RED	1
206 #define	ANSI_GREEN	2
207 #define	ANSI_YELLOW	3
208 #define	ANSI_BLUE	4
209 #define	ANSI_MAGENTA	5
210 #define	ANSI_CYAN	6
211 #define	ANSI_WHITE	7
212 #define	ANSI_NORMAL	30
213 #define	ANSI_REVERSE	40
214 
215 #endif	/* __TERM_H_ */
216