Project

General

Profile

Statistics
| Revision:

root / lab4 / .minix-src / include / term.h @ 14

History | View | Annotate | Download (75.5 KB)

1 13 up20180614
/* $NetBSD: term.h,v 1.16 2013/06/07 13:16:18 roy Exp $ */
2
3
/*
4
 * Copyright (c) 2009, 2010, 2011, 2013 The NetBSD Foundation, Inc.
5
 *
6
 * This code is derived from software contributed to The NetBSD Foundation
7
 * by Roy Marples.
8
 *
9
 * Redistribution and use in source and binary forms, with or without
10
 * modification, are permitted provided that the following conditions
11
 * are met:
12
 * 1. Redistributions of source code must retain the above copyright
13
 *    notice, this list of conditions and the following disclaimer.
14
 * 2. Redistributions in binary form must reproduce the above copyright
15
 *    notice, this list of conditions and the following disclaimer in the
16
 *    documentation and/or other materials provided with the distribution.
17
 *
18
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
19
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
20
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21
 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
 */
29
30
#ifndef _TERM_H_
31
#define        _TERM_H_
32
33
#ifndef ERR
34
#define        ERR        (-1)        /* Error return */
35
#define        OK        (0)        /* Success return */
36
#endif
37
38
/* Define available terminfo flags */
39
enum TIFLAGS {
40
        TICODE_bw,
41
        TICODE_am,
42
        TICODE_bce,
43
        TICODE_ccc,
44
        TICODE_xhp,
45
        TICODE_xhpa,
46
        TICODE_cpix,
47
        TICODE_crxm,
48
        TICODE_xt,
49
        TICODE_xenl,
50
        TICODE_eo,
51
        TICODE_gn,
52
        TICODE_hc,
53
        TICODE_chts,
54
        TICODE_km,
55
        TICODE_daisy,
56
        TICODE_hs,
57
        TICODE_hls,
58
        TICODE_in,
59
        TICODE_lpix,
60
        TICODE_da,
61
        TICODE_db,
62
        TICODE_mir,
63
        TICODE_msgr,
64
        TICODE_nxon,
65
        TICODE_xsb,
66
        TICODE_npc,
67
        TICODE_ndscr,
68
        TICODE_nrrmc,
69
        TICODE_os,
70
        TICODE_mc5i,
71
        TICODE_xvpa,
72
        TICODE_sam,
73
        TICODE_eslok,
74
        TICODE_hz,
75
        TICODE_ul,
76
        TICODE_xon
77
};
78
#define TIFLAGMAX        TICODE_xon
79
80
#define t_auto_left_margin(t)                (t)->flags[TICODE_bw]
81
#define t_auto_right_margin(t)                (t)->flags[TICODE_am]
82
#define t_back_color_erase(t)                (t)->flags[TICODE_bce]
83
#define t_can_change(t)                        (t)->flags[TICODE_ccc]
84
#define t_ceol_standout_glitch(t)        (t)->flags[TICODE_xhp]
85
#define t_col_addr_glitch(t)                (t)->flags[TICODE_xhpa]
86
#define t_cpi_changes_res(t)                (t)->flags[TICODE_cpix]
87
#define t_cr_cancels_micro_mode(t)        (t)->flags[TICODE_crxm]
88
#define t_dest_tabs_magic_smso(t)        (t)->flags[TICODE_xt]
89
#define t_eat_newline_glitch(t)                (t)->flags[TICODE_xenl]
90
#define t_erase_overstrike(t)                (t)->flags[TICODE_eo]
91
#define t_generic_type(t)                (t)->flags[TICODE_gn]
92
#define t_hard_copy(t)                        (t)->flags[TICODE_hc]
93
#define t_hard_cursor(t)                (t)->flags[TICODE_chts]
94
#define t_has_meta_key(t)                (t)->flags[TICODE_km]
95
#define t_has_print_wheel(t)                (t)->flags[TICODE_daisy]
96
#define t_has_status_line(t)                (t)->flags[TICODE_hs]
97
#define t_hue_light_saturation(t)        (t)->flags[TICODE_hls]
98
#define t_insert_null_glitch(t)                (t)->flags[TICODE_in]
99
#define t_lpi_changes_yes(t)                (t)->flags[TICODE_lpix]
100
#define t_memory_above(t)                (t)->flags[TICODE_da]
101
#define t_memory_below(t)                (t)->flags[TICODE_db]
102
#define t_move_insert_mode(t)                (t)->flags[TICODE_mir]
103
#define t_move_standout_mode(t)                (t)->flags[TICODE_msgr]
104
#define t_needs_xon_xoff(t)                (t)->flags[TICODE_nxon]
105
#define t_no_esc_ctlc(t)                (t)->flags[TICODE_xsb]
106
#define t_no_pad_char(t)                (t)->flags[TICODE_npc]
107
#define t_non_dest_scroll_region(t)        (t)->flags[TICODE_ndscr]
108
#define t_non_rev_rmcup(t)                (t)->flags[TICODE_nrrmc]
109
#define t_over_strike(t)                (t)->flags[TICODE_os]
110
#define t_prtr_silent(t)                (t)->flags[TICODE_mc5i]
111
#define t_row_addr_glitch(t)                (t)->flags[TICODE_xvpa]
112
#define t_semi_auto_right_margin(t)        (t)->flags[TICODE_sam]
113
#define t_status_line_esc_ok(t)                (t)->flags[TICODE_eslok]
114
#define t_tilde_glitch(t)                (t)->flags[TICODE_hz]
115
#define t_transparent_underline(t)        (t)->flags[TICODE_ul]
116
#define t_xon_xoff(t)                        (t)->flags[TICODE_xon]
117
118
#define auto_left_margin                t_auto_left_margin(cur_term)
119
#define auto_right_margin                t_auto_right_margin(cur_term)
120
#define back_color_erase                t_back_color_erase(cur_term)
121
#define can_change                        t_can_change(cur_term)
122
#define ceol_standout_glitch                t_ceol_standout_glitch(cur_term)
123
#define col_addr_glitch                        t_col_addr_glitch(cur_term)
124
#define cpi_changes_res                        t_cpi_changes_res(cur_term)
125
#define cr_cancels_micro_mode                t_cr_cancels_micro_mode(cur_term)
126
#define dest_tabs_magic_smso                t_dest_tabs_magic_smso(cur_term)
127
#define eat_newline_glitch                t_eat_newline_glitch(cur_term)
128
#define erase_overstrike                t_erase_overstrike(cur_term)
129
#define generic_type                        t_generic_type(cur_term)
130
#define hard_copy                        t_hard_copy(cur_term)
131
#define hard_cursor                        t_hard_cursor(cur_term)
132
#define has_meta_key                        t_has_meta_key(cur_term)
133
#define has_print_wheel                        t_has_print_wheel(cur_term)
134
#define has_status_line                        t_has_status_line(cur_term)
135
#define hue_light_saturation                t_hue_light_saturation(cur_term)
136
#define insert_null_glitch                t_insert_null_glitch(cur_term)
137
#define lpi_changes_yes                        t_lpi_changes_yes(cur_term)
138
#define memory_above                        t_memory_above(cur_term)
139
#define memory_below                        t_memory_below(cur_term)
140
#define move_insert_mode                t_move_insert_mode(cur_term)
141
#define move_standout_mode                t_move_standout_mode(cur_term)
142
#define needs_xon_xoff                        t_needs_xon_xoff(cur_term)
143
#define no_esc_ctlc                        t_no_esc_ctlc(cur_term)
144
#define no_pad_char                        t_no_pad_char(cur_term)
145
#define non_dest_scroll_region                t_non_dest_scroll_region(cur_term)
146
#define non_rev_rmcup                        t_non_rev_rmcup(cur_term)
147
#define over_strike                        t_over_strike(cur_term)
148
#define prtr_silent                        t_prtr_silent(cur_term)
149
#define row_addr_glitch                        t_row_addr_glitch(cur_term)
150
#define semi_auto_right_margin                t_semi_auto_right_margin(cur_term)
151
#define status_line_esc_ok                t_status_line_esc_ok(cur_term)
152
#define tilde_glitch                        t_tilde_glitch(cur_term)
153
#define transparent_underline                t_transparent_underline(cur_term)
154
#define xon_xoff                        t_xon_xoff(cur_term)
155
156
/*
157
 * BOOLEAN DESCRIPTIONS
158
 *
159
 * auto_left_margin: cub1 wraps from column 0 to last column
160
 * auto_right_margin: Terminal has automatic margins
161
 * back_color_erase: Screen erased with background colour
162
 * can_change: Terminal can re-define existing colour
163
 * ceol_standout_glitch: Standout not erased by overwriting (hp)
164
 * col_addr_glitch: Only positive motion for hpa/mhba caps
165
 * cpi_changes_res: Changing character pitch changes resolution
166
 * cr_cancels_micro_mode: Using cr turns off micro mode
167
 * dest_tabs_magic_smso: Destructive tabs, magic smso char (t1061)
168
 * eat_newline_glitch: Newline ignored after 80 columns (Concept)
169
 * erase_overstrike: Can erase overstrikes with a blank line
170
 * generic_type: Generic line type (e.g. dialup, switch)
171
 * hard_copy: Hardcopy terminal
172
 * hard_cursor: Cursor is hard to see
173
 * has_meta_key: Has a meta key (shift, sets parity bit)
174
 * has_print_wheel: Printer needs operator to change character set
175
 * has_status_line: Has extra "status line"
176
 * hue_light_saturation: Terminal only uses HLS colour notion (Tektronix)
177
 * insert_null_glitch: Insert mode distinguishes nulls
178
 * lpi_changes_yes: Changing line pitch changes resolution
179
 * memory_above: Display may be retained above the screen
180
 * memory_below: Display may be retained below the screen
181
 * move_insert_mode: Safe to move while in insert mode
182
 * move_standout_mode: Safe to move in standout modes
183
 * needs_xon_xoff: Padding won't work, xon/xoff required
184
 * no_esc_ctlc: Beehive (f1=escape, f2=ctrl C)
185
 * no_pad_char: Pad character doesn't exist
186
 * non_dest_scroll_region: Scrolling region is nondestructive
187
 * non_rev_rmcup: smcup does not reverse rmcup
188
 * over_strike: Terminal overstrikes on hard-copy terminal
189
 * prtr_silent: Printer won't echo on screen
190
 * row_addr_glitch: Only positive motion for vpa/mvpa caps
191
 * semi_auto_right_margin: Printing in last column causes cr
192
 * status_line_esc_ok: Escape can be used on the status line
193
 * tilde_glitch: Hazeltine; can't print tilde (~)
194
 * transparent_underline: Underline character overstrikes
195
 * xon_xoff: Terminal uses xon/xoff handshaking
196
*/
197
198
/* Define available terminfo numbers */
199
enum TINUMS {
200
        TICODE_bitwin,
201
        TICODE_bitype,
202
        TICODE_bufsz,
203
        TICODE_btns,
204
        TICODE_cols,
205
        TICODE_spinh,
206
        TICODE_spinv,
207
        TICODE_it,
208
        TICODE_lh,
209
        TICODE_lw,
210
        TICODE_lines,
211
        TICODE_lm,
212
        TICODE_ma,
213
        TICODE_xmc,
214
        TICODE_colors,
215
        TICODE_maddr,
216
        TICODE_mjump,
217
        TICODE_pairs,
218
        TICODE_wnum,
219
        TICODE_mcs,
220
        TICODE_mls,
221
        TICODE_ncv,
222
        TICODE_nlab,
223
        TICODE_npins,
224
        TICODE_orc,
225
        TICODE_orl,
226
        TICODE_orhi,
227
        TICODE_orvi,
228
        TICODE_pb,
229
        TICODE_cps,
230
        TICODE_vt,
231
        TICODE_widcs,
232
        TICODE_wsl
233
};
234
#define TINUMMAX                        TICODE_wsl
235
236
#define t_bit_image_entwining(t)        (t)->nums[TICODE_bitwin]
237
#define t_bit_image_type(t)                (t)->nums[TICODE_bitype]
238
#define t_buffer_capacity(t)                (t)->nums[TICODE_bufsz]
239
#define t_buttons(t)                        (t)->nums[TICODE_btns]
240
#define t_columns(t)                        (t)->nums[TICODE_cols]
241
#define t_dot_horz_spacing(t)                (t)->nums[TICODE_spinh]
242
#define t_dot_vert_spacing(t)                (t)->nums[TICODE_spinv]
243
#define t_init_tabs(t)                        (t)->nums[TICODE_it]
244
#define t_label_height(t)                (t)->nums[TICODE_lh]
245
#define t_label_width(t)                (t)->nums[TICODE_lw]
246
#define t_lines(t)                        (t)->nums[TICODE_lines]
247
#define t_lines_of_memory(t)                (t)->nums[TICODE_lm]
248
#define t_max_attributes(t)                (t)->nums[TICODE_ma]
249
#define t_magic_cookie_glitch(t)        (t)->nums[TICODE_xmc]
250
#define t_max_colors(t)                        (t)->nums[TICODE_colors]
251
#define t_max_micro_address(t)                (t)->nums[TICODE_maddr]
252
#define t_max_micro_jump(t)                (t)->nums[TICODE_mjump]
253
#define t_max_pairs(t)                        (t)->nums[TICODE_pairs]
254
#define t_maximum_windows(t)                (t)->nums[TICODE_wnum]
255
#define t_micro_col_size(t)                (t)->nums[TICODE_mcs]
256
#define t_micro_line_size(t)                (t)->nums[TICODE_mls]
257
#define t_no_color_video(t)                (t)->nums[TICODE_ncv]
258
#define t_num_labels(t)                        (t)->nums[TICODE_nlab]
259
#define t_number_of_pins(t)                (t)->nums[TICODE_npins]
260
#define t_output_res_char(t)                (t)->nums[TICODE_orc]
261
#define t_output_res_line(t)                (t)->nums[TICODE_orl]
262
#define t_output_res_horz_inch(t)        (t)->nums[TICODE_orhi]
263
#define t_output_res_vert_inch(t)        (t)->nums[TICODE_orvi]
264
#define t_padding_baud_rate(t)                (t)->nums[TICODE_pb]
265
#define t_print_rate(t)                        (t)->nums[TICODE_cps]
266
#define t_virtual_terminal(t)                (t)->nums[TICODE_vt]
267
#define t_wide_char_size(t)                (t)->nums[TICODE_widcs]
268
#define t_width_status_line(t)                (t)->nums[TICODE_wsl]
269
270
#define bit_image_entwining                 t_bit_image_entwining(cur_term)
271
#define bit_image_type                         t_bit_image_type(cur_term)
272
#define buffer_capacity                         t_buffer_capacity(cur_term)
273
#define buttons                                 t_buttons(cur_term)
274
#define columns                                 t_columns(cur_term)
275
#define dot_horz_spacing                 t_dot_horz_spacing(cur_term)
276
#define dot_vert_spacing                 t_dot_vert_spacing(cur_term)
277
#define init_tabs                         t_init_tabs(cur_term)
278
#define label_height                         t_label_height(cur_term)
279
#define label_width                         t_label_width(cur_term)
280
#define lines                                 t_lines(cur_term)
281
#define lines_of_memory                         t_lines_of_memory(cur_term)
282
#define max_attributes                         t_max_attributes(cur_term)
283
#define magic_cookie_glitch                 t_magic_cookie_glitch(cur_term)
284
#define max_colors                         t_max_colors(cur_term)
285
#define max_micro_address                 t_max_micro_address(cur_term)
286
#define max_micro_jump                         t_max_micro_jump(cur_term)
287
#define max_pairs                         t_max_pairs(cur_term)
288
#define maximum_windows                         t_maximum_windows(cur_term)
289
#define micro_col_size                         t_micro_col_size(cur_term)
290
#define micro_line_size                         t_micro_line_size(cur_term)
291
#define no_color_video                         t_no_color_video(cur_term)
292
#define num_labels                         t_num_labels(cur_term)
293
#define number_of_pins                         t_number_of_pins(cur_term)
294
#define output_res_char                         t_output_res_char(cur_term)
295
#define output_res_line                         t_output_res_line(cur_term)
296
#define output_res_horz_inch                 t_output_res_horz_inch(cur_term)
297
#define output_res_vert_inch                 t_output_res_vert_inch(cur_term)
298
#define padding_baud_rate                 t_padding_baud_rate(cur_term)
299
#define print_rate                         t_print_rate(cur_term)
300
#define virtual_terminal                 t_virtual_terminal(cur_term)
301
#define wide_char_size                         t_wide_char_size(cur_term)
302
#define width_status_line                 t_width_status_line(cur_term)
303
304
/*
305
 * NUMBER DESCRIPTIONS
306
 *
307
 * bit_image_entwining: Number of passes for each bit-map row
308
 * bit_image_type: Type of bit image device
309
 * buffer_capacity: Number of bytes buffered before printing
310
 * buttons: Number of buttons on the mouse
311
 * columns: Number of columns in a line
312
 * dot_horz_spacing: Spacing of dots horizontally in dots per inch
313
 * dot_vert_spacing: Spacing of pins vertically in pins per inch
314
 * init_tabs: Tabs initially every #1 spaces
315
 * label_height: Number of rows in each label
316
 * label_width: Numbre of columns in each label
317
 * lines: Number of lines on a screen or a page
318
 * lines_of_memory: Lines of memory of > lines; 0 means varies
319
 * max_attributes: Maximum combined video attributes terminal can display
320
 * magic_cookie_glitch: Number of blank characters left by smso or rmso
321
 * max_colors: Maximum number of colours on the screen
322
 * max_micro_address: Maximum value in micro_..._addresss
323
 * max_micro_jump: Maximum value in parm_..._micro
324
 * max_pairs: Maximum number of colour-pairs on the screen
325
 * maximum_windows: Maximum number of definable windows
326
 * micro_col_size: Character step size when in micro mode
327
 * micro_line_size: Line step size when in micro mode
328
 * no_color_video: Video attributes that can't be used with colours
329
 * num_labels: Number of labels on screen (start at 1)
330
 * number_of_pins: Number of pins in print-head
331
 * output_res_char: Horizontal resolution in units per character
332
 * output_res_line: Vertical resolution in units per line
333
 * output_res_horz_inch: Horizontal resolution in units per inch
334
 * output_res_vert_inch: Vertical resolution in units per inch
335
 * padding_baud_rate: Lowest baud rate where padding needed
336
 * print_rate: Print rate in characters per second
337
 * virtual_terminal: Virtual terminal number
338
 * wide_char_size: Character step size when in double-wide mode
339
 * width_status_line: Number of columns in status line
340
 */
341
342
/* Define available terminfo strings */
343
enum TISTRS{
344
        TICODE_acsc,
345
        TICODE_scesa,
346
        TICODE_cbt,
347
        TICODE_bel,
348
        TICODE_bicr,
349
        TICODE_binel,
350
        TICODE_birep,
351
        TICODE_cr,
352
        TICODE_cpi,
353
        TICODE_lpi,
354
        TICODE_chr,
355
        TICODE_cvr,
356
        TICODE_csr,
357
        TICODE_rmp,
358
        TICODE_csnm,
359
        TICODE_tbc,
360
        TICODE_mgc,
361
        TICODE_clear,
362
        TICODE_el1,
363
        TICODE_el,
364
        TICODE_ed,
365
        TICODE_csin,
366
        TICODE_colornm,
367
        TICODE_hpa,
368
        TICODE_cmdch,
369
        TICODE_cwin,
370
        TICODE_cup,
371
        TICODE_cud1,
372
        TICODE_home,
373
        TICODE_civis,
374
        TICODE_cub1,
375
        TICODE_mrcup,
376
        TICODE_cnorm,
377
        TICODE_cuf1,
378
        TICODE_ll,
379
        TICODE_cuu1,
380
        TICODE_cvvis,
381
        TICODE_defbi,
382
        TICODE_defc,
383
        TICODE_dch1,
384
        TICODE_dl1,
385
        TICODE_devt,
386
        TICODE_dial,
387
        TICODE_dsl,
388
        TICODE_dclk,
389
        TICODE_dispc,
390
        TICODE_hd,
391
        TICODE_enacs,
392
        TICODE_endbi,
393
        TICODE_smacs,
394
        TICODE_smam,
395
        TICODE_blink,
396
        TICODE_bold,
397
        TICODE_smcup,
398
        TICODE_smdc,
399
        TICODE_dim,
400
        TICODE_swidm,
401
        TICODE_sdrfq,
402
        TICODE_ehhlm,
403
        TICODE_smir,
404
        TICODE_sitm,
405
        TICODE_elhlm,
406
        TICODE_slm,
407
        TICODE_elohlm,
408
        TICODE_smicm,
409
        TICODE_snlq,
410
        TICODE_snrmq,
411
        TICODE_smpch,
412
        TICODE_prot,
413
        TICODE_rev,
414
        TICODE_erhlm,
415
        TICODE_smsc,
416
        TICODE_invis,
417
        TICODE_sshm,
418
        TICODE_smso,
419
        TICODE_ssubm,
420
        TICODE_ssupm,
421
        TICODE_ethlm,
422
        TICODE_smul,
423
        TICODE_sum,
424
        TICODE_evhlm,
425
        TICODE_smxon,
426
        TICODE_ech,
427
        TICODE_rmacs,
428
        TICODE_rmam,
429
        TICODE_sgr0,
430
        TICODE_rmcup,
431
        TICODE_rmdc,
432
        TICODE_rwidm,
433
        TICODE_rmir,
434
        TICODE_ritm,
435
        TICODE_rlm,
436
        TICODE_rmicm,
437
        TICODE_rmpch,
438
        TICODE_rmsc,
439
        TICODE_rshm,
440
        TICODE_rmso,
441
        TICODE_rsubm,
442
        TICODE_rsupm,
443
        TICODE_rmul,
444
        TICODE_rum,
445
        TICODE_rmxon,
446
        TICODE_pause,
447
        TICODE_hook,
448
        TICODE_flash,
449
        TICODE_ff,
450
        TICODE_fsl,
451
        TICODE_getm,
452
        TICODE_wingo,
453
        TICODE_hup,
454
        TICODE_is1,
455
        TICODE_is2,
456
        TICODE_is3,
457
        TICODE_if,
458
        TICODE_iprog,
459
        TICODE_initc,
460
        TICODE_initp,
461
        TICODE_ich1,
462
        TICODE_il1,
463
        TICODE_ip,
464
        TICODE_ka1,
465
        TICODE_ka3,
466
        TICODE_kb2,
467
        TICODE_kbs,
468
        TICODE_kbeg,
469
        TICODE_kcbt,
470
        TICODE_kc1,
471
        TICODE_kc3,
472
        TICODE_kcan,
473
        TICODE_ktbc,
474
        TICODE_kclr,
475
        TICODE_kclo,
476
        TICODE_kcmd,
477
        TICODE_kcpy,
478
        TICODE_kcrt,
479
        TICODE_kctab,
480
        TICODE_kdch1,
481
        TICODE_kdl1,
482
        TICODE_kcud1,
483
        TICODE_krmir,
484
        TICODE_kend,
485
        TICODE_kent,
486
        TICODE_kel,
487
        TICODE_ked,
488
        TICODE_kext,
489
        TICODE_kf0,
490
        TICODE_kf1,
491
        TICODE_kf2,
492
        TICODE_kf3,
493
        TICODE_kf4,
494
        TICODE_kf5,
495
        TICODE_kf6,
496
        TICODE_kf7,
497
        TICODE_kf8,
498
        TICODE_kf9,
499
        TICODE_kf10,
500
        TICODE_kf11,
501
        TICODE_kf12,
502
        TICODE_kf13,
503
        TICODE_kf14,
504
        TICODE_kf15,
505
        TICODE_kf16,
506
        TICODE_kf17,
507
        TICODE_kf18,
508
        TICODE_kf19,
509
        TICODE_kf20,
510
        TICODE_kf21,
511
        TICODE_kf22,
512
        TICODE_kf23,
513
        TICODE_kf24,
514
        TICODE_kf25,
515
        TICODE_kf26,
516
        TICODE_kf27,
517
        TICODE_kf28,
518
        TICODE_kf29,
519
        TICODE_kf30,
520
        TICODE_kf31,
521
        TICODE_kf32,
522
        TICODE_kf33,
523
        TICODE_kf34,
524
        TICODE_kf35,
525
        TICODE_kf36,
526
        TICODE_kf37,
527
        TICODE_kf38,
528
        TICODE_kf39,
529
        TICODE_kf40,
530
        TICODE_kf41,
531
        TICODE_kf42,
532
        TICODE_kf43,
533
        TICODE_kf44,
534
        TICODE_kf45,
535
        TICODE_kf46,
536
        TICODE_kf47,
537
        TICODE_kf48,
538
        TICODE_kf49,
539
        TICODE_kf50,
540
        TICODE_kf51,
541
        TICODE_kf52,
542
        TICODE_kf53,
543
        TICODE_kf54,
544
        TICODE_kf55,
545
        TICODE_kf56,
546
        TICODE_kf57,
547
        TICODE_kf58,
548
        TICODE_kf59,
549
        TICODE_kf60,
550
        TICODE_kf61,
551
        TICODE_kf62,
552
        TICODE_kf63,
553
        TICODE_kfnd,
554
        TICODE_khlp,
555
        TICODE_khome,
556
        TICODE_kich1,
557
        TICODE_kil1,
558
        TICODE_kcub1,
559
        TICODE_kll,
560
        TICODE_kmrk,
561
        TICODE_kmsg,
562
        TICODE_kmous,
563
        TICODE_kmov,
564
        TICODE_knxt,
565
        TICODE_knp,
566
        TICODE_kopn,
567
        TICODE_kopt,
568
        TICODE_kpp,
569
        TICODE_kprv,
570
        TICODE_kprt,
571
        TICODE_krdo,
572
        TICODE_kref,
573
        TICODE_krfr,
574
        TICODE_krpl,
575
        TICODE_krst,
576
        TICODE_kres,
577
        TICODE_kcuf1,
578
        TICODE_ksav,
579
        TICODE_kBEG,
580
        TICODE_kCAN,
581
        TICODE_kCMD,
582
        TICODE_kCPY,
583
        TICODE_kCRT,
584
        TICODE_kDC,
585
        TICODE_kDL,
586
        TICODE_kslt,
587
        TICODE_kEND,
588
        TICODE_kEOL,
589
        TICODE_kEXT,
590
        TICODE_kind,
591
        TICODE_kFND,
592
        TICODE_kHLP,
593
        TICODE_kHOM,
594
        TICODE_kIC,
595
        TICODE_kLFT,
596
        TICODE_kMSG,
597
        TICODE_kMOV,
598
        TICODE_kNXT,
599
        TICODE_kOPT,
600
        TICODE_kPRV,
601
        TICODE_kPRT,
602
        TICODE_kri,
603
        TICODE_kRDO,
604
        TICODE_kRPL,
605
        TICODE_kRIT,
606
        TICODE_kRES,
607
        TICODE_kSAV,
608
        TICODE_kSPD,
609
        TICODE_khts,
610
        TICODE_kUND,
611
        TICODE_kspd,
612
        TICODE_kund,
613
        TICODE_kcuu1,
614
        TICODE_rmkx,
615
        TICODE_smkx,
616
        TICODE_lf0,
617
        TICODE_lf1,
618
        TICODE_lf2,
619
        TICODE_lf3,
620
        TICODE_lf4,
621
        TICODE_lf5,
622
        TICODE_lf6,
623
        TICODE_lf7,
624
        TICODE_lf8,
625
        TICODE_lf9,
626
        TICODE_lf10,
627
        TICODE_fln,
628
        TICODE_rmln,
629
        TICODE_smln,
630
        TICODE_rmm,
631
        TICODE_smm,
632
        TICODE_mhpa,
633
        TICODE_mcud1,
634
        TICODE_mcub1,
635
        TICODE_mcuf1,
636
        TICODE_mvpa,
637
        TICODE_mcuu1,
638
        TICODE_minfo,
639
        TICODE_nel,
640
        TICODE_porder,
641
        TICODE_oc,
642
        TICODE_op,
643
        TICODE_pad,
644
        TICODE_dch,
645
        TICODE_dl,
646
        TICODE_cud,
647
        TICODE_mcud,
648
        TICODE_ich,
649
        TICODE_indn,
650
        TICODE_il,
651
        TICODE_cub,
652
        TICODE_mcub,
653
        TICODE_cuf,
654
        TICODE_mcuf,
655
        TICODE_rin,
656
        TICODE_cuu,
657
        TICODE_mcuu,
658
        TICODE_pctrm,
659
        TICODE_pfkey,
660
        TICODE_pfloc,
661
        TICODE_pfxl,
662
        TICODE_pfx,
663
        TICODE_pln,
664
        TICODE_mc0,
665
        TICODE_mc5p,
666
        TICODE_mc4,
667
        TICODE_mc5,
668
        TICODE_pulse,
669
        TICODE_qdial,
670
        TICODE_rmclk,
671
        TICODE_rep,
672
        TICODE_rfi,
673
        TICODE_reqmp,
674
        TICODE_rs1,
675
        TICODE_rs2,
676
        TICODE_rs3,
677
        TICODE_rf,
678
        TICODE_rc,
679
        TICODE_vpa,
680
        TICODE_sc,
681
        TICODE_scesc,
682
        TICODE_ind,
683
        TICODE_ri,
684
        TICODE_scs,
685
        TICODE_s0ds,
686
        TICODE_s1ds,
687
        TICODE_s2ds,
688
        TICODE_s3ds,
689
        TICODE_sgr1,
690
        TICODE_setab,
691
        TICODE_setaf,
692
        TICODE_sgr,
693
        TICODE_setb,
694
        TICODE_smgb,
695
        TICODE_smgbp,
696
        TICODE_sclk,
697
        TICODE_setcolor,
698
        TICODE_scp,
699
        TICODE_setf,
700
        TICODE_smgl,
701
        TICODE_smglp,
702
        TICODE_smglr,
703
        TICODE_slines,
704
        TICODE_slength,
705
        TICODE_smgr,
706
        TICODE_smgrp,
707
        TICODE_hts,
708
        TICODE_smgtb,
709
        TICODE_smgt,
710
        TICODE_smgtp,
711
        TICODE_wind,
712
        TICODE_sbim,
713
        TICODE_scsd,
714
        TICODE_rbim,
715
        TICODE_rcsd,
716
        TICODE_subcs,
717
        TICODE_supcs,
718
        TICODE_ht,
719
        TICODE_docr,
720
        TICODE_tsl,
721
        TICODE_tone,
722
        TICODE_u0,
723
        TICODE_u1,
724
        TICODE_u2,
725
        TICODE_u3,
726
        TICODE_u4,
727
        TICODE_u5,
728
        TICODE_u6,
729
        TICODE_u7,
730
        TICODE_u8,
731
        TICODE_u9,
732
        TICODE_uc,
733
        TICODE_hu,
734
        TICODE_wait,
735
        TICODE_xoffc,
736
        TICODE_xonc,
737
        TICODE_zerom
738
};
739
#define TISTRMAX                        TICODE_zerom
740
741
#define t_acs_chars(t)                        (t)->strs[TICODE_acsc]
742
#define t_alt_scancode_esc(t)                (t)->strs[TICODE_scesa]
743
#define t_back_tab(t)                        (t)->strs[TICODE_cbt]
744
#define t_bell(t)                        (t)->strs[TICODE_bel]
745
#define t_bit_image_carriage_return(t)        (t)->strs[TICODE_bicr]
746
#define t_bit_image_newline(t)                (t)->strs[TICODE_binel]
747
#define t_bit_image_repeat(t)                (t)->strs[TICODE_birep]
748
#define t_carriage_return(t)                (t)->strs[TICODE_cr]
749
#define t_change_char_pitch(t)                (t)->strs[TICODE_cpi]
750
#define t_change_line_pitch(t)                (t)->strs[TICODE_lpi]
751
#define t_change_res_horz(t)                (t)->strs[TICODE_chr]
752
#define t_change_res_vert(t)                (t)->strs[TICODE_cvr]
753
#define t_change_scroll_region(t)        (t)->strs[TICODE_csr]
754
#define t_char_padding(t)                (t)->strs[TICODE_rmp]
755
#define t_char_set_names(t)                (t)->strs[TICODE_csnm]
756
#define t_clear_all_tabs(t)                (t)->strs[TICODE_tbc]
757
#define t_clear_margins(t)                (t)->strs[TICODE_mgc]
758
#define t_clear_screen(t)                (t)->strs[TICODE_clear]
759
#define t_clr_bol(t)                        (t)->strs[TICODE_el1]
760
#define t_clr_eol(t)                        (t)->strs[TICODE_el]
761
#define t_clr_eos(t)                        (t)->strs[TICODE_ed]
762
#define t_code_set_init(t)                (t)->strs[TICODE_csin]
763
#define t_color_names(t)                (t)->strs[TICODE_colornm]
764
#define t_column_address(t)                (t)->strs[TICODE_hpa]
765
#define t_command_character(t)                (t)->strs[TICODE_cmdch]
766
#define t_create_window(t)                (t)->strs[TICODE_cwin]
767
#define t_cursor_address(t)                (t)->strs[TICODE_cup]
768
#define t_cursor_down(t)                (t)->strs[TICODE_cud1]
769
#define t_cursor_home(t)                (t)->strs[TICODE_home]
770
#define t_cursor_invisible(t)                (t)->strs[TICODE_civis]
771
#define t_cursor_left(t)                (t)->strs[TICODE_cub1]
772
#define t_cursor_mem_address(t)                (t)->strs[TICODE_mrcup]
773
#define t_cursor_normal(t)                (t)->strs[TICODE_cnorm]
774
#define t_cursor_right(t)                (t)->strs[TICODE_cuf1]
775
#define t_cursor_to_ll(t)                (t)->strs[TICODE_ll]
776
#define t_cursor_up(t)                        (t)->strs[TICODE_cuu1]
777
#define t_cursor_visible(t)                (t)->strs[TICODE_cvvis]
778
#define t_define_bit_image_region(t)        (t)->strs[TICODE_defbi]
779
#define t_define_char(t)                (t)->strs[TICODE_defc]
780
#define t_delete_character(t)                (t)->strs[TICODE_dch1]
781
#define t_delete_line(t)                (t)->strs[TICODE_dl1]
782
#define t_device_type(t)                (t)->strs[TICODE_devt]
783
#define t_dial_phone(t)                        (t)->strs[TICODE_dial]
784
#define t_dis_status_line(t)                (t)->strs[TICODE_dsl]
785
#define t_display_clock(t)                (t)->strs[TICODE_dclk]
786
#define t_display_pc_char(t)                (t)->strs[TICODE_dispc]
787
#define t_down_half_time(t)                (t)->strs[TICODE_hd]
788
#define t_ena_acs(t)                        (t)->strs[TICODE_enacs]
789
#define t_end_bit_image_region(t)        (t)->strs[TICODE_endbi]
790
#define t_enter_alt_charset_mode(t)        (t)->strs[TICODE_smacs]
791
#define t_enter_am_mode(t)                (t)->strs[TICODE_smam]
792
#define t_enter_blink_mode(t)                (t)->strs[TICODE_blink]
793
#define t_enter_bold_mode(t)                (t)->strs[TICODE_bold]
794
#define t_enter_ca_mode(t)                (t)->strs[TICODE_smcup]
795
#define t_enter_delete_mode(t)                (t)->strs[TICODE_smdc]
796
#define t_enter_dim_mode(t)                (t)->strs[TICODE_dim]
797
#define t_enter_doublewide_mode(t)        (t)->strs[TICODE_swidm]
798
#define t_enter_draft_quality(t)        (t)->strs[TICODE_sdrfq]
799
#define t_enter_horizontal_hl_mode(t)        (t)->strs[TICODE_ehhlm]
800
#define t_enter_insert_mode(t)                (t)->strs[TICODE_smir]
801
#define t_enter_italics_mode(t)                (t)->strs[TICODE_sitm]
802
#define t_enter_left_hl_mode(t)                (t)->strs[TICODE_elhlm]
803
#define t_enter_leftward_mode(t)        (t)->strs[TICODE_slm]
804
#define t_enter_low_hl_mode(t)                (t)->strs[TICODE_elohlm]
805
#define t_enter_micro_mode(t)                (t)->strs[TICODE_smicm]
806
#define t_enter_near_quality_letter(t)        (t)->strs[TICODE_snlq]
807
#define t_enter_normal_quality(t)        (t)->strs[TICODE_snrmq]
808
#define t_enter_pc_charset_mode(t)        (t)->strs[TICODE_smpch]
809
#define t_enter_protected_mode(t)        (t)->strs[TICODE_prot]
810
#define t_enter_reverse_mode(t)                (t)->strs[TICODE_rev]
811
#define t_enter_right_hl_mode(t)        (t)->strs[TICODE_erhlm]
812
#define t_enter_scancode_mode(t)        (t)->strs[TICODE_smsc]
813
#define t_enter_secure_mode(t)                (t)->strs[TICODE_invis]
814
#define t_enter_shadow_mode(t)                (t)->strs[TICODE_sshm]
815
#define t_enter_standout_mode(t)        (t)->strs[TICODE_smso]
816
#define t_enter_subscript_mode(t)        (t)->strs[TICODE_ssubm]
817
#define t_enter_superscript_mode(t)        (t)->strs[TICODE_ssupm]
818
#define t_enter_top_hl_mode(t)                (t)->strs[TICODE_ethlm]
819
#define t_enter_underline_mode(t)        (t)->strs[TICODE_smul]
820
#define t_enter_upward_mode(t)                (t)->strs[TICODE_sum]
821
#define t_enter_vertical_hl_mode(t)        (t)->strs[TICODE_evhlm]
822
#define t_enter_xon_mode(t)                (t)->strs[TICODE_smxon]
823
#define t_erase_chars(t)                (t)->strs[TICODE_ech]
824
#define t_exit_alt_charset_mode(t)        (t)->strs[TICODE_rmacs]
825
#define t_exit_am_mode(t)                (t)->strs[TICODE_rmam]
826
#define t_exit_attribute_mode(t)        (t)->strs[TICODE_sgr0]
827
#define t_exit_ca_mode(t)                (t)->strs[TICODE_rmcup]
828
#define t_exit_delete_mode(t)                (t)->strs[TICODE_rmdc]
829
#define t_exit_doublewide_mode(t)        (t)->strs[TICODE_rwidm]
830
#define t_exit_insert_mode(t)                (t)->strs[TICODE_rmir]
831
#define t_exit_italics_mode(t)                (t)->strs[TICODE_ritm]
832
#define t_exit_leftward_mode(t)                (t)->strs[TICODE_rlm]
833
#define t_exit_micro_mode(t)                (t)->strs[TICODE_rmicm]
834
#define t_exit_pc_charset_mode(t)        (t)->strs[TICODE_rmpch]
835
#define t_exit_scancode_mode(t)                (t)->strs[TICODE_rmsc]
836
#define t_exit_shadow_mode(t)                (t)->strs[TICODE_rshm]
837
#define t_exit_standout_mode(t)                (t)->strs[TICODE_rmso]
838
#define t_exit_subscript_mode(t)        (t)->strs[TICODE_rsubm]
839
#define t_exit_superscript_mode(t)        (t)->strs[TICODE_rsupm]
840
#define t_exit_underline_mode(t)        (t)->strs[TICODE_rmul]
841
#define t_exit_upward_mode(t)                (t)->strs[TICODE_rum]
842
#define t_exit_xon_mode(t)                (t)->strs[TICODE_rmxon]
843
#define t_fixed_pause(t)                (t)->strs[TICODE_pause]
844
#define t_flash_hook(t)                        (t)->strs[TICODE_hook]
845
#define t_flash_screen(t)                (t)->strs[TICODE_flash]
846
#define t_form_feed(t)                        (t)->strs[TICODE_ff]
847
#define t_from_status_line(t)                (t)->strs[TICODE_fsl]
848
#define t_get_mouse(t)                        (t)->strs[TICODE_getm]
849
#define t_goto_window(t)                (t)->strs[TICODE_wingo]
850
#define t_hangup(t)                        (t)->strs[TICODE_hup]
851
#define t_init_1string(t)                (t)->strs[TICODE_is1]
852
#define t_init_2string(t)                (t)->strs[TICODE_is2]
853
#define t_init_3string(t)                (t)->strs[TICODE_is3]
854
#define t_init_file(t)                        (t)->strs[TICODE_if]
855
#define t_init_prog(t)                        (t)->strs[TICODE_iprog]
856
#define t_initialize_color(t)                (t)->strs[TICODE_initc]
857
#define t_initialize_pair(t)                (t)->strs[TICODE_initp]
858
#define t_insert_character(t)                (t)->strs[TICODE_ich1]
859
#define t_insert_line(t)                (t)->strs[TICODE_il1]
860
#define t_insert_padding(t)                (t)->strs[TICODE_ip]
861
#define t_key_a1(t)                        (t)->strs[TICODE_ka1]
862
#define t_key_a3(t)                        (t)->strs[TICODE_ka3]
863
#define t_key_b2(t)                        (t)->strs[TICODE_kb2]
864
#define t_key_backspace(t)                (t)->strs[TICODE_kbs]
865
#define t_key_beg(t)                        (t)->strs[TICODE_kbeg]
866
#define t_key_btab(t)                        (t)->strs[TICODE_kcbt]
867
#define t_key_c1(t)                        (t)->strs[TICODE_kc1]
868
#define t_key_c3(t)                        (t)->strs[TICODE_kc3]
869
#define t_key_cancel(t)                        (t)->strs[TICODE_kcan]
870
#define t_key_catab(t)                        (t)->strs[TICODE_ktbc]
871
#define t_key_clear(t)                        (t)->strs[TICODE_kclr]
872
#define t_key_close(t)                        (t)->strs[TICODE_kclo]
873
#define t_key_command(t)                (t)->strs[TICODE_kcmd]
874
#define t_key_copy(t)                        (t)->strs[TICODE_kcpy]
875
#define t_key_create(t)                        (t)->strs[TICODE_kcrt]
876
#define t_key_ctab(t)                        (t)->strs[TICODE_kctab]
877
#define t_key_dc(t)                        (t)->strs[TICODE_kdch1]
878
#define t_key_dl(t)                        (t)->strs[TICODE_kdl1]
879
#define t_key_down(t)                        (t)->strs[TICODE_kcud1]
880
#define t_key_eic(t)                        (t)->strs[TICODE_krmir]
881
#define t_key_end(t)                        (t)->strs[TICODE_kend]
882
#define t_key_enter(t)                        (t)->strs[TICODE_kent]
883
#define t_key_eol(t)                        (t)->strs[TICODE_kel]
884
#define t_key_eos(t)                        (t)->strs[TICODE_ked]
885
#define t_key_exit(t)                        (t)->strs[TICODE_kext]
886
#define t_key_f0(t)                        (t)->strs[TICODE_kf0]
887
#define t_key_f1(t)                        (t)->strs[TICODE_kf1]
888
#define t_key_f2(t)                        (t)->strs[TICODE_kf2]
889
#define t_key_f3(t)                        (t)->strs[TICODE_kf3]
890
#define t_key_f4(t)                        (t)->strs[TICODE_kf4]
891
#define t_key_f5(t)                        (t)->strs[TICODE_kf5]
892
#define t_key_f6(t)                        (t)->strs[TICODE_kf6]
893
#define t_key_f7(t)                        (t)->strs[TICODE_kf7]
894
#define t_key_f8(t)                        (t)->strs[TICODE_kf8]
895
#define t_key_f9(t)                        (t)->strs[TICODE_kf9]
896
#define t_key_f10(t)                        (t)->strs[TICODE_kf10]
897
#define t_key_f11(t)                        (t)->strs[TICODE_kf11]
898
#define t_key_f12(t)                        (t)->strs[TICODE_kf12]
899
#define t_key_f13(t)                        (t)->strs[TICODE_kf13]
900
#define t_key_f14(t)                        (t)->strs[TICODE_kf14]
901
#define t_key_f15(t)                        (t)->strs[TICODE_kf15]
902
#define t_key_f16(t)                        (t)->strs[TICODE_kf16]
903
#define t_key_f17(t)                        (t)->strs[TICODE_kf17]
904
#define t_key_f18(t)                        (t)->strs[TICODE_kf18]
905
#define t_key_f19(t)                        (t)->strs[TICODE_kf19]
906
#define t_key_f20(t)                        (t)->strs[TICODE_kf20]
907
#define t_key_f21(t)                        (t)->strs[TICODE_kf21]
908
#define t_key_f22(t)                        (t)->strs[TICODE_kf22]
909
#define t_key_f23(t)                        (t)->strs[TICODE_kf23]
910
#define t_key_f24(t)                        (t)->strs[TICODE_kf24]
911
#define t_key_f25(t)                        (t)->strs[TICODE_kf25]
912
#define t_key_f26(t)                        (t)->strs[TICODE_kf26]
913
#define t_key_f27(t)                        (t)->strs[TICODE_kf27]
914
#define t_key_f28(t)                        (t)->strs[TICODE_kf28]
915
#define t_key_f29(t)                        (t)->strs[TICODE_kf29]
916
#define t_key_f30(t)                        (t)->strs[TICODE_kf30]
917
#define t_key_f31(t)                        (t)->strs[TICODE_kf31]
918
#define t_key_f32(t)                        (t)->strs[TICODE_kf32]
919
#define t_key_f33(t)                        (t)->strs[TICODE_kf33]
920
#define t_key_f34(t)                        (t)->strs[TICODE_kf34]
921
#define t_key_f35(t)                        (t)->strs[TICODE_kf35]
922
#define t_key_f36(t)                        (t)->strs[TICODE_kf36]
923
#define t_key_f37(t)                        (t)->strs[TICODE_kf37]
924
#define t_key_f38(t)                        (t)->strs[TICODE_kf38]
925
#define t_key_f39(t)                        (t)->strs[TICODE_kf39]
926
#define t_key_f40(t)                        (t)->strs[TICODE_kf40]
927
#define t_key_f41(t)                        (t)->strs[TICODE_kf41]
928
#define t_key_f42(t)                        (t)->strs[TICODE_kf42]
929
#define t_key_f43(t)                        (t)->strs[TICODE_kf43]
930
#define t_key_f44(t)                        (t)->strs[TICODE_kf44]
931
#define t_key_f45(t)                        (t)->strs[TICODE_kf45]
932
#define t_key_f46(t)                        (t)->strs[TICODE_kf46]
933
#define t_key_f47(t)                        (t)->strs[TICODE_kf47]
934
#define t_key_f48(t)                        (t)->strs[TICODE_kf48]
935
#define t_key_f49(t)                        (t)->strs[TICODE_kf49]
936
#define t_key_f50(t)                        (t)->strs[TICODE_kf50]
937
#define t_key_f51(t)                        (t)->strs[TICODE_kf51]
938
#define t_key_f52(t)                        (t)->strs[TICODE_kf52]
939
#define t_key_f53(t)                        (t)->strs[TICODE_kf53]
940
#define t_key_f54(t)                        (t)->strs[TICODE_kf54]
941
#define t_key_f55(t)                        (t)->strs[TICODE_kf55]
942
#define t_key_f56(t)                        (t)->strs[TICODE_kf56]
943
#define t_key_f57(t)                        (t)->strs[TICODE_kf57]
944
#define t_key_f58(t)                        (t)->strs[TICODE_kf58]
945
#define t_key_f59(t)                        (t)->strs[TICODE_kf59]
946
#define t_key_f60(t)                        (t)->strs[TICODE_kf60]
947
#define t_key_f61(t)                        (t)->strs[TICODE_kf61]
948
#define t_key_f62(t)                        (t)->strs[TICODE_kf62]
949
#define t_key_f63(t)                        (t)->strs[TICODE_kf63]
950
#define t_key_find(t)                        (t)->strs[TICODE_kfnd]
951
#define t_key_help(t)                        (t)->strs[TICODE_khlp]
952
#define t_key_home(t)                        (t)->strs[TICODE_khome]
953
#define t_key_ic(t)                        (t)->strs[TICODE_kich1]
954
#define t_key_il(t)                        (t)->strs[TICODE_kil1]
955
#define t_key_left(t)                        (t)->strs[TICODE_kcub1]
956
#define t_key_ll(t)                        (t)->strs[TICODE_kll]
957
#define t_key_mark(t)                        (t)->strs[TICODE_kmrk]
958
#define t_key_message(t)                (t)->strs[TICODE_kmsg]
959
#define t_key_mouse(t)                        (t)->strs[TICODE_kmous]
960
#define t_key_move(t)                        (t)->strs[TICODE_kmov]
961
#define t_key_next(t)                        (t)->strs[TICODE_knxt]
962
#define t_key_npage(t)                        (t)->strs[TICODE_knp]
963
#define t_key_open(t)                        (t)->strs[TICODE_kopn]
964
#define t_key_options(t)                (t)->strs[TICODE_kopt]
965
#define t_key_ppage(t)                        (t)->strs[TICODE_kpp]
966
#define t_key_previous(t)                (t)->strs[TICODE_kprv]
967
#define t_key_print(t)                        (t)->strs[TICODE_kprt]
968
#define t_key_redo(t)                        (t)->strs[TICODE_krdo]
969
#define t_key_reference(t)                (t)->strs[TICODE_kref]
970
#define t_key_refresh(t)                (t)->strs[TICODE_krfr]
971
#define t_key_replace(t)                (t)->strs[TICODE_krpl]
972
#define t_key_restart(t)                (t)->strs[TICODE_krst]
973
#define t_key_resume(t)                        (t)->strs[TICODE_kres]
974
#define t_key_right(t)                        (t)->strs[TICODE_kcuf1]
975
#define t_key_save(t)                        (t)->strs[TICODE_ksav]
976
#define t_key_sbeg(t)                        (t)->strs[TICODE_kBEG]
977
#define t_key_scancel(t)                (t)->strs[TICODE_kCAN]
978
#define t_key_scommand(t)                (t)->strs[TICODE_kCMD]
979
#define t_key_scopy(t)                        (t)->strs[TICODE_kCPY]
980
#define t_key_screate(t)                (t)->strs[TICODE_kCRT]
981
#define t_key_sdc(t)                        (t)->strs[TICODE_kDC]
982
#define t_key_sdl(t)                        (t)->strs[TICODE_kDL]
983
#define t_key_select(t)                        (t)->strs[TICODE_kslt]
984
#define t_key_send(t)                        (t)->strs[TICODE_kEND]
985
#define t_key_seol(t)                        (t)->strs[TICODE_kEOL]
986
#define t_key_sexit(t)                        (t)->strs[TICODE_kEXT]
987
#define t_key_sf(t)                        (t)->strs[TICODE_kind]
988
#define t_key_sfind(t)                        (t)->strs[TICODE_kFND]
989
#define t_key_shelp(t)                        (t)->strs[TICODE_kHLP]
990
#define t_key_shome(t)                        (t)->strs[TICODE_kHOM]
991
#define t_key_sic(t)                        (t)->strs[TICODE_kIC]
992
#define t_key_sleft(t)                        (t)->strs[TICODE_kLFT]
993
#define t_key_smessage(t)                (t)->strs[TICODE_kMSG]
994
#define t_key_smove(t)                        (t)->strs[TICODE_kMOV]
995
#define t_key_snext(t)                        (t)->strs[TICODE_kNXT]
996
#define t_key_soptions(t)                (t)->strs[TICODE_kOPT]
997
#define t_key_sprevious(t)                (t)->strs[TICODE_kPRV]
998
#define t_key_sprint(t)                        (t)->strs[TICODE_kPRT]
999
#define t_key_sr(t)                        (t)->strs[TICODE_kri]
1000
#define t_key_sredo(t)                        (t)->strs[TICODE_kRDO]
1001
#define t_key_sreplace(t)                (t)->strs[TICODE_kRPL]
1002
#define t_key_sright(t)                        (t)->strs[TICODE_kRIT]
1003
#define t_key_srsume(t)                        (t)->strs[TICODE_kRES]
1004
#define t_key_ssave(t)                        (t)->strs[TICODE_kSAV]
1005
#define t_key_ssuspend(t)                (t)->strs[TICODE_kSPD]
1006
#define t_key_stab(t)                        (t)->strs[TICODE_khts]
1007
#define t_key_sundo(t)                        (t)->strs[TICODE_kUND]
1008
#define t_key_suspend(t)                (t)->strs[TICODE_kspd]
1009
#define t_key_undo(t)                        (t)->strs[TICODE_kund]
1010
#define t_key_up(t)                        (t)->strs[TICODE_kcuu1]
1011
#define t_keypad_local(t)                (t)->strs[TICODE_rmkx]
1012
#define t_keypad_xmit(t)                (t)->strs[TICODE_smkx]
1013
#define t_lab_f0(t)                        (t)->strs[TICODE_lf0]
1014
#define t_lab_f1(t)                        (t)->strs[TICODE_lf1]
1015
#define t_lab_f2(t)                        (t)->strs[TICODE_lf2]
1016
#define t_lab_f3(t)                        (t)->strs[TICODE_lf3]
1017
#define t_lab_f4(t)                        (t)->strs[TICODE_lf4]
1018
#define t_lab_f5(t)                        (t)->strs[TICODE_lf5]
1019
#define t_lab_f6(t)                        (t)->strs[TICODE_lf6]
1020
#define t_lab_f7(t)                        (t)->strs[TICODE_lf7]
1021
#define t_lab_f8(t)                        (t)->strs[TICODE_lf8]
1022
#define t_lab_f9(t)                        (t)->strs[TICODE_lf9]
1023
#define t_lab_f10(t)                        (t)->strs[TICODE_lf10]
1024
#define t_label_format(t)                (t)->strs[TICODE_fln]
1025
#define t_label_off(t)                        (t)->strs[TICODE_rmln]
1026
#define t_label_on(t)                        (t)->strs[TICODE_smln]
1027
#define t_meta_off(t)                        (t)->strs[TICODE_rmm]
1028
#define t_meta_on(t)                        (t)->strs[TICODE_smm]
1029
#define t_micro_column_address(t)        (t)->strs[TICODE_mhpa]
1030
#define t_micro_down(t)                        (t)->strs[TICODE_mcud1]
1031
#define t_micro_left(t)                        (t)->strs[TICODE_mcub1]
1032
#define t_micro_right(t)                (t)->strs[TICODE_mcuf1]
1033
#define t_micro_row_address(t)                (t)->strs[TICODE_mvpa]
1034
#define t_micro_up(t)                        (t)->strs[TICODE_mcuu1]
1035
#define t_mouse_info(t)                        (t)->strs[TICODE_minfo]
1036
#define t_newline(t)                        (t)->strs[TICODE_nel]
1037
#define t_order_of_pins(t)                (t)->strs[TICODE_porder]
1038
#define t_orig_colors(t)                (t)->strs[TICODE_oc]
1039
#define t_orig_pair(t)                        (t)->strs[TICODE_op]
1040
#define t_pad_char(t)                        (t)->strs[TICODE_pad]
1041
#define t_parm_dch(t)                        (t)->strs[TICODE_dch]
1042
#define t_parm_delete_line(t)                (t)->strs[TICODE_dl]
1043
#define t_parm_down_cursor(t)                (t)->strs[TICODE_cud]
1044
#define t_parm_down_micro(t)                (t)->strs[TICODE_mcud]
1045
#define t_parm_ich(t)                        (t)->strs[TICODE_ich]
1046
#define t_parm_index(t)                        (t)->strs[TICODE_indn]
1047
#define t_parm_insert_line(t)                (t)->strs[TICODE_il]
1048
#define t_parm_left_cursor(t)                (t)->strs[TICODE_cub]
1049
#define t_parm_left_micro(t)                (t)->strs[TICODE_mcub]
1050
#define t_parm_right_cursor(t)                (t)->strs[TICODE_cuf]
1051
#define t_parm_right_micro(t)                (t)->strs[TICODE_mcuf]
1052
#define t_parm_rindex(t)                (t)->strs[TICODE_rin]
1053
#define t_parm_up_cursor(t)                (t)->strs[TICODE_cuu]
1054
#define t_parm_up_micro(t)                (t)->strs[TICODE_mcuu]
1055
#define t_pc_term_options(t)                (t)->strs[TICODE_pctrm]
1056
#define t_pkey_key(t)                        (t)->strs[TICODE_pfkey]
1057
#define t_pkey_local(t)                        (t)->strs[TICODE_pfloc]
1058
#define t_pkey_plab(t)                        (t)->strs[TICODE_pfxl]
1059
#define t_pkey_xmit(t)                        (t)->strs[TICODE_pfx]
1060
#define t_pkey_norm(t)                        (t)->strs[TICODE_pln]
1061
#define t_print_screen(t)                (t)->strs[TICODE_mc0]
1062
#define t_ptr_non(t)                        (t)->strs[TICODE_mc5p]
1063
#define t_ptr_off(t)                        (t)->strs[TICODE_mc4]
1064
#define t_ptr_on(t)                        (t)->strs[TICODE_mc5]
1065
#define t_pulse(t)                        (t)->strs[TICODE_pulse]
1066
#define t_quick_dial(t)                        (t)->strs[TICODE_qdial]
1067
#define t_remove_clock(t)                (t)->strs[TICODE_rmclk]
1068
#define t_repeat_char(t)                (t)->strs[TICODE_rep]
1069
#define t_req_for_input(t)                (t)->strs[TICODE_rfi]
1070
#define t_req_mouse_pos(t)                (t)->strs[TICODE_reqmp]
1071
#define t_reset_1string(t)                (t)->strs[TICODE_rs1]
1072
#define t_reset_2string(t)                (t)->strs[TICODE_rs2]
1073
#define t_reset_3string(t)                (t)->strs[TICODE_rs3]
1074
#define t_reset_file(t)                        (t)->strs[TICODE_rf]
1075
#define t_restore_cursor(t)                (t)->strs[TICODE_rc]
1076
#define t_row_address(t)                (t)->strs[TICODE_vpa]
1077
#define t_save_cursor(t)                (t)->strs[TICODE_sc]
1078
#define t_scancode_escape(t)                (t)->strs[TICODE_scesc]
1079
#define t_scroll_forward(t)                (t)->strs[TICODE_ind]
1080
#define t_scroll_reverse(t)                (t)->strs[TICODE_ri]
1081
#define t_select_char_set(t)                (t)->strs[TICODE_scs]
1082
#define t_set0_des_seq(t)                (t)->strs[TICODE_s0ds]
1083
#define t_set1_des_seq(t)                (t)->strs[TICODE_s1ds]
1084
#define t_set2_des_seq(t)                (t)->strs[TICODE_s2ds]
1085
#define t_set3_des_seq(t)                (t)->strs[TICODE_s3ds]
1086
#define t_set_a_attributes(t)                (t)->strs[TICODE_sgr1]
1087
#define t_set_a_background(t)                (t)->strs[TICODE_setab]
1088
#define t_set_a_foreground(t)                (t)->strs[TICODE_setaf]
1089
#define t_set_attributes(t)                (t)->strs[TICODE_sgr]
1090
#define t_set_background(t)                (t)->strs[TICODE_setb]
1091
#define t_set_bottom_margin(t)                (t)->strs[TICODE_smgb]
1092
#define t_set_bottom_margin_parm(t)        (t)->strs[TICODE_smgbp]
1093
#define t_set_clock(t)                        (t)->strs[TICODE_sclk]
1094
#define t_set_color_band(t)                (t)->strs[TICODE_setcolor]
1095
#define t_set_color_pair(t)                (t)->strs[TICODE_scp]
1096
#define t_set_foreground(t)                (t)->strs[TICODE_setf]
1097
#define t_set_left_margin(t)                (t)->strs[TICODE_smgl]
1098
#define t_set_left_margin_parm(t)        (t)->strs[TICODE_smglp]
1099
#define t_set_lr_margin(t)                (t)->strs[TICODE_smglr]
1100
#define t_set_page_length(t)                (t)->strs[TICODE_slines]
1101
#define t_set_pglen_inch(t)                (t)->strs[TICODE_slength]
1102
#define t_set_right_margin(t)                (t)->strs[TICODE_smgr]
1103
#define t_set_right_margin_parm(t)        (t)->strs[TICODE_smgrp]
1104
#define t_set_tab(t)                        (t)->strs[TICODE_hts]
1105
#define t_set_tb_margin(t)                (t)->strs[TICODE_smgtb]
1106
#define t_set_top_margin(t)                (t)->strs[TICODE_smgt]
1107
#define t_set_top_margin_parm(t)        (t)->strs[TICODE_smgtp]
1108
#define t_set_window(t)                        (t)->strs[TICODE_wind]
1109
#define t_start_bit_image(t)                (t)->strs[TICODE_sbim]
1110
#define t_start_char_set_def(t)                (t)->strs[TICODE_scsd]
1111
#define t_stop_bit_image(t)                (t)->strs[TICODE_rbim]
1112
#define t_stop_char_set_def(t)                (t)->strs[TICODE_rcsd]
1113
#define t_subscript_characters(t)        (t)->strs[TICODE_subcs]
1114
#define t_superscript_characters(t)        (t)->strs[TICODE_supcs]
1115
#define t_tab(t)                        (t)->strs[TICODE_ht]
1116
#define t_these_cause_cr(t)                (t)->strs[TICODE_docr]
1117
#define t_to_status_line(t)                (t)->strs[TICODE_tsl]
1118
#define t_tone(t)                        (t)->strs[TICODE_tone]
1119
#define t_user0(t)                        (t)->strs[TICODE_u0]
1120
#define t_user1(t)                        (t)->strs[TICODE_u1]
1121
#define t_user2(t)                        (t)->strs[TICODE_u2]
1122
#define t_user3(t)                        (t)->strs[TICODE_u3]
1123
#define t_user4(t)                        (t)->strs[TICODE_u4]
1124
#define t_user5(t)                        (t)->strs[TICODE_u5]
1125
#define t_user6(t)                        (t)->strs[TICODE_u6]
1126
#define t_user7(t)                        (t)->strs[TICODE_u7]
1127
#define t_user8(t)                        (t)->strs[TICODE_u8]
1128
#define t_user9(t)                        (t)->strs[TICODE_u9]
1129
#define t_underline_char(t)                (t)->strs[TICODE_uc]
1130
#define t_up_half_line(t)                (t)->strs[TICODE_hu]
1131
#define t_wait_tone(t)                        (t)->strs[TICODE_wait]
1132
#define t_xoff_character(t)                (t)->strs[TICODE_xoffc]
1133
#define t_xon_character(t)                (t)->strs[TICODE_xonc]
1134
#define t_zero_motion(t)                (t)->strs[TICODE_zerom]
1135
1136
#define acs_chars                         t_acs_chars(cur_term)
1137
#define alt_scancode_esc                 t_alt_scancode_esc(cur_term)
1138
#define back_tab                         t_back_tab(cur_term)
1139
#define bell                                 t_bell(cur_term)
1140
#define bit_image_carriage_return         t_bit_image_carriage_return(cur_term)
1141
#define bit_image_newline                 t_bit_image_newline(cur_term)
1142
#define bit_image_repeat                 t_bit_image_repeat(cur_term)
1143
#define carriage_return                         t_carriage_return(cur_term)
1144
#define change_char_pitch                 t_change_char_pitch(cur_term)
1145
#define change_line_pitch                 t_change_line_pitch(cur_term)
1146
#define change_res_horz                         t_change_res_horz(cur_term)
1147
#define change_res_vert                         t_change_res_vert(cur_term)
1148
#define change_scroll_region                 t_change_scroll_region(cur_term)
1149
#define char_padding                         t_char_padding(cur_term)
1150
#define char_set_names                         t_char_set_names(cur_term)
1151
#define clear_all_tabs                         t_clear_all_tabs(cur_term)
1152
#define clear_margins                         t_clear_margins(cur_term)
1153
#define clear_screen                         t_clear_screen(cur_term)
1154
#define clr_bol                                 t_clr_bol(cur_term)
1155
#define clr_eol                                 t_clr_eol(cur_term)
1156
#define clr_eos                                 t_clr_eos(cur_term)
1157
#define code_set_init                         t_code_set_init(cur_term)
1158
#define color_names                         t_color_names(cur_term)
1159
#define column_address                         t_column_address(cur_term)
1160
#define command_character                 t_command_character(cur_term)
1161
#define create_window                         t_create_window(cur_term)
1162
#define cursor_address                         t_cursor_address(cur_term)
1163
#define cursor_down                         t_cursor_down(cur_term)
1164
#define cursor_home                         t_cursor_home(cur_term)
1165
#define cursor_invisible                 t_cursor_invisible(cur_term)
1166
#define cursor_left                         t_cursor_left(cur_term)
1167
#define cursor_mem_address                 t_cursor_mem_address(cur_term)
1168
#define cursor_normal                         t_cursor_normal(cur_term)
1169
#define cursor_right                         t_cursor_right(cur_term)
1170
#define cursor_to_ll                         t_cursor_to_ll(cur_term)
1171
#define cursor_up                         t_cursor_up(cur_term)
1172
#define cursor_visible                         t_cursor_visible(cur_term)
1173
#define define_bit_image_region                 t_define_bit_image_region(cur_term)
1174
#define define_char                         t_define_char(cur_term)
1175
#define delete_character                 t_delete_character(cur_term)
1176
#define delete_line                         t_delete_line(cur_term)
1177
#define device_type                         t_device_type(cur_term)
1178
#define dial_phone                         t_dial_phone(cur_term)
1179
#define dis_status_line                         t_dis_status_line(cur_term)
1180
#define display_clock                         t_display_clock(cur_term)
1181
#define display_pc_char                         t_display_pc_char(cur_term)
1182
#define down_half_time                         t_down_half_time(cur_term)
1183
#define ena_acs                                 t_ena_acs(cur_term)
1184
#define end_bit_image_region                 t_end_bit_image_region(cur_term)
1185
#define enter_alt_charset_mode                 t_enter_alt_charset_mode(cur_term)
1186
#define enter_am_mode                         t_enter_am_mode(cur_term)
1187
#define enter_blink_mode                 t_enter_blink_mode(cur_term)
1188
#define enter_bold_mode                         t_enter_bold_mode(cur_term)
1189
#define enter_ca_mode                         t_enter_ca_mode(cur_term)
1190
#define enter_delete_mode                 t_enter_delete_mode(cur_term)
1191
#define enter_dim_mode                         t_enter_dim_mode(cur_term)
1192
#define enter_doublewide_mode                 t_enter_doublewide_mode(cur_term)
1193
#define enter_draft_quality                 t_enter_draft_quality(cur_term)
1194
#define enter_horizontal_hl_mode         t_enter_horizontal_hl_mode(cur_term)
1195
#define enter_insert_mode                 t_enter_insert_mode(cur_term)
1196
#define enter_italics_mode                 t_enter_italics_mode(cur_term)
1197
#define enter_left_hl_mode                 t_enter_left_hl_mode(cur_term)
1198
#define enter_leftward_mode                 t_enter_leftward_mode(cur_term)
1199
#define enter_low_hl_mode                 t_enter_low_hl_mode(cur_term)
1200
#define enter_micro_mode                 t_enter_micro_mode(cur_term)
1201
#define enter_near_quality_letter         t_enter_near_quality_letter(cur_term)
1202
#define enter_normal_quality                 t_enter_normal_quality(cur_term)
1203
#define enter_pc_charset_mode                 t_enter_pc_charset_mode(cur_term)
1204
#define enter_protected_mode                 t_enter_protected_mode(cur_term)
1205
#define enter_reverse_mode                 t_enter_reverse_mode(cur_term)
1206
#define enter_right_hl_mode                 t_enter_right_hl_mode(cur_term)
1207
#define enter_scancode_mode                 t_enter_scancode_mode(cur_term)
1208
#define enter_secure_mode                 t_enter_secure_mode(cur_term)
1209
#define enter_shadow_mode                 t_enter_shadow_mode(cur_term)
1210
#define enter_standout_mode                 t_enter_standout_mode(cur_term)
1211
#define enter_subscript_mode                 t_enter_subscript_mode(cur_term)
1212
#define enter_superscript_mode                 t_enter_superscript_mode(cur_term)
1213
#define enter_top_hl_mode                 t_enter_top_hl_mode(cur_term)
1214
#define enter_underline_mode                 t_enter_underline_mode(cur_term)
1215
#define enter_upward_mode                 t_enter_upward_mode(cur_term)
1216
#define enter_vertical_hl_mode                 t_enter_vertical_hl_mode(cur_term)
1217
#define enter_xon_mode                         t_enter_xon_mode(cur_term)
1218
#define erase_chars                         t_erase_chars(cur_term)
1219
#define exit_alt_charset_mode                 t_exit_alt_charset_mode(cur_term)
1220
#define exit_am_mode                         t_exit_am_mode(cur_term)
1221
#define exit_attribute_mode                 t_exit_attribute_mode(cur_term)
1222
#define exit_ca_mode                         t_exit_ca_mode(cur_term)
1223
#define exit_delete_mode                 t_exit_delete_mode(cur_term)
1224
#define exit_doublewide_mode                 t_exit_doublewide_mode(cur_term)
1225
#define exit_insert_mode                 t_exit_insert_mode(cur_term)
1226
#define exit_italics_mode                 t_exit_italics_mode(cur_term)
1227
#define exit_leftward_mode                 t_exit_leftward_mode(cur_term)
1228
#define exit_micro_mode                         t_exit_micro_mode(cur_term)
1229
#define exit_pc_charset_mode                 t_exit_pc_charset_mode(cur_term)
1230
#define exit_scancode_mode                 t_exit_scancode_mode(cur_term)
1231
#define exit_shadow_mode                 t_exit_shadow_mode(cur_term)
1232
#define exit_standout_mode                 t_exit_standout_mode(cur_term)
1233
#define exit_subscript_mode                 t_exit_subscript_mode(cur_term)
1234
#define exit_superscript_mode                 t_exit_superscript_mode(cur_term)
1235
#define exit_underline_mode                 t_exit_underline_mode(cur_term)
1236
#define exit_upward_mode                 t_exit_upward_mode(cur_term)
1237
#define exit_xon_mode                         t_exit_xon_mode(cur_term)
1238
#define fixed_pause                         t_fixed_pause(cur_term)
1239
#define flash_hook                         t_flash_hook(cur_term)
1240
#define flash_screen                         t_flash_screen(cur_term)
1241
#define form_feed                         t_form_feed(cur_term)
1242
#define from_status_line                 t_from_status_line(cur_term)
1243
#define get_mouse                         t_get_mouse(cur_term)
1244
#define goto_window                         t_goto_window(cur_term)
1245
#define hangup                                 t_hangup(cur_term)
1246
#define init_1string                         t_init_1string(cur_term)
1247
#define init_2string                         t_init_2string(cur_term)
1248
#define init_3string                         t_init_3string(cur_term)
1249
#define init_file                         t_init_file(cur_term)
1250
#define init_prog                         t_init_prog(cur_term)
1251
#define initialize_color                 t_initialize_color(cur_term)
1252
#define initialize_pair                         t_initialize_pair(cur_term)
1253
#define insert_character                 t_insert_character(cur_term)
1254
#define insert_line                         t_insert_line(cur_term)
1255
#define insert_padding                         t_insert_padding(cur_term)
1256
#define key_a1                                 t_key_a1(cur_term)
1257
#define key_a3                                 t_key_a3(cur_term)
1258
#define key_b2                                 t_key_b2(cur_term)
1259
#define key_backspace                         t_key_backspace(cur_term)
1260
#define key_beg                                 t_key_beg(cur_term)
1261
#define key_btab                         t_key_btab(cur_term)
1262
#define key_c1                                 t_key_c1(cur_term)
1263
#define key_c3                                 t_key_c3(cur_term)
1264
#define key_cancel                         t_key_cancel(cur_term)
1265
#define key_catab                         t_key_catab(cur_term)
1266
#define key_clear                         t_key_clear(cur_term)
1267
#define key_close                         t_key_close(cur_term)
1268
#define key_command                         t_key_command(cur_term)
1269
#define key_copy                         t_key_copy(cur_term)
1270
#define key_create                         t_key_create(cur_term)
1271
#define key_ctab                         t_key_ctab(cur_term)
1272
#define key_dc                                 t_key_dc(cur_term)
1273
#define key_dl                                 t_key_dl(cur_term)
1274
#define key_down                         t_key_down(cur_term)
1275
#define key_eic                                 t_key_eic(cur_term)
1276
#define key_end                                 t_key_end(cur_term)
1277
#define key_enter                         t_key_enter(cur_term)
1278
#define key_eol                                 t_key_eol(cur_term)
1279
#define key_eos                                 t_key_eos(cur_term)
1280
#define key_exit                         t_key_exit(cur_term)
1281
#define key_f0                                 t_key_f0(cur_term)
1282
#define key_f1                                 t_key_f1(cur_term)
1283
#define key_f2                                 t_key_f2(cur_term)
1284
#define key_f3                                 t_key_f3(cur_term)
1285
#define key_f4                                 t_key_f4(cur_term)
1286
#define key_f5                                 t_key_f5(cur_term)
1287
#define key_f6                                 t_key_f6(cur_term)
1288
#define key_f7                                 t_key_f7(cur_term)
1289
#define key_f8                                 t_key_f8(cur_term)
1290
#define key_f9                                 t_key_f9(cur_term)
1291
#define key_f10                                 t_key_f10(cur_term)
1292
#define key_f11                                 t_key_f11(cur_term)
1293
#define key_f12                                 t_key_f12(cur_term)
1294
#define key_f13                                 t_key_f13(cur_term)
1295
#define key_f14                                 t_key_f14(cur_term)
1296
#define key_f15                                 t_key_f15(cur_term)
1297
#define key_f16                                 t_key_f16(cur_term)
1298
#define key_f17                                 t_key_f17(cur_term)
1299
#define key_f18                                 t_key_f18(cur_term)
1300
#define key_f19                                 t_key_f19(cur_term)
1301
#define key_f20                                 t_key_f20(cur_term)
1302
#define key_f21                                 t_key_f21(cur_term)
1303
#define key_f22                                 t_key_f22(cur_term)
1304
#define key_f23                                 t_key_f23(cur_term)
1305
#define key_f24                                 t_key_f24(cur_term)
1306
#define key_f25                                 t_key_f25(cur_term)
1307
#define key_f26                                 t_key_f26(cur_term)
1308
#define key_f27                                 t_key_f27(cur_term)
1309
#define key_f28                                 t_key_f28(cur_term)
1310
#define key_f29                                 t_key_f29(cur_term)
1311
#define key_f30                                 t_key_f30(cur_term)
1312
#define key_f31                                 t_key_f31(cur_term)
1313
#define key_f32                                 t_key_f32(cur_term)
1314
#define key_f33                                 t_key_f33(cur_term)
1315
#define key_f34                                 t_key_f34(cur_term)
1316
#define key_f35                                 t_key_f35(cur_term)
1317
#define key_f36                                 t_key_f36(cur_term)
1318
#define key_f37                                 t_key_f37(cur_term)
1319
#define key_f38                                 t_key_f38(cur_term)
1320
#define key_f39                                 t_key_f39(cur_term)
1321
#define key_f40                                 t_key_f40(cur_term)
1322
#define key_f41                                 t_key_f41(cur_term)
1323
#define key_f42                                 t_key_f42(cur_term)
1324
#define key_f43                                 t_key_f43(cur_term)
1325
#define key_f44                                 t_key_f44(cur_term)
1326
#define key_f45                                 t_key_f45(cur_term)
1327
#define key_f46                                 t_key_f46(cur_term)
1328
#define key_f47                                 t_key_f47(cur_term)
1329
#define key_f48                                 t_key_f48(cur_term)
1330
#define key_f49                                 t_key_f49(cur_term)
1331
#define key_f50                                 t_key_f50(cur_term)
1332
#define key_f51                                 t_key_f51(cur_term)
1333
#define key_f52                                 t_key_f52(cur_term)
1334
#define key_f53                                 t_key_f53(cur_term)
1335
#define key_f54                                 t_key_f54(cur_term)
1336
#define key_f55                                 t_key_f55(cur_term)
1337
#define key_f56                                 t_key_f56(cur_term)
1338
#define key_f57                                 t_key_f57(cur_term)
1339
#define key_f58                                 t_key_f58(cur_term)
1340
#define key_f59                                 t_key_f59(cur_term)
1341
#define key_f60                                 t_key_f60(cur_term)
1342
#define key_f61                                 t_key_f61(cur_term)
1343
#define key_f62                                 t_key_f62(cur_term)
1344
#define key_f63                                 t_key_f63(cur_term)
1345
#define key_find                         t_key_find(cur_term)
1346
#define key_help                         t_key_help(cur_term)
1347
#define key_home                         t_key_home(cur_term)
1348
#define key_ic                                 t_key_ic(cur_term)
1349
#define key_il                                 t_key_il(cur_term)
1350
#define key_left                         t_key_left(cur_term)
1351
#define key_ll                                 t_key_ll(cur_term)
1352
#define key_mark                         t_key_mark(cur_term)
1353
#define key_message                         t_key_message(cur_term)
1354
#define key_mouse                         t_key_mouse(cur_term)
1355
#define key_move                         t_key_move(cur_term)
1356
#define key_next                         t_key_next(cur_term)
1357
#define key_npage                         t_key_npage(cur_term)
1358
#define key_open                         t_key_open(cur_term)
1359
#define key_options                         t_key_options(cur_term)
1360
#define key_ppage                         t_key_ppage(cur_term)
1361
#define key_previous                         t_key_previous(cur_term)
1362
#define key_print                         t_key_print(cur_term)
1363
#define key_redo                         t_key_redo(cur_term)
1364
#define key_reference                         t_key_reference(cur_term)
1365
#define key_refresh                         t_key_refresh(cur_term)
1366
#define key_replace                         t_key_replace(cur_term)
1367
#define key_restart                         t_key_restart(cur_term)
1368
#define key_resume                         t_key_resume(cur_term)
1369
#define key_right                         t_key_right(cur_term)
1370
#define key_save                         t_key_save(cur_term)
1371
#define key_sbeg                         t_key_sbeg(cur_term)
1372
#define key_scancel                         t_key_scancel(cur_term)
1373
#define key_scommand                         t_key_scommand(cur_term)
1374
#define key_scopy                         t_key_scopy(cur_term)
1375
#define key_screate                         t_key_screate(cur_term)
1376
#define key_sdc                                 t_key_sdc(cur_term)
1377
#define key_sdl                                 t_key_sdl(cur_term)
1378
#define key_select                         t_key_select(cur_term)
1379
#define key_send                         t_key_send(cur_term)
1380
#define key_seol                         t_key_seol(cur_term)
1381
#define key_sexit                         t_key_sexit(cur_term)
1382
#define key_sf                                 t_key_sf(cur_term)
1383
#define key_sfind                         t_key_sfind(cur_term)
1384
#define key_shelp                         t_key_shelp(cur_term)
1385
#define key_shome                         t_key_shome(cur_term)
1386
#define key_sic                                 t_key_sic(cur_term)
1387
#define key_sleft                         t_key_sleft(cur_term)
1388
#define key_smessage                         t_key_smessage(cur_term)
1389
#define key_smove                         t_key_smove(cur_term)
1390
#define key_snext                         t_key_snext(cur_term)
1391
#define key_soptions                         t_key_soptions(cur_term)
1392
#define key_sprevious                         t_key_sprevious(cur_term)
1393
#define key_sprint                         t_key_sprint(cur_term)
1394
#define key_sr                                 t_key_sr(cur_term)
1395
#define key_sredo                         t_key_sredo(cur_term)
1396
#define key_sreplace                         t_key_sreplace(cur_term)
1397
#define key_sright                         t_key_sright(cur_term)
1398
#define key_srsume                         t_key_srsume(cur_term)
1399
#define key_ssave                         t_key_ssave(cur_term)
1400
#define key_ssuspend                         t_key_ssuspend(cur_term)
1401
#define key_stab                         t_key_stab(cur_term)
1402
#define key_sundo                         t_key_sundo(cur_term)
1403
#define key_suspend                         t_key_suspend(cur_term)
1404
#define key_undo                         t_key_undo(cur_term)
1405
#define key_up                                 t_key_up(cur_term)
1406
#define keypad_local                         t_keypad_local(cur_term)
1407
#define keypad_xmit                         t_keypad_xmit(cur_term)
1408
#define lab_f0                                 t_lab_f0(cur_term)
1409
#define lab_f1                                 t_lab_f1(cur_term)
1410
#define lab_f2                                 t_lab_f2(cur_term)
1411
#define lab_f3                                 t_lab_f3(cur_term)
1412
#define lab_f4                                 t_lab_f4(cur_term)
1413
#define lab_f5                                 t_lab_f5(cur_term)
1414
#define lab_f6                                 t_lab_f6(cur_term)
1415
#define lab_f7                                 t_lab_f7(cur_term)
1416
#define lab_f8                                 t_lab_f8(cur_term)
1417
#define lab_f9                                 t_lab_f9(cur_term)
1418
#define lab_f10                                 t_lab_f10(cur_term)
1419
#define label_format                         t_label_format(cur_term)
1420
#define label_off                         t_label_off(cur_term)
1421
#define label_on                         t_label_on(cur_term)
1422
#define meta_off                         t_meta_off(cur_term)
1423
#define meta_on                                 t_meta_on(cur_term)
1424
#define micro_column_address                 t_micro_column_address(cur_term)
1425
#define micro_down                         t_micro_down(cur_term)
1426
#define micro_left                         t_micro_left(cur_term)
1427
#define micro_right                         t_micro_right(cur_term)
1428
#define micro_row_address                 t_micro_row_address(cur_term)
1429
#define micro_up                         t_micro_up(cur_term)
1430
#define mouse_info                         t_mouse_info(cur_term)
1431
#define newline                                 t_newline(cur_term)
1432
#define order_of_pins                         t_order_of_pins(cur_term)
1433
#define orig_colors                         t_orig_colors(cur_term)
1434
#define orig_pair                         t_orig_pair(cur_term)
1435
#define pad_char                         t_pad_char(cur_term)
1436
#define parm_dch                         t_parm_dch(cur_term)
1437
#define parm_delete_line                 t_parm_delete_line(cur_term)
1438
#define parm_down_cursor                 t_parm_down_cursor(cur_term)
1439
#define parm_down_micro                         t_parm_down_micro(cur_term)
1440
#define parm_ich                         t_parm_ich(cur_term)
1441
#define parm_index                         t_parm_index(cur_term)
1442
#define parm_insert_line                 t_parm_insert_line(cur_term)
1443
#define parm_left_cursor                 t_parm_left_cursor(cur_term)
1444
#define parm_left_micro                         t_parm_left_micro(cur_term)
1445
#define parm_right_cursor                 t_parm_right_cursor(cur_term)
1446
#define parm_right_micro                 t_parm_right_micro(cur_term)
1447
#define parm_rindex                         t_parm_rindex(cur_term)
1448
#define parm_up_cursor                         t_parm_up_cursor(cur_term)
1449
#define parm_up_micro                         t_parm_up_micro(cur_term)
1450
#define pc_term_options                         t_pc_term_options(cur_term)
1451
#define pkey_key                         t_pkey_key(cur_term)
1452
#define pkey_local                         t_pkey_local(cur_term)
1453
#define pkey_plab                         t_pkey_plab(cur_term)
1454
#define pkey_xmit                         t_pkey_xmit(cur_term)
1455
#define pkey_norm                         t_pkey_norm(cur_term)
1456
#define print_screen                         t_print_screen(cur_term)
1457
#define ptr_non                                 t_ptr_non(cur_term)
1458
#define ptr_off                                 t_ptr_off(cur_term)
1459
#define ptr_on                                 t_ptr_on(cur_term)
1460
#define pulse                                 t_pulse(cur_term)
1461
#define quick_dial                         t_quick_dial(cur_term)
1462
#define remove_clock                         t_remove_clock(cur_term)
1463
#define repeat_char                         t_repeat_char(cur_term)
1464
#define req_for_input                         t_req_for_input(cur_term)
1465
#define req_mouse_pos                         t_req_mouse_pos(cur_term)
1466
#define reset_1string                         t_reset_1string(cur_term)
1467
#define reset_2string                         t_reset_2string(cur_term)
1468
#define reset_3string                         t_reset_3string(cur_term)
1469
#define reset_file                         t_reset_file(cur_term)
1470
#define restore_cursor                         t_restore_cursor(cur_term)
1471
#define row_address                         t_row_address(cur_term)
1472
#define save_cursor                         t_save_cursor(cur_term)
1473
#define scancode_escape                         t_scancode_escape(cur_term)
1474
#define scroll_forward                         t_scroll_forward(cur_term)
1475
#define scroll_reverse                         t_scroll_reverse(cur_term)
1476
#define select_char_set                         t_select_char_set(cur_term)
1477
#define set0_des_seq                         t_set0_des_seq(cur_term)
1478
#define set1_des_seq                         t_set1_des_seq(cur_term)
1479
#define set2_des_seq                         t_set2_des_seq(cur_term)
1480
#define set3_des_seq                         t_set3_des_seq(cur_term)
1481
#define set_a_attributes                 t_set_a_attributes(cur_term)
1482
#define set_a_background                 t_set_a_background(cur_term)
1483
#define set_a_foreground                 t_set_a_foreground(cur_term)
1484
#define set_attributes                         t_set_attributes(cur_term)
1485
#define set_background                         t_set_background(cur_term)
1486
#define set_bottom_margin                 t_set_bottom_margin(cur_term)
1487
#define set_bottom_margin_parm                 t_set_bottom_margin_parm(cur_term)
1488
#define set_clock                         t_set_clock(cur_term)
1489
#define set_color_band                         t_set_color_band(cur_term)
1490
#define set_color_pair                         t_set_color_pair(cur_term)
1491
#define set_foreground                         t_set_foreground(cur_term)
1492
#define set_left_margin                         t_set_left_margin(cur_term)
1493
#define set_left_margin_parm                 t_set_left_margin_parm(cur_term)
1494
#define set_lr_margin                         t_set_lr_margin(cur_term)
1495
#define set_page_length                         t_set_page_length(cur_term)
1496
#define set_pglen_inch                         t_set_pglen_inch(cur_term)
1497
#define set_right_margin                 t_set_right_margin(cur_term)
1498
#define set_right_margin_parm                 t_set_right_margin_parm(cur_term)
1499
#define set_tab                                 t_set_tab(cur_term)
1500
#define set_tb_margin                         t_set_tb_margin(cur_term)
1501
#define set_top_margin                         t_set_top_margin(cur_term)
1502
#define set_top_margin_parm                 t_set_top_margin_parm(cur_term)
1503
#define set_window                         t_set_window(cur_term)
1504
#define start_bit_image                         t_start_bit_image(cur_term)
1505
#define start_char_set_def                 t_start_char_set_def(cur_term)
1506
#define stop_bit_image                         t_stop_bit_image(cur_term)
1507
#define stop_char_set_def                 t_stop_char_set_def(cur_term)
1508
#define subscript_characters                 t_subscript_characters(cur_term)
1509
#define superscript_characters                 t_superscript_characters(cur_term)
1510
#define tab                                 t_tab(cur_term)
1511
#define these_cause_cr                         t_these_cause_cr(cur_term)
1512
#define to_status_line                         t_to_status_line(cur_term)
1513
#define tone                                 t_tone(cur_term)
1514
#define user0                                 t_user0(cur_term)
1515
#define user1                                 t_user1(cur_term)
1516
#define user2                                 t_user2(cur_term)
1517
#define user3                                 t_user3(cur_term)
1518
#define user4                                 t_user4(cur_term)
1519
#define user5                                 t_user5(cur_term)
1520
#define user6                                 t_user6(cur_term)
1521
#define user7                                 t_user7(cur_term)
1522
#define user8                                 t_user8(cur_term)
1523
#define user9                                 t_user9(cur_term)
1524
#define underline_char                         t_underline_char(cur_term)
1525
#define up_half_line                         t_up_half_line(cur_term)
1526
#define wait_tone                         t_wait_tone(cur_term)
1527
#define xoff_character                         t_xoff_character(cur_term)
1528
#define xon_character                         t_xon_character(cur_term)
1529
#define zero_motion                         t_zero_motion(cur_term)
1530
1531
/*
1532
 * STRING DESCRIPTIONS
1533
 *
1534
 * acs_chars: Graphic charset pairs aAbBcC
1535
 * alt_scancode_esc: Alternate escape for scancode emulation
1536
 * back_tab: Back tab
1537
 * bell: Audible signal (bell)
1538
 * bit_image_carriage_return: Move to beginning of same row
1539
 * bit_image_newline: Move to next row of the bit image
1540
 * bit_image_repeat: Repeat bit-image cell #1 #2 times
1541
 * carriage_return: Carriage return
1542
 * change_char_pitch: Change number of characters per inch
1543
 * change_line_pitch: Change number of lines per inch
1544
 * change_res_horz: Change horizontal resolution
1545
 * change_res_vert: Change vertical resolution
1546
 * change_scroll_region: Change to lines #1 through #2 (VT100)
1547
 * char_padding: Like ip but when in replace mode
1548
 * char_set_names: Returns a list of character set names
1549
 * clear_all_tabs: Clear all tab stops
1550
 * clear_margins: Clear all margins (top, bottom and sides)
1551
 * clear_screen: Clear screen and home cursor
1552
 * clr_bol: Clear to beginning of line, inclusive
1553
 * clr_eol: Clear to end of line
1554
 * clr_eos: Clear to end of display
1555
 * code_set_init: Init sequence for multiple codesets
1556
 * color_names: Give name for colour #1
1557
 * column_address: Set horizontal position to absolute #1
1558
 * command_character: Terminal settable cmd character in prototype
1559
 * create_window: Define win #1 to go from #2,#3 to #4,#5
1560
 * cursor_address: Move to row #1, col #2
1561
 * cursor_down: Down one line
1562
 * cursor_home: Home cursor (if no cup)
1563
 * cursor_invisible: Make cursor invisible
1564
 * cursor_left: Move left one space
1565
 * cursor_mem_address: Memory relative cursor addressing
1566
 * cursor_normal: Make cursor appear normal (under vs/vi)
1567
 * cursor_right: Non-destructive space (cursor or carriage right)
1568
 * cursor_to_ll: Last line, first column (if no cup)
1569
 * cursor_up: Upline (cursor up)
1570
 * cursor_visible: Make cursor very visible
1571
 * define_bit_image_region: Define rectangular bit-image region
1572
 * define_char: Define a character in a character set
1573
 * delete_character: Delete character
1574
 * delete_line: Delete line
1575
 * device_type: Indicate language/codeset support
1576
 * dial_phone: Dial phone number #1
1577
 * dis_status_line: Disable status line
1578
 * display_clock: Display time-of-day clock
1579
 * display_pc_char: Display PC character
1580
 * down_half_time: Half-line down (forward 1/2 linefeed)
1581
 * ena_acs: Enable alternate character set
1582
 * end_bit_image_region: End a bit-image region
1583
 * enter_alt_charset_mode: Start alternate character set
1584
 * enter_am_mode: Turn on automatic margins
1585
 * enter_blink_mode: Turn on blinking
1586
 * enter_bold_mode: Turn on bold (extra bright) mode
1587
 * enter_ca_mode: String to begin programs that use cup
1588
 * enter_delete_mode: Delete mode (enter)
1589
 * enter_dim_mode: Turn on half-bright mode
1590
 * enter_doublewide_mode: Enable double wide printing
1591
 * enter_draft_quality: Set draft qualify print
1592
 * enter_horizontal_hl_mode: Turn on horizontal highlight mode
1593
 * enter_insert_mode: Insert mode (enter)
1594
 * enter_italics_mode: Enable italics
1595
 * enter_left_hl_mode: Turn on left highlight mode
1596
 * enter_leftward_mode: Enable leftward carriage motion
1597
 * enter_low_hl_mode: Turn on low highlight mode
1598
 * enter_micro_mode: Enable micro motion capabilities
1599
 * enter_near_quality_letter: Set near-letter quality print
1600
 * enter_normal_quality: Set normal quality print
1601
 * enter_pc_charset_mode: Enter PC character display mode
1602
 * enter_protected_mode: Turn on protected mode
1603
 * enter_reverse_mode: Turn on reverse video mode
1604
 * enter_right_hl_mode: Turn on right highlight mode
1605
 * enter_scancode_mode: Enter PC scancode mode
1606
 * enter_secure_mode: Turn on blank mode (characters invisible)
1607
 * enter_shadow_mode: Enable shadow printing
1608
 * enter_standout_mode: Begin standout mode
1609
 * enter_subscript_mode: Enable subscript printing
1610
 * enter_superscript_mode: Enable superscript printing
1611
 * enter_top_hl_mode: Turn on top highlight mode
1612
 * enter_underline_mode: Start underscore mode
1613
 * enter_upward_mode: Enable upward carriage motion
1614
 * enter_vertical_hl_mode: Turn on verticle highlight mode
1615
 * enter_xon_mode: Turn on xon/xoff handshaking
1616
 * erase_chars: Erase #1 characters
1617
 * exit_alt_charset_mode: End alternate character set
1618
 * exit_am_mode: Turn off automatic margins
1619
 * exit_attribute_mode: Turn off all attributes
1620
 * exit_ca_mode: String to end programs that use cup
1621
 * exit_delete_mode: End delete mode
1622
 * exit_doublewide_mode: Disable double wide printing
1623
 * exit_insert_mode: End insert mode
1624
 * exit_italics_mode: Disable italics
1625
 * exit_leftward_mode: Enable rightward (normal) carriage motion
1626
 * exit_micro_mode: Disable micro motion capabilities
1627
 * exit_pc_charset_mode: Disable PC character display mode
1628
 * exit_scancode_mode: Disable PC scancode mode
1629
 * exit_shadow_mode: Disable shadow printing
1630
 * exit_standout_mode: End standout mode
1631
 * exit_subscript_mode: Disable subscript printing
1632
 * exit_superscript_mode: Disable superscript printing
1633
 * exit_underline_mode: End underscore mode
1634
 * exit_upward_mode: Enable downward (normal) carriage motion
1635
 * exit_xon_mode: Turn off xon/xoff handshaking
1636
 * fixed_pause: Pause for 2-3 seconds
1637
 * flash_hook: Flash the switch hook
1638
 * flash_screen: Visible bell (may move cursor)
1639
 * form_feed: Hardcopy terminal eject page
1640
 * from_status_line: Return from status line
1641
 * get_mouse: Curses should get button events
1642
 * goto_window: Go to window #1
1643
 * hangup: Hang-up phone
1644
 * init_1string: Terminal or printer initialisation string
1645
 * init_2string: Terminal or printer initialisation string
1646
 * init_3string: Terminal or printer initialisation string
1647
 * init_file: Name of initialisation file
1648
 * init_prog: Path name of program for initialisation
1649
 * initialize_color: Set colour #1 to RGB #2, #3, #4
1650
 * initialize_pair: Set colour-pair #1 to fg #2, bg #3
1651
 * insert_character: Insert character
1652
 * insert_line: Add new blank line
1653
 * insert_padding: Insert pad after character inserted
1654
 * key_a1: upper left of keypad
1655
 * key_a3: upper right of keypad
1656
 * key_b2: center of keypad
1657
 * key_backspace: set by backspace key
1658
 * key_beg: 1
1659
 * key_btab: sent by back-tab key
1660
 * key_c1: lower left of keypad
1661
 * key_c3: lower right of keypad
1662
 * key_cancel: 2
1663
 * key_catab: sent by clear-all-tabs key
1664
 * key_clear: sent by clear-screen or erase key
1665
 * key_close: 3
1666
 * key_command: 4
1667
 * key_copy: 5
1668
 * key_create: 6
1669
 * key_ctab: sent by clear-tab key
1670
 * key_dc: sent by delete-character key
1671
 * key_dl: sent by delete-line key
1672
 * key_down: sent by terminal down-arrow key
1673
 * key_eic: sent by rmir or smir in insert mode
1674
 * key_end: 7
1675
 * key_enter: 8
1676
 * key_eol: sent by clear-to-end-of-line key
1677
 * key_eos: sent by clear-to-end-of-screen key
1678
 * key_exit: 9
1679
 * key_f0: sent by function key f0
1680
 * key_f1: sent by function key f1
1681
 * key_f2: sent by function key f2
1682
 * key_f3: sent by function key f3
1683
 * key_f4: sent by function key f4
1684
 * key_f5: sent by function key f5
1685
 * key_f6: sent by function key f6
1686
 * key_f7: sent by function key f7
1687
 * key_f8: sent by function key f8
1688
 * key_f9: sent by function key f9
1689
 * key_f10: sent by function key f10
1690
 * key_f11: sent by function key f11
1691
 * key_f12: sent by function key f12
1692
 * key_f13: sent by function key f13
1693
 * key_f14: sent by function key f14
1694
 * key_f15: sent by function key f15
1695
 * key_f16: sent by function key f16
1696
 * key_f17: sent by function key f17
1697
 * key_f18: sent by function key f18
1698
 * key_f19: sent by function key f19
1699
 * key_f20: sent by function key f20
1700
 * key_f21: sent by function key f21
1701
 * key_f22: sent by function key f22
1702
 * key_f23: sent by function key f23
1703
 * key_f24: sent by function key f24
1704
 * key_f25: sent by function key f25
1705
 * key_f26: sent by function key f26
1706
 * key_f27: sent by function key f27
1707
 * key_f28: sent by function key f28
1708
 * key_f29: sent by function key f29
1709
 * key_f30: sent by function key f30
1710
 * key_f31: sent by function key f31
1711
 * key_f32: sent by function key f32
1712
 * key_f33: sent by function key f33
1713
 * key_f34: sent by function key f34
1714
 * key_f35: sent by function key f35
1715
 * key_f36: sent by function key f36
1716
 * key_f37: sent by function key f37
1717
 * key_f38: sent by function key f38
1718
 * key_f39: sent by function key f39
1719
 * key_f40: sent by function key f40
1720
 * key_f41: sent by function key f41
1721
 * key_f42: sent by function key f42
1722
 * key_f43: sent by function key f43
1723
 * key_f44: sent by function key f44
1724
 * key_f45: sent by function key f45
1725
 * key_f46: sent by function key f46
1726
 * key_f47: sent by function key f47
1727
 * key_f48: sent by function key f48
1728
 * key_f49: sent by function key f49
1729
 * key_f50: sent by function key f50
1730
 * key_f51: sent by function key f51
1731
 * key_f52: sent by function key f52
1732
 * key_f53: sent by function key f53
1733
 * key_f54: sent by function key f54
1734
 * key_f55: sent by function key f55
1735
 * key_f56: sent by function key f56
1736
 * key_f57: sent by function key f57
1737
 * key_f58: sent by function key f58
1738
 * key_f59: sent by function key f59
1739
 * key_f60: sent by function key f60
1740
 * key_f61: sent by function key f61
1741
 * key_f62: sent by function key f62
1742
 * key_f63: sent by function key f63
1743
 * key_find: 0
1744
 * key_help: sent by help key
1745
 * key_home: sent by home key
1746
 * key_ic: sent by ins-char/enter ins-mode key
1747
 * key_il: sent by insert-line key
1748
 * key_left: sent by terminal left-arrow key
1749
 * key_ll: sent by home-down key
1750
 * key_mark: sent by mark key
1751
 * key_message: sent by message key
1752
 * key_mouse: 0631, Mouse event has occured
1753
 * key_move: sent by move key
1754
 * key_next: sent by next-object key
1755
 * key_npage: sent by next-page key
1756
 * key_open: sent by open key
1757
 * key_options: sent by options key
1758
 * key_ppage: sent by previous-page key
1759
 * key_previous: sent by previous-object key
1760
 * key_print: sent by print or copy key
1761
 * key_redo: sent by redo key
1762
 * key_reference: sent by ref(erence) key
1763
 * key_refresh: sent by refresh key
1764
 * key_replace: sent by replace key
1765
 * key_restart: sent by restart key
1766
 * key_resume: sent by resume key
1767
 * key_right: sent by terminal right-arrow key
1768
 * key_save: sent by save key
1769
 * key_sbeg: sent by shifted beginning key
1770
 * key_scancel: sent by shifted cancel key
1771
 * key_scommand: sent by shifted command key
1772
 * key_scopy: sent by shifted copy key
1773
 * key_screate: sent by shifted create key
1774
 * key_sdc: sent by shifted delete-char key
1775
 * key_sdl: sent by shifted delete-line key
1776
 * key_select: sent by select key
1777
 * key_send: sent by shifted end key
1778
 * key_seol: sent by shifted clear-line key
1779
 * key_sexit: sent by shited exit key
1780
 * key_sf: sent by scroll-forward/down key
1781
 * key_sfind: sent by shifted find key
1782
 * key_shelp: sent by shifted help key
1783
 * key_shome: sent by shifted home key
1784
 * key_sic: sent by shifted input key
1785
 * key_sleft: sent by shifted left-arrow key
1786
 * key_smessage: sent by shifted message key
1787
 * key_smove: sent by shifted move key
1788
 * key_snext: sent by shifted next key
1789
 * key_soptions: sent by shifted options key
1790
 * key_sprevious: sent by shifted prev key
1791
 * key_sprint: sent by shifted print key
1792
 * key_sr: sent by scroll-backwards/up key
1793
 * key_sredo: sent by shifted redo key
1794
 * key_sreplace: sent by shifted replace key
1795
 * key_sright: sent by shifted right-arrow key
1796
 * key_srsume: sent by shifted resume key
1797
 * key_ssave: sent by shifted save key
1798
 * key_ssuspend: sent by shifted suspend key
1799
 * key_stab: sent by set-tab key
1800
 * key_sundo: sent by shifted undo key
1801
 * key_suspend: sent by suspend key
1802
 * key_undo: sent by undo key
1803
 * key_up: sent by terminal up-arrow key
1804
 * keypad_local: Out of "keypad-transmit" mode
1805
 * keypad_xmit: Put terminal in "keypad-transmit" mode
1806
 * lab_f0: Labels on function key f0 if not f0
1807
 * lab_f1: Labels on function key f1 if not f1
1808
 * lab_f2: Labels on function key f2 if not f2
1809
 * lab_f3: Labels on function key f3 if not f3
1810
 * lab_f4: Labels on function key f4 if not f4
1811
 * lab_f5: Labels on function key f5 if not f5
1812
 * lab_f6: Labels on function key f6 if not f6
1813
 * lab_f7: Labels on function key f7 if not f7
1814
 * lab_f8: Labels on function key f8 if not f8
1815
 * lab_f9: Labels on function key f9 if not f9
1816
 * lab_f10: Labels on function key f10 if not f10
1817
 * label_format: Label format
1818
 * label_off: Turn off soft labels
1819
 * label_on: Turn on soft labels
1820
 * meta_off: Turn off "meta mode"
1821
 * meta_on: Turn on "meta mode" (8th bit)
1822
 * micro_column_address: Like column_address for micro adjustment
1823
 * micro_down: Like cursor_down for micro adjustment
1824
 * micro_left: Like cursor_left for micro adjustment
1825
 * micro_right: Like cursor_right for micro adjustment
1826
 * micro_row_address: Like row_address for micro adjustment
1827
 * micro_up: Like cursor_up for micro adjustment
1828
 * mouse_info: Mouse status information
1829
 * newline: Newline (behaves like cr followed by lf)
1830
 * order_of_pins: Matches software bits to print-head pins
1831
 * orig_colors: Set all colour(-pair)s to original ones
1832
 * orig_pair: Set default colour-pair to the original one
1833
 * pad_char: Pad character (rather than NULL)
1834
 * parm_dch: Delete #1 chars
1835
 * parm_delete_line: Delete #1 lines
1836
 * parm_down_cursor: Move down #1 lines
1837
 * parm_down_micro: Like parm_down_cursor for micro adjustment
1838
 * parm_ich: Insert #1 blank chars
1839
 * parm_index: Scroll forward #1 lines
1840
 * parm_insert_line: Add #1 new blank lines
1841
 * parm_left_cursor: Move cursor left #1 lines
1842
 * parm_left_micro: Like parm_left_cursor for micro adjustment
1843
 * parm_right_cursor: Move right #1 spaces
1844
 * parm_right_micro: Like parm_right_cursor for micro adjustment
1845
 * parm_rindex: Scroll backward #1 lines
1846
 * parm_up_cursor: Move cursor up #1 lines
1847
 * parm_up_micro: Like parm_up_cursor for micro adjustment
1848
 * pc_term_options: PC terminal options
1849
 * pkey_key: Prog funct key #1 to type string #2
1850
 * pkey_local: Prog funct key #1 to execute string #2
1851
 * pkey_plab: Prog key #1 to xmit string #2 and show string #3
1852
 * pkey_xmit: Prog funct key #1 to xmit string #2
1853
 * pkey_norm: Prog label #1 to show string #3
1854
 * print_screen: Print contents of screen
1855
 * ptr_non: Turn off printer for #1 bytes
1856
 * ptr_off: Turn off the printer
1857
 * ptr_on: Turn on the printer
1858
 * pulse: Select pulse dialing
1859
 * quick_dial: Dial phone number #1, without progress detection
1860
 * remove_clock: Remove time-of-day clock
1861
 * repeat_char: Repeat char #1 #2 times
1862
 * req_for_input: Send next input char (for ptys)
1863
 * req_mouse_pos: Request mouse position report
1864
 * reset_1string: Reset terminal completely to sane modes
1865
 * reset_2string: Reset terminal completely to sane modes
1866
 * reset_3string: Reset terminal completely to sane modes
1867
 * reset_file: Name of file containing reset string
1868
 * restore_cursor: Restore cursor to position of last sc
1869
 * row_address: Set vertical position to absolute #1
1870
 * save_cursor: Save cursor position
1871
 * scancode_escape: Escape for scancode emulation
1872
 * scroll_forward: Scroll text up
1873
 * scroll_reverse: Scroll text down
1874
 * select_char_set: Select character set
1875
 * set0_des_seq: Shift into codeset 0 (EUC set 0, ASCII)
1876
 * set1_des_seq: Shift into codeset 1
1877
 * set2_des_seq: Shift into codeset 2
1878
 * set3_des_seq: Shift into codeset 3
1879
 * set_a_attributes: Define second set of video attributes #1-#6
1880
 * set_a_background: Set background colour to #1 using ANSI escape
1881
 * set_a_foreground: Set foreground colour to #1 using ANSI escape
1882
 * set_attributes: Define first set of video attributes #1-#9
1883
 * set_background: Set background colour to #1
1884
 * set_bottom_margin: Set bottom margin at current line
1885
 * set_bottom_margin_parm: Set bottom margin at line #1 or #2 lines from bottom
1886
 * set_clock: Set clock to hours (#1), minutes (#2), seconds (#3)
1887
 * set_color_band: Change ribbon to colour #1
1888
 * set_color_pair: Set current colour pair to #1
1889
 * set_foreground: Set foreground colour to #1
1890
 * set_left_margin: Set left margin at current column
1891
 * set_left_margin_parm: Set left (right) margin at column #1 (#2)
1892
 * set_lr_margin: Sets both left and right margins
1893
 * set_page_length: Set page length to #1 lines
1894
 * set_pglen_inch: Set page length to #1 hundredth of an inch
1895
 * set_right_margin: Set right margin at current column
1896
 * set_right_margin_parm: Set right margin at #1
1897
 * set_tab: Set a tab in all rows, current column
1898
 * set_tb_margin: Sets both top and bottom margins
1899
 * set_top_margin: Set top margin at current line
1900
 * set_top_margin_parm: Set top (bottom) margin at line #1 (#2)
1901
 * set_window: Current window is lines #1-#2 cols #3-#4
1902
 * start_bit_image: Start printing bit image graphics
1903
 * start_char_set_def: Start definition of a character set
1904
 * stop_bit_image: End printing bit image graphics
1905
 * stop_char_set_def: End definition of a character set
1906
 * subscript_characters: List of "subscript-able" characters
1907
 * superscript_characters: List of "superscript-able" characters
1908
 * tab: Tab to next 8-space hardware tab stop
1909
 * these_cause_cr: Printing any of these characters causes cr
1910
 * to_status_line: Go to status line, col #1
1911
 * tone: Select tone touch dialing
1912
 * user0: User string 0
1913
 * user1: User string 1
1914
 * user2: User string 2
1915
 * user3: User string 3
1916
 * user4: User string 4
1917
 * user5: User string 5
1918
 * user6: User string 6
1919
 * user7: User string 7
1920
 * user8: User string 8
1921
 * user9: User string 9
1922
 * underline_char: Underscore one char and move past it
1923
 * up_half_line: Half-line up (reverse 1/2 linefeed)
1924
 * wait_tone: Wait for dial tone
1925
 * xoff_character: X-off character
1926
 * xon_character: X-on character
1927
 * zero_motion: No motion for the subsequent character
1928
 */
1929
1930
#ifndef _TERMINFO
1931
typedef struct {
1932
        int fildes;
1933
        /* We need to expose these so that the macros work */
1934
        const char *name;
1935
        const char *desc;
1936
        const signed char *flags;
1937
        const short *nums;
1938
        const char **strs;
1939
} TERMINAL;
1940
#endif
1941
1942
#include <sys/cdefs.h>
1943
1944
__BEGIN_DECLS
1945
1946
extern TERMINAL *cur_term;
1947
1948
/* setup functions */
1949
int                setupterm(const char *, int, int *);
1950
TERMINAL *        set_curterm(TERMINAL *);
1951
int                del_curterm(TERMINAL *);
1952
char *                termname(void);
1953
char *                longname(void);
1954
1955
/* information functions */
1956
int                tigetflag(const char *);
1957
int                tigetnum(const char *);
1958
char *                tigetstr(const char *);
1959
/* You should note that the spec allows stuffing a char * into a long
1960
 * if the platform allows and the %pN is followed immediately by %l or %s */
1961
char *                tparm(const char *, long, long, long, long, long,
1962
                long, long, long, long);
1963
1964
/* Non standard functions, but provide a level of thread safety */
1965
int                ti_setupterm(TERMINAL **, const char *, int, int *);
1966
int                ti_getflag(const TERMINAL *, const char *);
1967
int                ti_getnum(const TERMINAL *, const char *);
1968
const char *        ti_getstr(const TERMINAL *, const char *);
1969
char *                ti_parm(TERMINAL *, const char *,
1970
    long, long, long, long, long, long, long, long, long);
1971
1972
/* These functions do not use PC or speed, but the terminal */
1973
int                ti_puts(const TERMINAL *, const char *, int,
1974
    int (*)(int, void *), void *);
1975
int                ti_putp(const TERMINAL *, const char *);
1976
1977
/* Using tparm can be kunkly, so provide a variadic function
1978
 * Numbers have to be passed as int */
1979
/* This is not standard, but ncurses also provides this */
1980
char *                tiparm(const char *, ...);
1981
/* And a thread safe version */
1982
char *                ti_tiparm(TERMINAL *, const char *, ...);
1983
1984
#ifdef TPARM_TLPARM
1985
/* Same as the above, but numbers have to be passed as long */
1986
char *                tlparm(const char *, ...);
1987
/* And a thread safe version */
1988
char *                ti_tlparm(TERMINAL *, const char *, ...);
1989
#endif
1990
1991
/* Default to X/Open tparm, but allow it to be variadic also */
1992
#ifdef TPARM_VARARGS
1993
#  define tparm        tiparm
1994
#  define ti_parm ti_tiparm
1995
#endif
1996
1997
/* Convert a termcap string into a terminfo string.
1998
 * The passed string is destroyed and the return string needs to be freed. */
1999
char *                captoinfo(char *);
2000
2001
/* POSIX says that term.h should also pull in our termcap definitions. */
2002
#include <termcap.h>
2003
2004
__END_DECLS
2005
#endif