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 (the "License").
6  * You may not use this file except in compliance with the License.
7  *
8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9  * or http://www.opensolaris.org/os/licensing.
10  * See the License for the specific language governing permissions
11  * and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL HEADER in each
14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15  * If applicable, add the following below this CDDL HEADER, with the
16  * fields enclosed by brackets "[]" replaced with your own identifying
17  * information: Portions Copyright [yyyy] [name of copyright owner]
18  *
19  * CDDL HEADER END
20  */
21 /*
22  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
23  */
24 
25 /*	Copyright (c) 1988 AT&T	*/
26 /*	  All Rights Reserved	*/
27 
28 /*
29  * University Copyright- Copyright (c) 1982, 1986, 1988
30  * The Regents of the University of California
31  * All Rights Reserved
32  *
33  * University Acknowledgment- Portions of this document are derived from
34  * software developed by the University of California, Berkeley, and its
35  * contributors.
36  */
37 #ifndef	_TERM_H
38 #define	_TERM_H
39 
40 /*
41  * term.h - this file is automatically made from caps and maketerm.ed.
42  * Don't make changes directly to term.h.
43  */
44 
45 #ifdef	__cplusplus
46 extern "C" {
47 #endif
48 
49 #define	auto_left_margin 		CUR _b1
50 #define	auto_right_margin 		CUR _b2
51 #define	no_esc_ctlc 			CUR _b3
52 #define	ceol_standout_glitch 		CUR _b4
53 #define	eat_newline_glitch 		CUR _b5
54 #define	erase_overstrike 		CUR _b6
55 #define	generic_type 			CUR _b7
56 #define	hard_copy 			CUR _b8
57 #define	has_meta_key 			CUR _b9
58 #define	has_status_line 		CUR _b10
59 #define	insert_null_glitch 		CUR _b11
60 #define	memory_above 			CUR _b12
61 #define	memory_below 			CUR _b13
62 #define	move_insert_mode 		CUR _b14
63 #define	move_standout_mode 		CUR _b15
64 #define	over_strike 			CUR _b16
65 #define	status_line_esc_ok 		CUR _b17
66 #define	dest_tabs_magic_smso 		CUR _b18
67 #define	tilde_glitch 			CUR _b19
68 #define	transparent_underline 		CUR _b20
69 #define	xon_xoff 			CUR _b21
70 #define	needs_xon_xoff 			CURB _needs_xon_xoff
71 #define	prtr_silent 			CURB _prtr_silent
72 #define	hard_cursor 			CURB _hard_cursor
73 #define	non_rev_rmcup 			CURB _non_rev_rmcup
74 #define	no_pad_char 			CURB _no_pad_char
75 #define	non_dest_scroll_region 		CURB _non_dest_scroll_region
76 #define	can_change 			CURB _can_change
77 #define	back_color_erase 		CURB _back_color_erase
78 #define	hue_lightness_saturation 		CURB _hue_lightness_saturation
79 #define	col_addr_glitch 		CURB _col_addr_glitch
80 #define	cr_cancels_micro_mode 		CURB _cr_cancels_micro_mode
81 #define	has_print_wheel 		CURB _has_print_wheel
82 #define	row_addr_glitch 		CURB _row_addr_glitch
83 #define	semi_auto_right_margin 		CURB _semi_auto_right_margin
84 #define	cpi_changes_res 		CURB _cpi_changes_res
85 #define	lpi_changes_res 		CURB _lpi_changes_res
86 #define	columns 			CUR _c1
87 #define	init_tabs 			CUR _c2
88 #define	lines 				CUR _c3
89 #define	lines_of_memory 		CUR _c4
90 #define	magic_cookie_glitch 		CUR _c5
91 #define	padding_baud_rate 		CUR _c6
92 #define	virtual_terminal 		CUR _c7
93 #define	width_status_line 		CUR _c8
94 #define	num_labels 			CURN _num_labels
95 #define	label_height 			CURN _labl_height
96 #define	label_width 			CURN _labl_width
97 #define	max_attributes 			CURN _max_attributes
98 #define	maximum_windows 		CURN _maximum_windows
99 #define	max_colors 			CURN _max_colors
100 #define	max_pairs 			CURN _max_pairs
101 #define	no_color_video 			CURN _no_color_video
102 #define	buffer_capacity 		CURN _buffer_capacity
103 #define	dot_vert_spacing 		CURN _dot_vert_spacing
104 #define	dot_horz_spacing 		CURN _dot_horz_spacing
105 #define	max_micro_address 		CURN _max_micro_address
106 #define	max_micro_jump 			CURN _max_micro_jump
107 #define	micro_char_size 		CURN _micro_char_size
108 #define	micro_line_size 		CURN _micro_line_size
109 #define	number_of_pins 			CURN _number_of_pins
110 #define	output_res_char 		CURN _output_res_char
111 #define	output_res_line 		CURN _output_res_line
112 #define	output_res_horz_inch 		CURN _output_res_horz_inch
113 #define	output_res_vert_inch 		CURN _output_res_vert_inch
114 #define	print_rate 			CURN _print_rate
115 #define	wide_char_size 			CURN _wide_char_size
116 #define	buttons 			CURN _buttons
117 #define	bit_image_entwining 		CURN _bit_image_entwining
118 #define	bit_image_type 			CURN _bit_image_type
119 #define	back_tab 			CUR _Vr2_Astrs._s1
120 #define	bell 				CUR _Vr2_Astrs._s2
121 #define	carriage_return 		CUR _Vr2_Astrs._s3
122 #define	change_scroll_region 		CUR _Vr2_Astrs._s4
123 #define	clear_all_tabs 			CUR _Vr2_Astrs._s5
124 #define	clear_screen 			CUR _Vr2_Astrs._s6
125 #define	clr_eol 			CUR _Vr2_Astrs._s7
126 #define	clr_eos 			CUR _Vr2_Astrs._s8
127 #define	column_address 			CUR _Vr2_Astrs._s9
128 #define	command_character 		CUR _Vr2_Astrs._s10
129 #define	cursor_address 			CUR _Vr2_Astrs._s11
130 #define	cursor_down 			CUR _Vr2_Astrs._s12
131 #define	cursor_home 			CUR _Vr2_Astrs._s13
132 #define	cursor_invisible 		CUR _Vr2_Astrs._s14
133 #define	cursor_left 			CUR _Vr2_Astrs._s15
134 #define	cursor_mem_address 		CUR _Vr2_Astrs._s16
135 #define	cursor_normal 			CUR _Vr2_Astrs._s17
136 #define	cursor_right 			CUR _Vr2_Astrs._s18
137 #define	cursor_to_ll 			CUR _Vr2_Astrs._s19
138 #define	cursor_up 			CUR _Vr2_Astrs._s20
139 #define	cursor_visible 			CUR _Vr2_Astrs._s21
140 #define	delete_character 		CUR _Vr2_Astrs._s22
141 #define	delete_line 			CUR _Vr2_Astrs._s23
142 #define	dis_status_line 		CUR _Vr2_Astrs._s24
143 #define	down_half_line 			CUR _Vr2_Astrs._s25
144 #define	enter_alt_charset_mode 		CUR _Vr2_Astrs._s26
145 #define	enter_blink_mode 		CUR _Vr2_Astrs._s27
146 #define	enter_bold_mode 		CUR _Vr2_Astrs._s28
147 #define	enter_ca_mode 			CUR _Vr2_Astrs._s29
148 #define	enter_delete_mode 		CUR _Vr2_Astrs._s30
149 #define	enter_dim_mode 			CUR _Vr2_Astrs._s31
150 #define	enter_insert_mode 		CUR _Vr2_Astrs._s32
151 #define	enter_secure_mode 		CUR _Vr2_Astrs._s33
152 #define	enter_protected_mode 		CUR _Vr2_Astrs._s34
153 #define	enter_reverse_mode 		CUR _Vr2_Astrs._s35
154 #define	enter_standout_mode 		CUR _Vr2_Astrs._s36
155 #define	enter_underline_mode 		CUR _Vr2_Astrs._s37
156 #define	erase_chars 			CUR _Vr2_Astrs._s38
157 #define	exit_alt_charset_mode 		CUR _Vr2_Astrs._s39
158 #define	exit_attribute_mode 		CUR _Vr2_Astrs._s40
159 #define	exit_ca_mode 			CUR _Vr2_Astrs._s41
160 #define	exit_delete_mode 		CUR _Vr2_Astrs._s42
161 #define	exit_insert_mode 		CUR _Vr2_Astrs._s43
162 #define	exit_standout_mode 		CUR _Vr2_Astrs._s44
163 #define	exit_underline_mode 		CUR _Vr2_Astrs._s45
164 #define	flash_screen 			CUR _Vr2_Astrs._s46
165 #define	form_feed 			CUR _Vr2_Astrs._s47
166 #define	from_status_line 		CUR _Vr2_Astrs._s48
167 #define	init_1string 			CUR _Vr2_Astrs._s49
168 #define	init_2string 			CUR _Vr2_Astrs._s50
169 #define	init_3string 			CUR _Vr2_Astrs._s51
170 #define	init_file 			CUR _Vr2_Astrs._s52
171 #define	insert_character 		CUR _Vr2_Astrs._s53
172 #define	insert_line 			CUR _Vr2_Astrs._s54
173 #define	insert_padding 			CUR _Vr2_Astrs._s55
174 #define	key_backspace 			CUR _Vr2_Astrs._s56
175 #define	key_catab 			CUR _Vr2_Astrs._s57
176 #define	key_clear 			CUR _Vr2_Astrs._s58
177 #define	key_ctab 			CUR _Vr2_Astrs._s59
178 #define	key_dc 				CUR _Vr2_Astrs._s60
179 #define	key_dl 				CUR _Vr2_Astrs._s61
180 #define	key_down 			CUR _Vr2_Astrs._s62
181 #define	key_eic 			CUR _Vr2_Astrs._s63
182 #define	key_eol 			CUR _Vr2_Astrs._s64
183 #define	key_eos 			CUR _Vr2_Astrs._s65
184 #define	key_f0 				CUR _Vr2_Astrs._s66
185 #define	key_f1 				CUR _Vr2_Astrs._s67
186 #define	key_f10 			CUR _Vr2_Astrs._s68
187 #define	key_f2 				CUR _Vr2_Astrs._s69
188 #define	key_f3 				CUR _Vr2_Astrs._s70
189 #define	key_f4 				CUR _Vr2_Astrs._s71
190 #define	key_f5 				CUR _Vr2_Astrs._s72
191 #define	key_f6 				CUR _Vr2_Astrs._s73
192 #define	key_f7 				CUR _Vr2_Astrs._s74
193 #define	key_f8 				CUR _Vr2_Astrs._s75
194 #define	key_f9 				CUR _Vr2_Astrs._s76
195 #define	key_home 			CUR _Vr2_Astrs._s77
196 #define	key_ic 				CUR _Vr2_Astrs._s78
197 #define	key_il 				CUR _Vr2_Astrs._s79
198 #define	key_left 			CUR _Vr2_Astrs._s80
199 #define	key_ll 				CUR _Vr2_Astrs._s81
200 #define	key_npage 			CUR _Vr2_Astrs._s82
201 #define	key_ppage 			CUR _Vr2_Astrs._s83
202 #define	key_right 			CUR _Vr2_Astrs._s84
203 #define	key_sf 				CUR _Vr2_Astrs._s85
204 #define	key_sr 				CUR _Vr2_Astrs._s86
205 #define	key_stab 			CUR _Vr2_Astrs._s87
206 #define	key_up 				CUR _Vr2_Astrs._s88
207 #define	keypad_local 			CUR _Vr2_Astrs._s89
208 #define	keypad_xmit 			CUR _Vr2_Astrs._s90
209 #define	lab_f0 				CUR _Vr2_Astrs._s91
210 #define	lab_f1 				CUR _Vr2_Astrs._s92
211 #define	lab_f10 			CUR _Vr2_Astrs._s93
212 #define	lab_f2 				CUR _Vr2_Astrs._s94
213 #define	lab_f3 				CUR _Vr2_Astrs._s95
214 #define	lab_f4 				CUR _Vr2_Astrs._s96
215 #define	lab_f5 				CUR _Vr2_Astrs._s97
216 #define	lab_f6 				CUR _Vr2_Astrs._s98
217 #define	lab_f7 				CUR _Vr2_Astrs._s99
218 #define	lab_f8 				CUR _Vr2_Astrs._s100
219 #define	lab_f9 				CUR _Vr2_Bstrs._s101
220 #define	meta_off 			CUR _Vr2_Bstrs._s102
221 #define	meta_on 			CUR _Vr2_Bstrs._s103
222 #define	newline 			CUR _Vr2_Bstrs._s104
223 #define	pad_char 			CUR _Vr2_Bstrs._s105
224 #define	parm_dch 			CUR _Vr2_Bstrs._s106
225 #define	parm_delete_line 		CUR _Vr2_Bstrs._s107
226 #define	parm_down_cursor 		CUR _Vr2_Bstrs._s108
227 #define	parm_ich 			CUR _Vr2_Bstrs._s109
228 #define	parm_index 			CUR _Vr2_Bstrs._s110
229 #define	parm_insert_line 		CUR _Vr2_Bstrs._s111
230 #define	parm_left_cursor 		CUR _Vr2_Bstrs._s112
231 #define	parm_right_cursor 		CUR _Vr2_Bstrs._s113
232 #define	parm_rindex 			CUR _Vr2_Bstrs._s114
233 #define	parm_up_cursor 			CUR _Vr2_Bstrs._s115
234 #define	pkey_key 			CUR _Vr2_Bstrs._s116
235 #define	pkey_local 			CUR _Vr2_Bstrs._s117
236 #define	pkey_xmit 			CUR _Vr2_Bstrs._s118
237 #define	print_screen 			CUR _Vr2_Bstrs._s119
238 #define	prtr_off 			CUR _Vr2_Bstrs._s120
239 #define	prtr_on 			CUR _Vr2_Bstrs._s121
240 #define	repeat_char 			CUR _Vr2_Bstrs._s122
241 #define	reset_1string 			CUR _Vr2_Bstrs._s123
242 #define	reset_2string 			CUR _Vr2_Bstrs._s124
243 #define	reset_3string 			CUR _Vr2_Bstrs._s125
244 #define	reset_file 			CUR _Vr2_Bstrs._s126
245 #define	restore_cursor 			CUR _Vr2_Bstrs._s127
246 #define	row_address 			CUR _Vr2_Bstrs._s128
247 #define	save_cursor 			CUR _Vr2_Bstrs._s129
248 #define	scroll_forward 			CUR _Vr2_Bstrs._s130
249 #define	scroll_reverse 			CUR _Vr2_Bstrs._s131
250 #define	set_attributes 			CUR _Vr2_Bstrs._s132
251 #define	set_tab 			CUR _Vr2_Bstrs._s133
252 #define	set_window 			CUR _Vr2_Bstrs._s134
253 #define	tab 				CUR _Vr2_Bstrs._s135
254 #define	to_status_line 			CUR _Vr2_Bstrs._s136
255 #define	underline_char 			CUR _Vr2_Bstrs._s137
256 #define	up_half_line 			CUR _Vr2_Bstrs._s138
257 #define	init_prog 			CUR _Vr2_Bstrs._s139
258 #define	key_a1 				CUR _Vr2_Bstrs._s140
259 #define	key_a3 				CUR _Vr2_Bstrs._s141
260 #define	key_b2 				CUR _Vr2_Bstrs._s142
261 #define	key_c1 				CUR _Vr2_Bstrs._s143
262 #define	key_c3 				CUR _Vr2_Bstrs._s144
263 #define	prtr_non 			CUR _Vr2_Bstrs._s145
264 #define	char_padding 			CURS strs2._char_padding
265 #define	acs_chars 			CURS strs2._acs_chars
266 #define	plab_norm 			CURS strs2._plab_norm
267 #define	key_btab 			CURS strs2._ky_btab
268 #define	enter_xon_mode 			CURS strs2._entr_xon_mode
269 #define	exit_xon_mode 			CURS strs2._exit_xon_mode
270 #define	enter_am_mode 			CURS strs2._entr_am_mode
271 #define	exit_am_mode 			CURS strs2._exit_am_mode
272 #define	xon_character 			CURS strs2._xon_character
273 #define	xoff_character 			CURS strs2._xoff_character
274 #define	ena_acs 			CURS strs2._ena_acs
275 #define	label_on 			CURS strs2._labl_on
276 #define	label_off 			CURS strs2._labl_off
277 #define	key_beg 			CURS strs2._ky_beg
278 #define	key_cancel 			CURS strs2._ky_cancel
279 #define	key_close 			CURS strs2._ky_close
280 #define	key_command 			CURS strs2._ky_command
281 #define	key_copy 			CURS strs2._ky_copy
282 #define	key_create 			CURS strs2._ky_create
283 #define	key_end 			CURS strs2._ky_end
284 #define	key_enter 			CURS strs2._ky_enter
285 #define	key_exit 			CURS strs2._ky_exit
286 #define	key_find 			CURS strs2._ky_find
287 #define	key_help 			CURS strs2._ky_help
288 #define	key_mark 			CURS strs2._ky_mark
289 #define	key_message 			CURS strs2._ky_message
290 #define	key_move 			CURS strs2._ky_move
291 #define	key_next 			CURS strs2._ky_next
292 #define	key_open 			CURS strs2._ky_open
293 #define	key_options 			CURS strs2._ky_options
294 #define	key_previous 			CURS strs2._ky_previous
295 #define	key_print 			CURS strs2._ky_print
296 #define	key_redo 			CURS strs2._ky_redo
297 #define	key_reference 			CURS strs2._ky_reference
298 #define	key_refresh 			CURS strs2._ky_refresh
299 #define	key_replace 			CURS strs2._ky_replace
300 #define	key_restart 			CURS strs2._ky_restart
301 #define	key_resume 			CURS strs2._ky_resume
302 #define	key_save 			CURS strs2._ky_save
303 #define	key_suspend 			CURS strs2._ky_suspend
304 #define	key_undo 			CURS strs2._ky_undo
305 #define	key_sbeg 			CURS strs2._ky_sbeg
306 #define	key_scancel 			CURS strs2._ky_scancel
307 #define	key_scommand 			CURS strs2._ky_scommand
308 #define	key_scopy 			CURS strs2._ky_scopy
309 #define	key_screate 			CURS strs2._ky_screate
310 #define	key_sdc 			CURS strs2._ky_sdc
311 #define	key_sdl 			CURS strs2._ky_sdl
312 #define	key_select 			CURS strs2._ky_select
313 #define	key_send 			CURS strs2._ky_send
314 #define	key_seol 			CURS strs2._ky_seol
315 #define	key_sexit 			CURS strs2._ky_sexit
316 #define	key_sfind 			CURS strs2._ky_sfind
317 #define	key_shelp 			CURS strs2._ky_shelp
318 #define	key_shome 			CURS strs2._ky_shome
319 #define	key_sic 			CURS strs3._ky_sic
320 #define	key_sleft 			CURS strs3._ky_sleft
321 #define	key_smessage 			CURS strs3._ky_smessage
322 #define	key_smove 			CURS strs3._ky_smove
323 #define	key_snext 			CURS strs3._ky_snext
324 #define	key_soptions 			CURS strs3._ky_soptions
325 #define	key_sprevious 			CURS strs3._ky_sprevious
326 #define	key_sprint 			CURS strs3._ky_sprint
327 #define	key_sredo 			CURS strs3._ky_sredo
328 #define	key_sreplace 			CURS strs3._ky_sreplace
329 #define	key_sright 			CURS strs3._ky_sright
330 #define	key_srsume 			CURS strs3._ky_srsume
331 #define	key_ssave 			CURS strs3._ky_ssave
332 #define	key_ssuspend 			CURS strs3._ky_ssuspend
333 #define	key_sundo 			CURS strs3._ky_sundo
334 #define	req_for_input 			CURS strs3._req_for_input
335 #define	key_f11 			CURS strs3._ky_f11
336 #define	key_f12 			CURS strs3._ky_f12
337 #define	key_f13 			CURS strs3._ky_f13
338 #define	key_f14 			CURS strs3._ky_f14
339 #define	key_f15 			CURS strs3._ky_f15
340 #define	key_f16 			CURS strs3._ky_f16
341 #define	key_f17 			CURS strs3._ky_f17
342 #define	key_f18 			CURS strs3._ky_f18
343 #define	key_f19 			CURS strs3._ky_f19
344 #define	key_f20 			CURS strs3._ky_f20
345 #define	key_f21 			CURS strs3._ky_f21
346 #define	key_f22 			CURS strs3._ky_f22
347 #define	key_f23 			CURS strs3._ky_f23
348 #define	key_f24 			CURS strs3._ky_f24
349 #define	key_f25 			CURS strs3._ky_f25
350 #define	key_f26 			CURS strs3._ky_f26
351 #define	key_f27 			CURS strs3._ky_f27
352 #define	key_f28 			CURS strs3._ky_f28
353 #define	key_f29 			CURS strs3._ky_f29
354 #define	key_f30 			CURS strs3._ky_f30
355 #define	key_f31 			CURS strs3._ky_f31
356 #define	key_f32 			CURS strs3._ky_f32
357 #define	key_f33 			CURS strs3._ky_f33
358 #define	key_f34 			CURS strs3._ky_f34
359 #define	key_f35 			CURS strs3._ky_f35
360 #define	key_f36 			CURS strs3._ky_f36
361 #define	key_f37 			CURS strs3._ky_f37
362 #define	key_f38 			CURS strs3._ky_f38
363 #define	key_f39 			CURS strs3._ky_f39
364 #define	key_f40 			CURS strs3._ky_f40
365 #define	key_f41 			CURS strs3._ky_f41
366 #define	key_f42 			CURS strs3._ky_f42
367 #define	key_f43 			CURS strs3._ky_f43
368 #define	key_f44 			CURS strs3._ky_f44
369 #define	key_f45 			CURS strs3._ky_f45
370 #define	key_f46 			CURS strs3._ky_f46
371 #define	key_f47 			CURS strs3._ky_f47
372 #define	key_f48 			CURS strs3._ky_f48
373 #define	key_f49 			CURS strs3._ky_f49
374 #define	key_f50 			CURS strs3._ky_f50
375 #define	key_f51 			CURS strs3._ky_f51
376 #define	key_f52 			CURS strs3._ky_f52
377 #define	key_f53 			CURS strs3._ky_f53
378 #define	key_f54 			CURS strs3._ky_f54
379 #define	key_f55 			CURS strs3._ky_f55
380 #define	key_f56 			CURS strs3._ky_f56
381 #define	key_f57 			CURS strs3._ky_f57
382 #define	key_f58 			CURS strs3._ky_f58
383 #define	key_f59 			CURS strs3._ky_f59
384 #define	key_f60 			CURS strs3._ky_f60
385 #define	key_f61 			CURS strs3._ky_f61
386 #define	key_f62 			CURS strs3._ky_f62
387 #define	key_f63 			CURS strs3._ky_f63
388 #define	clr_bol 			CURS strs3._clr_bol
389 #define	clear_margins 			CURS strs3._clear_margins
390 #define	set_left_margin 		CURS strs3._set_left_margin
391 #define	set_right_margin 		CURS strs3._set_right_margin
392 #define	label_format 			CURS strs3._labl_format
393 #define	set_clock 			CURS strs3._set_clock
394 #define	display_clock 			CURS strs3._display_clock
395 #define	remove_clock 			CURS strs3._remove_clock
396 #define	create_window 			CURS strs3._create_window
397 #define	goto_window 			CURS strs3._goto_window
398 #define	hangup 				CURS strs3._hangup
399 #define	dial_phone 			CURS strs3._dial_phone
400 #define	quick_dial 			CURS strs3._quick_dial
401 #define	tone 				CURS strs3._tone
402 #define	pulse 				CURS strs3._pulse
403 #define	flash_hook 			CURS strs3._flash_hook
404 #define	fixed_pause 			CURS strs3._fixed_pause
405 #define	wait_tone 			CURS strs3._wait_tone
406 #define	user0 				CURS strs3._user0
407 #define	user1 				CURS strs3._user1
408 #define	user2 				CURS strs3._user2
409 #define	user3 				CURS strs3._user3
410 #define	user4 				CURS strs3._user4
411 #define	user5 				CURS strs3._user5
412 #define	user6 				CURS strs3._user6
413 #define	user7 				CURS strs3._user7
414 #define	user8 				CURS strs3._user8
415 #define	user9 				CURS strs3._user9
416 #define	orig_pair 			CURS strs3._orig_pair
417 #define	orig_colors 			CURS strs3._orig_colors
418 #define	initialize_color 		CURS strs3._initialize_color
419 #define	initialize_pair 		CURS strs4._initialize_pair
420 #define	set_color_pair 			CURS strs4._set_color_pair
421 #define	set_foreground 			CURS strs4._set_foreground
422 #define	set_background 			CURS strs4._set_background
423 #define	change_char_pitch 		CURS strs4._change_char_pitch
424 #define	change_line_pitch 		CURS strs4._change_line_pitch
425 #define	change_res_horz 		CURS strs4._change_res_horz
426 #define	change_res_vert 		CURS strs4._change_res_vert
427 #define	define_char 			CURS strs4._define_char
428 #define	enter_doublewide_mode 		CURS strs4._entr_doublewide_mode
429 #define	enter_draft_quality 		CURS strs4._entr_draft_quality
430 #define	enter_italics_mode 		CURS strs4._entr_italics_mode
431 #define	enter_leftward_mode 		CURS strs4._entr_leftward_mode
432 #define	enter_micro_mode 		CURS strs4._entr_micro_mode
433 #define	enter_near_letter_quality 		CURS strs4._entr_near_letter_quality
434 #define	enter_normal_quality 		CURS strs4._entr_normal_quality
435 #define	enter_shadow_mode 		CURS strs4._entr_shadow_mode
436 #define	enter_subscript_mode 		CURS strs4._entr_subscript_mode
437 #define	enter_superscript_mode 		CURS strs4._entr_superscript_mode
438 #define	enter_upward_mode 		CURS strs4._entr_upward_mode
439 #define	exit_doublewide_mode 		CURS strs4._exit_doublewide_mode
440 #define	exit_italics_mode 		CURS strs4._exit_italics_mode
441 #define	exit_leftward_mode 		CURS strs4._exit_leftward_mode
442 #define	exit_micro_mode 		CURS strs4._exit_micro_mode
443 #define	exit_shadow_mode 		CURS strs4._exit_shadow_mode
444 #define	exit_subscript_mode 		CURS strs4._exit_subscript_mode
445 #define	exit_superscript_mode 		CURS strs4._exit_superscript_mode
446 #define	exit_upward_mode 		CURS strs4._exit_upward_mode
447 #define	micro_column_address 		CURS strs4._micro_column_address
448 #define	micro_down 			CURS strs4._micro_down
449 #define	micro_left 			CURS strs4._micro_left
450 #define	micro_right 			CURS strs4._micro_right
451 #define	micro_row_address 		CURS strs4._micro_row_address
452 #define	micro_up 			CURS strs4._micro_up
453 #define	order_of_pins 			CURS strs4._order_of_pins
454 #define	parm_down_micro 		CURS strs4._prm_down_micro
455 #define	parm_left_micro 		CURS strs4._prm_left_micro
456 #define	parm_right_micro 		CURS strs4._prm_right_micro
457 #define	parm_up_micro 			CURS strs4._prm_up_micro
458 #define	select_char_set 		CURS strs4._select_char_set
459 #define	set_bottom_margin 		CURS strs4._set_bottom_margin
460 #define	set_bottom_margin_parm 		CURS strs4._set_bottom_margin_parm
461 #define	set_left_margin_parm 		CURS strs4._set_left_margin_parm
462 #define	set_right_margin_parm 		CURS strs4._set_right_margin_parm
463 #define	set_top_margin 			CURS strs4._set_top_margin
464 #define	set_top_margin_parm 		CURS strs4._set_top_margin_parm
465 #define	start_bit_image 		CURS strs4._start_bit_image
466 #define	start_char_set_def 		CURS strs4._start_char_set_def
467 #define	stop_bit_image 			CURS strs4._stop_bit_image
468 #define	stop_char_set_def 		CURS strs4._stop_char_set_def
469 #define	subscript_characters 		CURS strs4._subscript_characters
470 #define	superscript_characters 		CURS strs4._superscript_characters
471 #define	these_cause_cr 			CURS strs4._these_cause_cr
472 #define	zero_motion 			CURS strs4._zero_motion
473 #define	char_set_names 			CURS strs4._char_set_names
474 #define	key_mouse 			CURS strs4._ky_mouse
475 #define	mouse_info 			CURS strs4._mouse_info
476 #define	req_mouse_pos 			CURS strs4._req_mouse_pos
477 #define	get_mouse 			CURS strs4._get_mouse
478 #define	set_a_foreground 		CURS strs4._set_a_foreground
479 #define	set_a_background 		CURS strs4._set_a_background
480 #define	pkey_plab 			CURS strs4._pkey_plab
481 #define	device_type 			CURS strs4._device_type
482 #define	code_set_init 			CURS strs4._code_set_init
483 #define	set0_des_seq 			CURS strs4._set0_des_seq
484 #define	set1_des_seq 			CURS strs4._set1_des_seq
485 #define	set2_des_seq 			CURS strs4._set2_des_seq
486 #define	set3_des_seq 			CURS strs4._set3_des_seq
487 #define	set_lr_margin 			CURS strs4._set_lr_margin
488 #define	set_tb_margin 			CURS strs4._set_tb_margin
489 #define	bit_image_repeat 		CURS strs4._bit_image_repeat
490 #define	bit_image_newline 		CURS strs4._bit_image_newline
491 #define	bit_image_carriage_return 		CURS strs4._bit_image_carriage_return
492 #define	color_names 			CURS strs4._color_names
493 #define	define_bit_image_region 		CURS strs4._define_bit_image_region
494 #define	end_bit_image_region 		CURS strs4._end_bit_image_region
495 #define	set_color_band 			CURS strs4._set_color_band
496 #define	set_page_length 		CURS strs4._set_page_length
497 #define	display_pc_char 		CURS strs4._display_pc_char
498 #define	enter_pc_charset_mode 		CURS strs4._entr_pc_charset_mode
499 #define	exit_pc_charset_mode 		CURS strs4._exit_pc_charset_mode
500 #define	enter_scancode_mode 		CURS strs4._entr_scancode_mode
501 #define	exit_scancode_mode 		CURS strs4._exit_scancode_mode
502 #define	pc_term_options 		CURS strs4._pc_term_options
503 #define	scancode_escape 		CURS strs4._scancode_escape
504 #define	alt_scancode_esc 		CURS strs4._alt_scancode_esc
505 #define	enter_horizontal_hl_mode 		CURS strs4._entr_horizontal_hl_mode
506 #define	enter_left_hl_mode 		CURS strs4._entr_left_hl_mode
507 #define	enter_low_hl_mode 		CURS strs4._entr_low_hl_mode
508 #define	enter_right_hl_mode 		CURS strs4._entr_right_hl_mode
509 #define	enter_top_hl_mode 		CURS strs4._entr_top_hl_mode
510 #define	enter_vertical_hl_mode 		CURS strs4._entr_vertical_hl_mode
511 #define	set_a_attributes 		CURS strs4._set_a_attributes
512 #define	set_pglen_inch 		CURS strs4._set_pglen_inch
513 
514 typedef char *charptr;
515 struct strs {
516     charptr
517 	_back_tab,		/* Back tab */
518 	_bell,			/* Audible signal (bell) */
519 	_carriage_return,	/* Carriage return (*) */
520 	_change_scroll_region,	/* change to lines #1 thru #2 (vt100) (G) */
521 	_clear_all_tabs,	/* Clear all tab stops. */
522 	_clear_screen,		/* Clear screen (*) */
523 	_clr_eol,		/* Clear to end of line */
524 	_clr_eos,		/* Clear to end of display (*) */
525 	_column_address,	/* Set cursor column (G) */
526 	_command_character,	/* Term. settable cmd char in prototype */
527 	_crsr_address,		/* Cursor motion to row #1 col #2 (G) */
528 	_crsr_down,		/* Down one line */
529 	_crsr_home,		/* Home cursor (if no cup) */
530 	_crsr_invisible,	/* Make cursor invisible */
531 	_crsr_left,		/* Move cursor left one space. */
532 	_crsr_mem_address,	/* Memory relative cursor addressing. */
533 	_crsr_normal,		/* Make cursor appear normal (undo vs/vi) */
534 	_crsr_right,		/* Non-destructive space (cursor right) */
535 	_crsr_to_ll,		/* Last line, first column (if no cup) */
536 	_crsr_up,		/* Upline (cursor up) */
537 	_crsr_visible,		/* Make cursor very visible */
538 	_dlt_character,	/* Delete character (*) */
539 	_dlt_line,		/* Delete line (*) */
540 	_dis_status_line,	/* Disable status line */
541 	_down_half_line,	/* Half-line down (forward 1/2 linefeed) */
542 	_entr_alt_charset_mode,	/* Start alternate character set */
543 	_entr_blink_mode,	/* Turn on blinking */
544 	_entr_bold_mode,	/* Turn on bold (extra bright) mode */
545 	_entr_ca_mode,		/* String to begin programs that use cup */
546 	_entr_delete_mode,	/* Delete mode (enter) */
547 	_entr_dim_mode,		/* Turn on half-bright mode */
548 	_entr_insert_mode,	/* Insert mode (enter); */
549 	_entr_secure_mode,	/* Turn on blank mode (chars invisible) */
550 	_entr_protected_mode,	/* Turn on protected mode */
551 	_entr_reverse_mode,	/* Turn on reverse video mode */
552 	_entr_standout_mode,	/* Begin stand out mode */
553 	_entr_underline_mode,	/* Start underscore mode */
554 	_erase_chars,		/* Erase #1 characters (G) */
555 	_exit_alt_charset_mode,	/* End alternate character set */
556 	_exit_attribute_mode,	/* Turn off all attributes */
557 	_exit_ca_mode,		/* String to end programs that use cup */
558 	_exit_delete_mode,	/* End delete mode */
559 	_exit_insert_mode,	/* End insert mode; */
560 	_exit_standout_mode,	/* End stand out mode */
561 	_exit_underline_mode,	/* End underscore mode */
562 	_flash_screen,		/* Visible bell (may not move cursor) */
563 	_form_feed,		/* Hardcopy terminal page eject (*) */
564 	_from_status_line,	/* Return from status line */
565 	_init_1string,		/* Terminal initialization string */
566 	_init_2string,		/* Terminal initialization string */
567 	_init_3string,		/* Terminal initialization string */
568 	_init_file,		/* Name of file containing is */
569 	_ins_character,	/* Insert character */
570 	_ins_line,		/* Add new blank line (*) */
571 	_ins_padding,		/* Insert pad after character inserted (*) */
572 	_ky_backspace,		/* KEY_BACKSPACE, 0407, Sent by backspace key */
573 	_ky_catab,		/* KEY_CATAB, 0526, Sent by clear-all-tabs key. */
574 	_ky_clear,		/* KEY_CLEAR, 0515, Sent by clear screen or erase key. */
575 	_ky_ctab,		/* KEY_CTAB, 0525, Sent by clear-tab key */
576 	_ky_dc,			/* KEY_DC, 0512, Sent by delete character key. */
577 	_ky_dl,			/* KEY_DL, 0510, Sent by delete line key. */
578 	_ky_down,		/* KEY_DOWN, 0402, Sent by terminal down arrow key */
579 	_ky_eic,		/* KEY_EIC, 0514, Sent by rmir or smir in ins mode. */
580 	_ky_eol,		/* KEY_EOL, 0517, Sent by clear-to-end-of-line key. */
581 	_ky_eos,		/* KEY_EOS, 0516, Sent by clear-to-end-of-screen. */
582 	_ky_f0,			/* KEY_F(0), 0410, function key f0. */
583 	_ky_f1,			/* KEY_F(1), 0411, function key f1. */
584 	_ky_f10,		/* KEY_F(10), 0422, function key f10. */
585 	_ky_f2,			/* KEY_F(2), 0412, function key f2. */
586 	_ky_f3,			/* KEY_F(3), 0413, function key f3. */
587 	_ky_f4,			/* KEY_F(4), 0414, function key f4. */
588 	_ky_f5,			/* KEY_F(5), 0415, function key f5. */
589 	_ky_f6,			/* KEY_F(6), 0416, function key f6. */
590 	_ky_f7,			/* KEY_F(7), 0417, function key f7. */
591 	_ky_f8,			/* KEY_F(8), 0420, function key f8. */
592 	_ky_f9,			/* KEY_F(9), 0421, function key f9. */
593 	_ky_home,		/* KEY_HOME, 0406, Sent by home key. */
594 	_ky_ic,			/* KEY_IC, 0513, Sent by ins char/enter mode key. */
595 	_ky_il,			/* KEY_IL, 0511, Sent by insert line. */
596 	_ky_left,		/* KEY_LEFT, 0404, Sent by terminal left arrow key */
597 	_ky_ll,			/* KEY_LL, 0533, Sent by home-down key */
598 	_ky_npage,		/* KEY_NPAGE, 0522, Sent by next-page key */
599 	_ky_ppage,		/* KEY_PPAGE, 0523, Sent by previous-page key */
600 	_ky_right,		/* KEY_RIGHT, 0405, Sent by terminal right arrow key */
601 	_ky_sf,			/* KEY_SF, 0520, Sent by scroll-forward/down key */
602 	_ky_sr,			/* KEY_SR, 0521, Sent by scroll-backward/up key */
603 	_ky_stab,		/* KEY_STAB, 0524, Sent by set-tab key */
604 	_ky_up,			/* KEY_UP, 0403, Sent by terminal up arrow key */
605 	_kpad_local,		/* Out of "keypad transmit" mode */
606 	_kpad_xmit,		/* Put terminal in "keypad transmit" mode */
607 	_lab_f0,		/* Labels on function key f0 if not f0 */
608 	_lab_f1,		/* Labels on function key f1 if not f1 */
609 	_lab_f10,		/* Labels on function key f10 if not f10 */
610 	_lab_f2,		/* Labels on function key f2 if not f2 */
611 	_lab_f3,		/* Labels on function key f3 if not f3 */
612 	_lab_f4,		/* Labels on function key f4 if not f4 */
613 	_lab_f5,		/* Labels on function key f5 if not f5 */
614 	_lab_f6,		/* Labels on function key f6 if not f6 */
615 	_lab_f7,		/* Labels on function key f7 if not f7 */
616 	_lab_f8;			/* Labels on function key f8 if not f8 */
617 };
618 
619 struct strs2 {
620     charptr
621 	_lab_f9,		/* Labels on function key f9 if not f9 */
622 	_meta_off,		/* Turn off "meta mode" */
623 	_meta_on,		/* Turn on "meta mode" (8th bit) */
624 	_newline,		/* Newline (behaves like cr followed by lf) */
625 	_pad_char,		/* Pad character (rather than null) */
626 	_prm_dch,		/* Delete #1 chars (G*) */
627 	_prm_delete_line,	/* Delete #1 lines (G*) */
628 	_prm_down_cursor,	/* Move cursor down #1 lines. (G*) */
629 	_prm_ich,		/* Insert #1 blank chars (G*) */
630 	_prm_index,		/* Scroll forward #1 lines. (G) */
631 	_prm_insert_line,	/* Add #1 new blank lines (G*) */
632 	_prm_left_cursor,	/* Move cursor left #1 spaces (G) */
633 	_prm_right_cursor,	/* Move cursor right #1 spaces. (G*) */
634 	_prm_rindex,		/* Scroll backward #1 lines. (G) */
635 	_prm_up_cursor,		/* Move cursor up #1 lines. (G*) */
636 	_pkey_key,		/* Prog funct key #1 to type string #2 */
637 	_pkey_local,		/* Prog funct key #1 to execute string #2 */
638 	_pkey_xmit,		/* Prog funct key #1 to xmit string #2 */
639 	_print_screen,		/* Print contents of the screen */
640 	_prtr_off,		/* Turn off the printer */
641 	_prtr_on,		/* Turn on the printer */
642 	_repeat_char,		/* Repeat char #1 #2 times.  (G*) */
643 	_reset_1string,		/* Reset terminal completely to sane modes. */
644 	_reset_2string,		/* Reset terminal completely to sane modes. */
645 	_reset_3string,		/* Reset terminal completely to sane modes. */
646 	_reset_file,		/* Name of file containing reset string. */
647 	_restore_cursor,	/* Restore cursor to position of last sc. */
648 	_row_address,		/* Like hpa but sets row. (G) */
649 	_save_cursor,		/* Save cursor position. */
650 	_scrll_forward,		/* Scroll text up */
651 	_scrll_reverse,		/* Scroll text down */
652 	_set_attributes,	/* Define the video attributes (G9) */
653 	_set_tab,		/* Set a tab in all rows, current column. */
654 	_set_window,		/* Current window is lines #1-#2 cols #3-#4 */
655 	_tab,			/* Tab to next 8 space hardware tab stop. */
656 	_to_status_line,	/* Go to status line, col #1 */
657 	_underline_char,	/* Underscore one char and move past it */
658 	_up_half_line,		/* Half-line up (reverse 1/2 linefeed) */
659 	_init_prog,		/* Path name of program for init. */
660 	_ky_a1,			/* KEY_A1, 0534, Upper left of keypad */
661 	_ky_a3,			/* KEY_A3, 0535, Upper right of keypad */
662 	_ky_b2,			/* KEY_B2, 0536, Center of keypad */
663 	_ky_c1,			/* KEY_C1, 0537, Lower left of keypad */
664 	_ky_c3,			/* KEY_C3, 0540, Lower right of keypad */
665 	_prtr_non,		/* Turn on the printer for #1 bytes. */
666 	_char_padding,		/* Like ip but when in replace mode */
667 	_acs_chars,		/* Graphic charset pairs aAbBcC - def=vt100 */
668 	_plab_norm,		/* Prog label #1 to show string #2 */
669 	_ky_btab,		/* KEY_BTAB, 0541, Back tab key */
670 	_entr_xon_mode,		/* Turn on xon/xoff handshaking */
671 	_exit_xon_mode,		/* Turn off xon/xoff handshaking */
672 	_entr_am_mode,		/* Turn on automatic margins */
673 	_exit_am_mode,		/* Turn off automatic margins */
674 	_xon_character,		/* X-on character */
675 	_xoff_character,	/* X-off character */
676 	_ena_acs,		/* Enable alternate char set */
677 	_labl_on,		/* Turn on soft labels */
678 	_labl_off,		/* Turn off soft labels */
679 	_ky_beg,		/* KEY_BEG, 0542, beg(inning) key */
680 	_ky_cancel,		/* KEY_CANCEL, 0543, cancel key */
681 	_ky_close,		/* KEY_CLOSE, 0544, close key */
682 	_ky_command,		/* KEY_COMMAND, 0545, cmd (command) key */
683 	_ky_copy,		/* KEY_COPY, 0546, copy key */
684 	_ky_create,		/* KEY_CREATE, 0547, create key */
685 	_ky_end,		/* KEY_END, 0550, end key */
686 	_ky_enter,		/* KEY_ENTER, 0527, Enter/send (unreliable) */
687 	_ky_exit,		/* KEY_EXIT, 0551, exit key */
688 	_ky_find,		/* KEY_FIND, 0552, find key */
689 	_ky_help,		/* KEY_HELP, 0553, help key */
690 	_ky_mark,		/* KEY_MARK, 0554, mark key */
691 	_ky_message,		/* KEY_MESSAGE, 0555, message key */
692 	_ky_move,		/* KEY_MOVE, 0556, move key */
693 	_ky_next,		/* KEY_NEXT, 0557, next object key */
694 	_ky_open,		/* KEY_OPEN, 0560, open key */
695 	_ky_options,		/* KEY_OPTIONS, 0561, options key */
696 	_ky_previous,		/* KEY_PREVIOUS, 0562, previous object key */
697 	_ky_print,		/* KEY_PRINT, 0532, print or copy */
698 	_ky_redo,		/* KEY_REDO, 0563, redo key */
699 	_ky_reference,		/* KEY_REFERENCE, 0564, ref(erence) key */
700 	_ky_refresh,		/* KEY_REFRESH, 0565, refresh key */
701 	_ky_replace,		/* KEY_REPLACE, 0566, replace key */
702 	_ky_restart,		/* KEY_RESTART, 0567, restart key */
703 	_ky_resume,		/* KEY_RESUME, 0570, resume key */
704 	_ky_save,		/* KEY_SAVE, 0571, save key */
705 	_ky_suspend,		/* KEY_SUSPEND, 0627, suspend key */
706 	_ky_undo,		/* KEY_UNDO, 0630, undo key */
707 	_ky_sbeg,		/* KEY_SBEG, 0572, shifted beginning key */
708 	_ky_scancel,		/* KEY_SCANCEL, 0573, shifted cancel key */
709 	_ky_scommand,		/* KEY_SCOMMAND, 0574, shifted command key */
710 	_ky_scopy,		/* KEY_SCOPY, 0575, shifted copy key */
711 	_ky_screate,		/* KEY_SCREATE, 0576, shifted create key */
712 	_ky_sdc,		/* KEY_SDC, 0577, shifted delete char key */
713 	_ky_sdl,		/* KEY_SDL, 0600, shifted delete line key */
714 	_ky_select,		/* KEY_SELECT, 0601, select key */
715 	_ky_send,		/* KEY_SEND, 0602, shifted end key */
716 	_ky_seol,		/* KEY_SEOL, 0603, shifted clear line key */
717 	_ky_sexit,		/* KEY_SEXIT, 0604, shifted exit key */
718 	_ky_sfind,		/* KEY_SFIND, 0605, shifted find key */
719 	_ky_shelp,		/* KEY_SHELP, 0606, shifted help key */
720 	_ky_shome;		/* KEY_SHOME, 0607, shifted home key */
721 };
722 
723 struct strs3 {
724     charptr
725 	_ky_sic,		/* KEY_SIC, 0610, shifted input key */
726 	_ky_sleft,		/* KEY_SLEFT, 0611, shifted left arrow key */
727 	_ky_smessage,		/* KEY_SMESSAGE, 0612, shifted message key */
728 	_ky_smove,		/* KEY_SMOVE, 0613, shifted move key */
729 	_ky_snext,		/* KEY_SNEXT, 0614, shifted next key */
730 	_ky_soptions,		/* KEY_SOPTIONS, 0615, shifted options key */
731 	_ky_sprevious,		/* KEY_SPREVIOUS, 0616, shifted prev key */
732 	_ky_sprint,		/* KEY_SPRINT, 0617, shifted print key */
733 	_ky_sredo,		/* KEY_SREDO, 0620, shifted redo key */
734 	_ky_sreplace,		/* KEY_SREPLACE, 0621, shifted replace key */
735 	_ky_sright,		/* KEY_SRIGHT, 0622, shifted right arrow */
736 	_ky_srsume,		/* KEY_SRSUME, 0623, shifted resume key */
737 	_ky_ssave,		/* KEY_SSAVE, 0624, shifted save key */
738 	_ky_ssuspend,		/* KEY_SSUSPEND, 0625, shifted suspend key */
739 	_ky_sundo,		/* KEY_SUNDO, 0626, shifted undo key */
740 	_req_for_input,		/* send next input char (for ptys) */
741 	_ky_f11,		/* KEY_F(11), 0423, function key f11. */
742 	_ky_f12,		/* KEY_F(12), 0424, function key f12. */
743 	_ky_f13,		/* KEY_F(13), 0425, function key f13. */
744 	_ky_f14,		/* KEY_F(14), 0426, function key f14. */
745 	_ky_f15,		/* KEY_F(15), 0427, function key f15. */
746 	_ky_f16,		/* KEY_F(16), 0430, function key f16. */
747 	_ky_f17,		/* KEY_F(17), 0431, function key f17. */
748 	_ky_f18,		/* KEY_F(18), 0432, function key f18. */
749 	_ky_f19,		/* KEY_F(19), 0433, function key f19. */
750 	_ky_f20,		/* KEY_F(20), 0434, function key f20. */
751 	_ky_f21,		/* KEY_F(21), 0435, function key f21. */
752 	_ky_f22,		/* KEY_F(22), 0436, function key f22. */
753 	_ky_f23,		/* KEY_F(23), 0437, function key f23. */
754 	_ky_f24,		/* KEY_F(24), 0440, function key f24. */
755 	_ky_f25,		/* KEY_F(25), 0441, function key f25. */
756 	_ky_f26,		/* KEY_F(26), 0442, function key f26. */
757 	_ky_f27,		/* KEY_F(27), 0443, function key f27. */
758 	_ky_f28,		/* KEY_F(28), 0444, function key f28. */
759 	_ky_f29,		/* KEY_F(29), 0445, function key f29. */
760 	_ky_f30,		/* KEY_F(30), 0446, function key f30. */
761 	_ky_f31,		/* KEY_F(31), 0447, function key f31. */
762 	_ky_f32,		/* KEY_F(32), 0450, function key f32. */
763 	_ky_f33,		/* KEY_F(33), 0451, function key f33. */
764 	_ky_f34,		/* KEY_F(34), 0452, function key f34. */
765 	_ky_f35,		/* KEY_F(35), 0453, function key f35. */
766 	_ky_f36,		/* KEY_F(36), 0454, function key f36. */
767 	_ky_f37,		/* KEY_F(37), 0455, function key f37. */
768 	_ky_f38,		/* KEY_F(38), 0456, function key f38. */
769 	_ky_f39,		/* KEY_F(39), 0457, function key f39. */
770 	_ky_f40,		/* KEY_F(40), 0460, function key f40. */
771 	_ky_f41,		/* KEY_F(41), 0461, function key f41. */
772 	_ky_f42,		/* KEY_F(42), 0462, function key f42. */
773 	_ky_f43,		/* KEY_F(43), 0463, function key f43. */
774 	_ky_f44,		/* KEY_F(44), 0464, function key f44. */
775 	_ky_f45,		/* KEY_F(45), 0465, function key f45. */
776 	_ky_f46,		/* KEY_F(46), 0466, function key f46. */
777 	_ky_f47,		/* KEY_F(47), 0467, function key f47. */
778 	_ky_f48,		/* KEY_F(48), 0470, function key f48. */
779 	_ky_f49,		/* KEY_F(49), 0471, function key f49. */
780 	_ky_f50,		/* KEY_F(50), 0472, function key f50. */
781 	_ky_f51,		/* KEY_F(51), 0473, function key f51. */
782 	_ky_f52,		/* KEY_F(52), 0474, function key f52. */
783 	_ky_f53,		/* KEY_F(53), 0475, function key f53. */
784 	_ky_f54,		/* KEY_F(54), 0476, function key f54. */
785 	_ky_f55,		/* KEY_F(55), 0477, function key f55. */
786 	_ky_f56,		/* KEY_F(56), 0500, function key f56. */
787 	_ky_f57,		/* KEY_F(57), 0501, function key f57. */
788 	_ky_f58,		/* KEY_F(58), 0502, function key f58. */
789 	_ky_f59,		/* KEY_F(59), 0503, function key f59. */
790 	_ky_f60,		/* KEY_F(60), 0504, function key f60. */
791 	_ky_f61,		/* KEY_F(61), 0505, function key f61. */
792 	_ky_f62,		/* KEY_F(62), 0506, function key f62. */
793 	_ky_f63,		/* KEY_F(63), 0507, function key f63. */
794 	_clr_bol,		/* Clear to beginning of line, inclusive */
795 	_clear_margins,		/* Clear left and right soft margins */
796 	_set_left_margin,	/* Set soft left margin */
797 	_set_right_margin,	/* Set soft right margin */
798 	_labl_format,		/* Label format */
799 	_set_clock,		/* Set time-of-day clock */
800 	_display_clock,		/* Display time-of-day clock */
801 	_remove_clock,		/* Remove time-of-day clock */
802 	_create_window,		/* Define win #1 to go from #2,#3 to #4,#5 */
803 	_goto_window,		/* Got to window #1 */
804 	_hangup,		/* Hang-up phone */
805 	_dial_phone,		/* Dial phone number #1 */
806 	_quick_dial,		/* Dial phone number #1, without progress detection */
807 	_tone,			/* Select touch tone dialing */
808 	_pulse,			/* Select pulse dialing */
809 	_flash_hook,		/* Flash the switch hook */
810 	_fixed_pause,		/* Pause for 2-3 seconds */
811 	_wait_tone,		/* Wait for dial tone */
812 	_user0,			/* User string 0 */
813 	_user1,			/* User string 1 */
814 	_user2,			/* User string 2 */
815 	_user3,			/* User string 3 */
816 	_user4,			/* User string 4 */
817 	_user5,			/* User string 5 */
818 	_user6,			/* User string 6 */
819 	_user7,			/* User string 7 */
820 	_user8,			/* User string 8 */
821 	_user9,			/* User string 9 */
822 	_orig_pair,		/* Original color-pair */
823 	_orig_colors,		/* Original colors */
824 	_initialize_color;	/* Initialize the definition of color */
825 };
826 
827 struct strs4 {
828     charptr
829 	_initialize_pair,	/* Initialize color pair */
830 	_set_color_pair,	/* Set color pair	 */
831 	_set_foreground,	/* Set foreground color using RGB escape */
832 	_set_background,	/* Set background color using RGB escape */
833 	_change_char_pitch,	/* Change no. characters per inch */
834 	_change_line_pitch,	/* Change no. lines per inch */
835 	_change_res_horz,	/* Change horizontal resolution */
836 	_change_res_vert,	/* Change vertical resolution */
837 	_define_char,		/* Define a character in a character set */
838 	_entr_doublewide_mode,	/* Enable double wide printing */
839 	_entr_draft_quality,	/* Set draft quality print */
840 	_entr_italics_mode,	/* Enable italics */
841 	_entr_leftward_mode,	/* Enable leftward carriage motion */
842 	_entr_micro_mode,	/* Enable micro motion capabilities */
843 	_entr_near_letter_quality,	/* Set near-letter quality print */
844 	_entr_normal_quality,	/* Set normal quality print */
845 	_entr_shadow_mode,	/* Enable shadow printing */
846 	_entr_subscript_mode,	/* Enable subscript printing */
847 	_entr_superscript_mode,	/* Enable superscript printing */
848 	_entr_upward_mode,	/* Enable upward carriage motion */
849 	_exit_doublewide_mode,	/* Disable double wide printing */
850 	_exit_italics_mode,	/* Disable italics */
851 	_exit_leftward_mode,	/* Enable rightward (normal) carriage motion */
852 	_exit_micro_mode,	/* Disable micro motion capabilities */
853 	_exit_shadow_mode,	/* Disable shadow printing */
854 	_exit_subscript_mode,	/* Disable subscript printing */
855 	_exit_superscript_mode,	/* Disable superscript printing */
856 	_exit_upward_mode,	/* Enable downward (normal) carriage motion */
857 	_micro_column_address,	/* Like column_address for micro adjustment */
858 	_micro_down,		/* Like cursor_down for micro adjustment */
859 	_micro_left,		/* Like cursor_left for micro adjustment */
860 	_micro_right,		/* Like cursor_right for micro adjustment */
861 	_micro_row_address,	/* Like row_address for micro adjustment */
862 	_micro_up,		/* Like cursor_up for micro adjustment */
863 	_order_of_pins,		/* Matches software bits to print-head pins */
864 	_prm_down_micro,	/* Like parm_down_cursor for micro adjust. */
865 	_prm_left_micro,	/* Like parm_left_cursor for micro adjust. */
866 	_prm_right_micro,	/* Like parm_right_cursor for micro adjust. */
867 	_prm_up_micro,		/* Like parm_up_cursor for micro adjust. */
868 	_select_char_set,	/* Select character set */
869 	_set_bottom_margin,	/* Set soft bottom margin at current line */
870 	_set_bottom_margin_parm, /* Set soft bottom margin */
871 	_set_left_margin_parm,	/* Set soft left margin */
872 	_set_right_margin_parm,	/* Set soft right margin */
873 	_set_top_margin,	/* Set soft top margin at current line */
874 	_set_top_margin_parm,	/* Set soft top margin */
875 	_start_bit_image,	/* Start printing bit image graphics */
876 	_start_char_set_def,	/* Start definition of a character set */
877 	_stop_bit_image,	/* End printing bit image graphics (use tputs) */
878 	_stop_char_set_def,	/* End definition of a character set */
879 	_subscript_characters,	/* List of ``subscript-able'' characters */
880 	_superscript_characters, /* List of ``superscript-able'' characters */
881 	_these_cause_cr,	/* Printing any of these chars causes cr */
882 	_zero_motion,		/* No motion for the subsequent character */
883 	_char_set_names,	/* List of character set names */
884 	_ky_mouse,		/* KEY_MOUSE, 0631, Mouse event has occured */
885 	_mouse_info,		/* Mouse status information */
886 	_req_mouse_pos,		/* Request mouse position report */
887 	_get_mouse,		/* Curses should get button events */
888 	_set_a_foreground,	/* Set foreground color using ANSI escape */
889 	_set_a_background,	/* Set background color using ANSI escape */
890 	_pkey_plab,		/* Prog key #1 to xmit string #2 and show string #3 */
891 	_device_type,		/* Indicate language/codeset support */
892 	_code_set_init,		/* Init sequence for multiple codesets */
893 	_set0_des_seq,		/* Shift into codeset 0 (EUC set 0, ASCII) */
894 	_set1_des_seq,		/* Shift into codeset 1 */
895 	_set2_des_seq,		/* Shift into codeset 2 */
896 	_set3_des_seq,		/* Shift into codeset 3 */
897 	_set_lr_margin,		/* Sets both left and right margins */
898 	_set_tb_margin,		/* Sets both top and bottom margins */
899 	_bit_image_repeat,	/* Repeat bit-image cell #1 #2 times (use tparm) */
900 	_bit_image_newline,	/* Move to next row of the bit image (use tparm) */
901 	_bit_image_carriage_return,	/* Move to beginning of same row (use tparm) */
902 	_color_names,		/* Give name for color #1 */
903 	_define_bit_image_region,	/* Define rectangular bit-image region (use tparm) */
904 	_end_bit_image_region,	/* End a bit-image region (use tparm) */
905 	_set_color_band,	/* Change to ribbon color #1 */
906 	_set_page_length,	/* Set page length to #1 lines (use tparm) */
907 	_display_pc_char,	/* Display PC character */
908 	_entr_pc_charset_mode,	/* Enter PC character display mode */
909 	_exit_pc_charset_mode,	/* Disable PC character display mode */
910 	_entr_scancode_mode,	/* Enter PC scancode mode */
911 	_exit_scancode_mode,	/* Disable PC scancode mode */
912 	_pc_term_options,	/* PC terminal options */
913 	_scancode_escape,	/* Escape for scancode emulation */
914 	_alt_scancode_esc,	/* Alternate escape for scancode emulation */
915 	_entr_horizontal_hl_mode,	/* Horizontal highlight mode */
916 	_entr_left_hl_mode,	/* Left highlight mode */
917 	_entr_low_hl_mode,	/* Low highlight mode */
918 	_entr_right_hl_mode,	/* Right highlight mode */
919 	_entr_top_hl_mode,	/* Top highlight mode */
920 	_entr_vertical_hl_mode,	/* Vertical highlight mode */
921 	_set_a_attributes,	/* Define second set of attributes #1-#6 */
922 	_set_pglen_inch,	/* Set page length to #1/100 of an inch */
923 	Sentinel;		/* End of strings. DO NOT MOVE! */
924 };
925 
926 struct _bool_struct {
927     char
928 	_auto_left_margin,	/* cub1 wraps from column 0 to last column */
929 	_auto_right_margin,	/* Terminal has automatic margins */
930 	_no_esc_ctlc,		/* Beehive (f1=escape, f2=ctrl C) */
931 	_ceol_standout_glitch,	/* Standout not erased by overwriting (hp) */
932 	_eat_newline_glitch,	/* newline ignored after 80 cols (Concept) */
933 	_erase_overstrike,	/* Can erase overstrikes with a blank */
934 	_generic_type,		/* Generic line type (e.g. dialup, switch). */
935 	_hard_copy,		/* Hardcopy terminal */
936 	_has_meta_key,		/* Has a meta key (shift, sets parity bit) */
937 	_has_status_line,	/* Has extra "status line" */
938 	_ins_null_glitch,	/* Insert mode distinguishes nulls */
939 	_mem_above,		/* Display may be retained above the screen */
940 	_mem_below,		/* Display may be retained below the screen */
941 	_move_insert_mode,	/* Safe to move while in insert mode */
942 	_move_standout_mode,	/* Safe to move in standout modes */
943 	_over_strike,		/* Terminal overstrikes */
944 	_status_line_esc_ok,	/* Escape can be used on the status line */
945 	_dest_tabs_magic_smso,	/* Tabs destructive, magic so char (t1061) */
946 	_tilde_glitch,		/* Hazeltine; can't print ~'s */
947 	_transparent_underline,	/* underline character overstrikes */
948 	_xon_xoff,		/* Terminal uses xon/xoff handshaking */
949 	_needs_xon_xoff,	/* Padding won't work, xon/xoff required */
950 	_prtr_silent,		/* Printer won't echo on screen. */
951 	_hard_cursor,		/* Cursor is hard to see. */
952 	_non_rev_rmcup,		/* Smcup does not reverse rmcup. */
953 	_no_pad_char,		/* Pad character doesn't exist. */
954 	_non_dest_scroll_region, /* Scrolling region is non-destructive. */
955 	_can_change,		/* Can re-define existing color */
956 	_back_color_erase,	/* Erases screen with current background */
957 	_hue_lightness_saturation,	/* HLS color notation is used (Tek) */
958 	_col_addr_glitch,	/* Only positive motion for hpa/mhpa caps */
959 	_cr_cancels_micro_mode,	/* Using cr turns off micro mode */
960 	_has_print_wheel,	/* Printer needs operator to change character set */
961 	_row_addr_glitch,	/* Only positive motion for vpa/mvpa caps */
962 	_semi_auto_right_margin, /* Printing in last column causes cr */
963 	_cpi_changes_res,	/* Changing char. pitch changes resolution */
964 	_lpi_changes_res,	/* Changing line pitch changes resolution */
965 	Sentinel;		/* End of bools. DO NOT MOVE! */
966 };
967 
968 struct _num_struct {
969     short
970 	_columns,		/* Number of columns in a line */
971 	_init_tabs,		/* Tabs initially every # spaces. */
972 	_lines,			/* Number of lines on screen or page */
973 	_lines_of_memory,	/* Lines of memory if > lines.  0 => varies */
974 	_magic_cookie_glitch,	/* Number blank chars left by smso or rmso */
975 	_padding_baud_rate,	/* Lowest baud rate where padding needed */
976 	_virtual_terminal,	/* Virtual terminal number (CB/Unix) */
977 	_width_status_line,	/* # columns in status line */
978 	_num_labels,		/* # of labels on screen (start at 1) */
979 	_labl_height,		/* # rows in each label */
980 	_labl_width,		/* # cols in each label */
981 	_max_attributes,	/* max combined video attributes terminal can display */
982 	_maximum_windows,	/* Maximum number of defineable windows */
983 	_max_colors,		/* max # of color on the screen */
984 	_max_pairs,		/* max # of color pairs on the screen */
985 	_no_color_video,	/* Video attributes that cannot be used with colors */
986 	_buffer_capacity,	/* Number of bytes buffered before printing */
987 	_dot_vert_spacing,	/* Spacing of pins vertically in pins per inch */
988 	_dot_horz_spacing,	/* Spacing of dots horizontally in dots per inch */
989 	_max_micro_address,	/* Maximum value in micro_..._address */
990 	_max_micro_jump,	/* Maximum value in parm_..._micro */
991 	_micro_char_size,	/* Character step size when in micro mode */
992 	_micro_line_size,	/* Line step size when in micro mode */
993 	_number_of_pins,	/* Number of pins in print-head */
994 	_output_res_char,	/* Horizontal resolution in units per character */
995 	_output_res_line,	/* Vertical resolution in units per line */
996 	_output_res_horz_inch,	/* Horizontal resolution in units per inch */
997 	_output_res_vert_inch,	/* Vertical resolution in units per inch */
998 	_print_rate,		/* Print rate in characters per second */
999 	_wide_char_size,	/* Character step size when in double wide mode */
1000 	_buttons,		/* Number of buttons on the mouse */
1001 	_bit_image_entwining,	/* Number of passes for each bit-image row */
1002 	_bit_image_type,	/* Type of bit-image device */
1003 	Sentinel;		/* End of nums. DO NOT MOVE! */
1004 };
1005 
1006 struct _str_struct {
1007 	struct strs strs;
1008 	struct strs2 strs2;
1009 	struct strs3 strs3;
1010 	struct strs4 strs4;
1011 };
1012 
1013 #define	NUM_ATTRIBUTES	9
1014 #define	UNACCESSIBLE		1
1015 #define	NO_TERMINAL		2
1016 #define	CORRUPTED		3
1017 #define	ENTRY_TOO_LONG		4
1018 #define	TERMINFO_TOO_LONG	5
1019 #define	TERM_BAD_MALLOC		6
1020 #define	NOT_READABLE		7
1021 #define	_VR2_COMPAT_CODE
1022 #ifdef _VR2_COMPAT_CODE
1023 struct _Vr2_Astrs {
1024     charptr
1025 	_s1,  _s2,  _s3,  _s4,  _s5,  _s6,  _s7,  _s8,  _s9,  _s10,
1026 	_s11, _s12, _s13, _s14, _s15, _s16, _s17, _s18, _s19, _s20,
1027 	_s21, _s22, _s23, _s24, _s25, _s26, _s27, _s28, _s29, _s30,
1028 	_s31, _s32, _s33, _s34, _s35, _s36, _s37, _s38, _s39, _s40,
1029 	_s41, _s42, _s43, _s44, _s45, _s46, _s47, _s48, _s49, _s50,
1030 	_s51, _s52, _s53, _s54, _s55, _s56, _s57, _s58, _s59, _s60,
1031 	_s61, _s62, _s63, _s64, _s65, _s66, _s67, _s68, _s69, _s70,
1032 	_s71, _s72, _s73, _s74, _s75, _s76, _s77, _s78, _s79, _s80,
1033 	_s81, _s82, _s83, _s84, _s85, _s86, _s87, _s88, _s89, _s90,
1034 	_s91, _s92, _s93, _s94, _s95, _s96, _s97, _s98, _s99, _s100;
1035 };
1036 
1037 struct _Vr2_Bstrs {
1038     charptr
1039 	_s101, _s102, _s103, _s104, _s105, _s106, _s107, _s108, _s109, _s110,
1040 	_s111, _s112, _s113, _s114, _s115, _s116, _s117, _s118, _s119, _s120,
1041 	_s121, _s122, _s123, _s124, _s125, _s126, _s127, _s128, _s129, _s130,
1042 	_s131, _s132, _s133, _s134, _s135, _s136, _s137, _s138, _s139, _s140,
1043 	_s141, _s142, _s143, _s144, _s145;
1044 };
1045 #endif /* _VR2_COMPAT_CODE */
1046 
1047 typedef struct {
1048 	char	*_sends;	/* Characters sent when key is pressed */
1049 	short	_keyval;	/* "char" we pass back to program */
1050 } _KEY_MAP;
1051 
1052 typedef struct {
1053 	short	foreground;	/* foreground color */
1054 	short	background;	/* background color */
1055 	bool	init;		/* TRUE if pair was initialized */
1056 } _Color_pair;
1057 
1058 
1059 typedef struct {
1060 	short	r, g, b;
1061 } _Color;
1062 
1063 
1064 /*
1065  * This definition for the term struct allows the boolean, number
1066  * and string information to grow in the future and still allow .o
1067  * compatibility.
1068  */
1069 
1070 struct term {
1071 #ifdef _VR2_COMPAT_CODE
1072     char
1073 	_b1,  _b2,  _b3,  _b4,  _b5,  _b6,  _b7,  _b8,  _b9,  _b10,
1074 	_b11, _b12, _b13, _b14, _b15, _b16, _b17, _b18, _b19, _b20, _b21;
1075     short
1076 	_c1, _c2, _c3, _c4, _c5, _c6, _c7, _c8;
1077 	struct _Vr2_Astrs _Vr2_Astrs;
1078 	struct _Vr2_Bstrs _Vr2_Bstrs;
1079 #endif /* _VR2_COMPAT_CODE */
1080 	short	Filedes;	/* file descriptor being written to */
1081 	SGTTY	Ottyb,		/* original state of the terminal */
1082 		Nttyb;		/* current state of the terminal */
1083 #ifdef SYSV
1084 	SGTTYS	Ottybs,		/* original state of the terminal */
1085 		Nttybs;		/* current state of the terminal */
1086 #endif
1087 #ifdef DIOCSETT
1088 	struct termcb new, old;	/* CB/UNIX virtual terminals */
1089 #endif
1090 #ifdef LTILDE
1091 	int newlmode, oldlmode;	/* BSD tty driver */
1092 #endif
1093 	/* end of Vr2 structure */
1094 	struct _bool_struct *_bools;
1095 	struct _num_struct *_nums;
1096 	struct _str_struct *_strs;
1097 	char	*_strtab;
1098 #ifdef FIONREAD
1099 	long	timeout;		/* for BSD halfdelay mode */
1100 #endif
1101 	/* end of Vr3 structure */
1102 	chtype	sgr_mode;		/* current phys. graphic rendition */
1103 	chtype	sgr_faked;		/* attributes faked by vidputs */
1104 	int	_delay;			/* timeout for inputs */
1105 	int	_inputfd;		/* input file descriptor */
1106 	int	_check_fd;		/* typeahead file descriptor */
1107 	_KEY_MAP	**_keys,	/* key map */
1108 			*internal_keys;	/* pointer to free key structures */
1109 	short		_ksz,		/* size of keymap */
1110 			_lastkey_ordered, /* where the last ordered key is */
1111 			_lastmacro_ordered, /* where last ordered macro is */
1112 			_first_macro;
1113 	bool		funckeystarter[0400];
1114 					/* map of which chars start fn keys */
1115 	bool		_fl_rawmode,	/* in cbreak(=1) or raw(=2) mode */
1116 			fl_typeahdok,	/* ok to use typeahead */
1117 			_cursorstate,	/* cursor: 0=invis, 1=norm, 2=vvis */
1118 			_iwait;		/* true if input-pending */
1119 	short		_regs[26];	/* tparm static registers */
1120 #define	INP_QSIZE	32
1121 	chtype				/* a place to put stuff ungetch'ed */
1122 			_input_queue[INP_QSIZE];
1123 	short	_ungotten;	/* # chars ungotten by ungetch() */
1124 	char		_chars_on_queue; /* # chars on queue */
1125 #ifdef _VR3_COMPAT_CODE
1126 	_ochtype	*_acsmap;
1127 	chtype		*_acs32map;	/* map of alternate char set chars */
1128 #else /* _VR3_COMPAT_CODE */
1129 	chtype		*_acsmap;	/* map of alternate char set chars */
1130 #endif /* _VR3_COMPAT_CODE */
1131 	char		*turn_on_seq[NUM_ATTRIBUTES];
1132 	chtype		bit_vector;
1133 	char		*cursor_seq[3];
1134 	char		_termname[15];
1135 	char		*turn_off_seq[3];
1136 	chtype		check_turn_off;
1137 	chtype		non_faked_mode;
1138 	_Color_pair	_cur_pair;
1139 	_Color_pair	*_pairs_tbl;
1140 	_Color		*_color_tbl;
1141 };
1142 
1143 typedef struct term TERMINAL;
1144 
1145 /* allow old names for these capabilities */
1146 #define	beehive_glitch	no_esc_ctlc
1147 #define	teleray_glitch	dest_tabs_magic_smso
1148 
1149 extern TERMINAL			*cur_term;
1150 extern struct _bool_struct	*cur_bools;
1151 extern struct _num_struct	*cur_nums;
1152 extern struct _str_struct	*cur_strs;
1153 
1154 #ifdef	SINGLE
1155 extern TERMINAL			_first_term;
1156 extern struct _bool_struct	_frst_bools;
1157 extern struct _num_struct	_frst_nums;
1158 extern struct _str_struct	_frst_strs;
1159 
1160 #define	CUR			_first_term.
1161 #define	CURB			_frst_bools.
1162 #define	CURN			_frst_nums.
1163 #define	CURS			_frst_strs.
1164 #define	PROGTTY			_first_term.Nttyb
1165 #define	SHELLTTY		_first_term.Ottyb
1166 #ifdef SYSV
1167 #define	PROGTTYS		_first_term.Nttybs
1168 #define	SHELLTTYS		_first_term.Ottybs
1169 #endif
1170 #else
1171 #define	CUR			cur_term->
1172 #define	CURB			cur_bools->
1173 #define	CURN			cur_nums->
1174 #define	CURS			cur_strs->
1175 #define	PROGTTY			(cur_term->Nttyb)
1176 #define	SHELLTTY		(cur_term->Ottyb)
1177 #ifdef SYSV
1178 #define	PROGTTYS		(cur_term->Nttybs)
1179 #define	SHELLTTYS		(cur_term->Ottybs)
1180 #endif
1181 #endif
1182 
1183 #ifndef	NOMACROS
1184 #define	set_curterm	setcurterm
1185 #define	del_curterm	delterm
1186 #else	/* NOMACROS */
1187 
1188 #ifdef	__STDC__
1189 extern	TERMINAL	*set_curterm(TERMINAL *);
1190 extern	int		del_curterm(TERMINAL *);
1191 #else	/* __STDC__ */
1192 extern	TERMINAL	*set_curterm();
1193 extern	int		del_curterm();
1194 #endif	/* __STDC__ */
1195 
1196 #endif  /* NOMACROS */
1197 
1198 extern	short	term_errno;
1199 
1200 #ifdef SYSV
1201 extern	int	prog_istermios;
1202 extern	int	shell_istermios;
1203 #endif
1204 
1205 extern	char	term_parm_err[], *term_err_strings[], *Def_term,
1206 		*boolnames[], *boolcodes[], *boolfnames[],
1207 		*numnames[], *numcodes[], *numfnames[],
1208 		*strnames[], *strcodes[], *strfnames[];
1209 
1210 #ifdef __STDC__
1211 extern	TERMINAL	*setcurterm(TERMINAL *);
1212 
1213 #if defined(_XPG4_2) || defined(_LP64) || defined(__cplusplus)
1214 extern	char
1215 	*tparm(char *, long, long, long, long, long, long, long, long, long);
1216 #else
1217 /* this is wrong, but is needed for historical reasons */
1218 extern	char	*tparm();
1219 #endif
1220 
1221 extern char	*tgoto(char *, int, int),
1222 		*tgetstr(char *, char **),
1223 		*tigetstr(char *),
1224 		*termname(void);
1225 
1226 extern	int	tgetent(char *, char *), tgetflag(char *), tgetnum(char *),
1227 		tputs(char *, int, int (*)(char)), putp(char *),
1228 		tigetint(char *), tigetflag(char *), tigetnum(char *),
1229 		vidputs(chtype, int (*)(char)), vidattr(chtype);
1230 
1231 extern	int	resetterm(void), fixterm(void), saveterm(void),
1232 		restartterm(char *, int, int *), delterm(TERMINAL *);
1233 
1234 extern	void	termerr(void), tinputfd(int);
1235 #else  /* __STDC__ */
1236 extern	TERMINAL	*setcurterm();
1237 extern	char	*tparm(), *tgoto(), *tgetstr(), *tigetstr(),
1238 		*termname();
1239 
1240 extern	int	tgetent(), tgetflag(), tgetnum(),
1241 		tigetint(), tigetflag(), tigetnum(),
1242 		tputs(), putp(), vidputs(), vidattr();
1243 
1244 extern	int	resetterm(), fixterm(), saveterm(),
1245 		restartterm(), delterm();
1246 
1247 extern	void	termerr(), tinputfd();
1248 #endif /* __STDC__ */
1249 
1250 #ifdef	__cplusplus
1251 }
1252 #endif
1253 
1254 #endif	/* _TERM_H */
1255