Home | History | Annotate | Line # | Download | only in libterminfo
term.h revision 1.6
      1 /* $NetBSD: term.h,v 1.6 2010/09/22 06:10:51 roy Exp $ */
      2 
      3 /*
      4  * Copyright (c) 2009, 2010 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 /* Define available terminfo numbers */
    157 enum TINUMS {
    158 	TICODE_bitwin,
    159 	TICODE_bitype,
    160 	TICODE_bufsz,
    161 	TICODE_btns,
    162 	TICODE_cols,
    163 	TICODE_spinh,
    164 	TICODE_spinv,
    165 	TICODE_it,
    166 	TICODE_lh,
    167 	TICODE_lw,
    168 	TICODE_lines,
    169 	TICODE_lm,
    170 	TICODE_ma,
    171 	TICODE_xmc,
    172 	TICODE_colors,
    173 	TICODE_maddr,
    174 	TICODE_mjump,
    175 	TICODE_pairs,
    176 	TICODE_wnum,
    177 	TICODE_mcs,
    178 	TICODE_mls,
    179 	TICODE_ncv,
    180 	TICODE_nlab,
    181 	TICODE_npins,
    182 	TICODE_orc,
    183 	TICODE_orl,
    184 	TICODE_orhi,
    185 	TICODE_orvi,
    186 	TICODE_pb,
    187 	TICODE_cps,
    188 	TICODE_vt,
    189 	TICODE_widcs,
    190 	TICODE_wsl
    191 };
    192 #define TINUMMAX			TICODE_wsl
    193 
    194 #define t_bit_image_entwining(t)	(t)->nums[TICODE_bitwin]
    195 #define t_bit_image_type(t)		(t)->nums[TICODE_bitype]
    196 #define t_buffer_capacity(t)		(t)->nums[TICODE_bufsz]
    197 #define t_buttons(t)			(t)->nums[TICODE_btns]
    198 #define t_columns(t)			(t)->nums[TICODE_cols]
    199 #define t_dot_horz_spacing(t)		(t)->nums[TICODE_spinh]
    200 #define t_dot_vert_spacing(t)		(t)->nums[TICODE_spinv]
    201 #define t_init_tabs(t)			(t)->nums[TICODE_it]
    202 #define t_label_height(t)		(t)->nums[TICODE_lh]
    203 #define t_label_width(t)		(t)->nums[TICODE_lw]
    204 #define t_lines(t)			(t)->nums[TICODE_lines]
    205 #define t_lines_of_memory(t)		(t)->nums[TICODE_lm]
    206 #define t_max_attributes(t)		(t)->nums[TICODE_ma]
    207 #define t_magic_cookie_glitch(t)	(t)->nums[TICODE_xmc]
    208 #define t_max_colors(t)			(t)->nums[TICODE_colors]
    209 #define t_max_micro_address(t)		(t)->nums[TICODE_maddr]
    210 #define t_max_micro_jump(t)		(t)->nums[TICODE_mjump]
    211 #define t_max_pairs(t)			(t)->nums[TICODE_pairs]
    212 #define t_maximum_windows(t)		(t)->nums[TICODE_wnum]
    213 #define t_micro_col_size(t)		(t)->nums[TICODE_mcs]
    214 #define t_micro_line_size(t)		(t)->nums[TICODE_mls]
    215 #define t_no_color_video(t)		(t)->nums[TICODE_ncv]
    216 #define t_num_labels(t)			(t)->nums[TICODE_nlab]
    217 #define t_number_of_pins(t)		(t)->nums[TICODE_npins]
    218 #define t_output_res_char(t)		(t)->nums[TICODE_orc]
    219 #define t_output_res_line(t)		(t)->nums[TICODE_orl]
    220 #define t_output_res_horz_inch(t)	(t)->nums[TICODE_orhi]
    221 #define t_output_res_vert_inch(t)	(t)->nums[TICODE_orvi]
    222 #define t_padding_baud_rate(t)		(t)->nums[TICODE_pb]
    223 #define t_print_rate(t)			(t)->nums[TICODE_cps]
    224 #define t_virtual_terminal(t)		(t)->nums[TICODE_vt]
    225 #define t_wide_char_size(t)		(t)->nums[TICODE_widcs]
    226 #define t_width_status_line(t)		(t)->nums[TICODE_wsl]
    227 
    228 #define bit_image_entwining		 t_bit_image_entwining(cur_term)
    229 #define bit_image_type			 t_bit_image_type(cur_term)
    230 #define buffer_capacity			 t_buffer_capacity(cur_term)
    231 #define buttons				 t_buttons(cur_term)
    232 #define columns				 t_columns(cur_term)
    233 #define dot_horz_spacing		 t_dot_horz_spacing(cur_term)
    234 #define dot_vert_spacing		 t_dot_vert_spacing(cur_term)
    235 #define init_tabs			 t_init_tabs(cur_term)
    236 #define label_height			 t_label_height(cur_term)
    237 #define label_width			 t_label_width(cur_term)
    238 #define lines				 t_lines(cur_term)
    239 #define lines_of_memory			 t_lines_of_memory(cur_term)
    240 #define max_attributes			 t_max_attributes(cur_term)
    241 #define magic_cookie_glitch		 t_magic_cookie_glitch(cur_term)
    242 #define max_colors			 t_max_colors(cur_term)
    243 #define max_micro_address		 t_max_micro_address(cur_term)
    244 #define max_micro_jump			 t_max_micro_jump(cur_term)
    245 #define max_pairs			 t_max_pairs(cur_term)
    246 #define maximum_windows			 t_maximum_windows(cur_term)
    247 #define micro_col_size			 t_micro_col_size(cur_term)
    248 #define micro_line_size			 t_micro_line_size(cur_term)
    249 #define no_color_video			 t_no_color_video(cur_term)
    250 #define num_labels			 t_num_labels(cur_term)
    251 #define number_of_pins			 t_number_of_pins(cur_term)
    252 #define output_res_char			 t_output_res_char(cur_term)
    253 #define output_res_line			 t_output_res_line(cur_term)
    254 #define output_res_horz_inch		 t_output_res_horz_inch(cur_term)
    255 #define output_res_vert_inch		 t_output_res_vert_inch(cur_term)
    256 #define padding_baud_rate		 t_padding_baud_rate(cur_term)
    257 #define print_rate			 t_print_rate(cur_term)
    258 #define virtual_terminal		 t_virtual_terminal(cur_term)
    259 #define wide_char_size			 t_wide_char_size(cur_term)
    260 #define width_status_line		 t_width_status_line(cur_term)
    261 
    262 /* Define available terminfo strings */
    263 enum TISTRS{
    264 	TICODE_acsc,
    265 	TICODE_scesa,
    266 	TICODE_cbt,
    267 	TICODE_bel,
    268 	TICODE_bicr,
    269 	TICODE_binel,
    270 	TICODE_birep,
    271 	TICODE_cr,
    272 	TICODE_cpi,
    273 	TICODE_lpi,
    274 	TICODE_chr,
    275 	TICODE_cvr,
    276 	TICODE_csr,
    277 	TICODE_rmp,
    278 	TICODE_csnm,
    279 	TICODE_tbc,
    280 	TICODE_mgc,
    281 	TICODE_clear,
    282 	TICODE_el1,
    283 	TICODE_el,
    284 	TICODE_ed,
    285 	TICODE_csin,
    286 	TICODE_colornm,
    287 	TICODE_hpa,
    288 	TICODE_cmdch,
    289 	TICODE_cwin,
    290 	TICODE_cup,
    291 	TICODE_cud1,
    292 	TICODE_home,
    293 	TICODE_civis,
    294 	TICODE_cub1,
    295 	TICODE_mrcup,
    296 	TICODE_cnorm,
    297 	TICODE_cuf1,
    298 	TICODE_ll,
    299 	TICODE_cuu1,
    300 	TICODE_cvvis,
    301 	TICODE_defbi,
    302 	TICODE_defc,
    303 	TICODE_dch1,
    304 	TICODE_dl1,
    305 	TICODE_devt,
    306 	TICODE_dial,
    307 	TICODE_dsl,
    308 	TICODE_dclk,
    309 	TICODE_dispc,
    310 	TICODE_hd,
    311 	TICODE_enacs,
    312 	TICODE_endbi,
    313 	TICODE_smacs,
    314 	TICODE_smam,
    315 	TICODE_blink,
    316 	TICODE_bold,
    317 	TICODE_smcup,
    318 	TICODE_smdc,
    319 	TICODE_dim,
    320 	TICODE_swidm,
    321 	TICODE_sdrfq,
    322 	TICODE_ehhlm,
    323 	TICODE_smir,
    324 	TICODE_sitm,
    325 	TICODE_elhlm,
    326 	TICODE_slm,
    327 	TICODE_elohlm,
    328 	TICODE_smicm,
    329 	TICODE_snlq,
    330 	TICODE_snrmq,
    331 	TICODE_smpch,
    332 	TICODE_prot,
    333 	TICODE_rev,
    334 	TICODE_erhlm,
    335 	TICODE_smsc,
    336 	TICODE_invis,
    337 	TICODE_sshm,
    338 	TICODE_smso,
    339 	TICODE_ssubm,
    340 	TICODE_ssupm,
    341 	TICODE_ethlm,
    342 	TICODE_smul,
    343 	TICODE_sum,
    344 	TICODE_evhlm,
    345 	TICODE_smxon,
    346 	TICODE_ech,
    347 	TICODE_rmacs,
    348 	TICODE_rmam,
    349 	TICODE_sgr0,
    350 	TICODE_rmcup,
    351 	TICODE_rmdc,
    352 	TICODE_rwidm,
    353 	TICODE_rmir,
    354 	TICODE_ritm,
    355 	TICODE_rlm,
    356 	TICODE_rmicm,
    357 	TICODE_rmpch,
    358 	TICODE_rmsc,
    359 	TICODE_rshm,
    360 	TICODE_rmso,
    361 	TICODE_rsubm,
    362 	TICODE_rsupm,
    363 	TICODE_rmul,
    364 	TICODE_rum,
    365 	TICODE_rmxon,
    366 	TICODE_pause,
    367 	TICODE_hook,
    368 	TICODE_flash,
    369 	TICODE_ff,
    370 	TICODE_fsl,
    371 	TICODE_getm,
    372 	TICODE_wingo,
    373 	TICODE_hup,
    374 	TICODE_is1,
    375 	TICODE_is2,
    376 	TICODE_is3,
    377 	TICODE_if,
    378 	TICODE_iprog,
    379 	TICODE_initc,
    380 	TICODE_initp,
    381 	TICODE_ich1,
    382 	TICODE_il1,
    383 	TICODE_ip,
    384 	TICODE_ka1,
    385 	TICODE_ka3,
    386 	TICODE_kb2,
    387 	TICODE_kbs,
    388 	TICODE_kbeg,
    389 	TICODE_kcbt,
    390 	TICODE_kc1,
    391 	TICODE_kc3,
    392 	TICODE_kcan,
    393 	TICODE_ktbc,
    394 	TICODE_kclr,
    395 	TICODE_kclo,
    396 	TICODE_kcmd,
    397 	TICODE_kcpy,
    398 	TICODE_kcrt,
    399 	TICODE_kctab,
    400 	TICODE_kdch1,
    401 	TICODE_kdl1,
    402 	TICODE_kcud1,
    403 	TICODE_krmir,
    404 	TICODE_kend,
    405 	TICODE_kent,
    406 	TICODE_kel,
    407 	TICODE_ked,
    408 	TICODE_kext,
    409 	TICODE_kf0,
    410 	TICODE_kf1,
    411 	TICODE_kf2,
    412 	TICODE_kf3,
    413 	TICODE_kf4,
    414 	TICODE_kf5,
    415 	TICODE_kf6,
    416 	TICODE_kf7,
    417 	TICODE_kf8,
    418 	TICODE_kf9,
    419 	TICODE_kf10,
    420 	TICODE_kf11,
    421 	TICODE_kf12,
    422 	TICODE_kf13,
    423 	TICODE_kf14,
    424 	TICODE_kf15,
    425 	TICODE_kf16,
    426 	TICODE_kf17,
    427 	TICODE_kf18,
    428 	TICODE_kf19,
    429 	TICODE_kf20,
    430 	TICODE_kf21,
    431 	TICODE_kf22,
    432 	TICODE_kf23,
    433 	TICODE_kf24,
    434 	TICODE_kf25,
    435 	TICODE_kf26,
    436 	TICODE_kf27,
    437 	TICODE_kf28,
    438 	TICODE_kf29,
    439 	TICODE_kf30,
    440 	TICODE_kf31,
    441 	TICODE_kf32,
    442 	TICODE_kf33,
    443 	TICODE_kf34,
    444 	TICODE_kf35,
    445 	TICODE_kf36,
    446 	TICODE_kf37,
    447 	TICODE_kf38,
    448 	TICODE_kf39,
    449 	TICODE_kf40,
    450 	TICODE_kf41,
    451 	TICODE_kf42,
    452 	TICODE_kf43,
    453 	TICODE_kf44,
    454 	TICODE_kf45,
    455 	TICODE_kf46,
    456 	TICODE_kf47,
    457 	TICODE_kf48,
    458 	TICODE_kf49,
    459 	TICODE_kf50,
    460 	TICODE_kf51,
    461 	TICODE_kf52,
    462 	TICODE_kf53,
    463 	TICODE_kf54,
    464 	TICODE_kf55,
    465 	TICODE_kf56,
    466 	TICODE_kf57,
    467 	TICODE_kf58,
    468 	TICODE_kf59,
    469 	TICODE_kf60,
    470 	TICODE_kf61,
    471 	TICODE_kf62,
    472 	TICODE_kf63,
    473 	TICODE_kfnd,
    474 	TICODE_khlp,
    475 	TICODE_khome,
    476 	TICODE_kich1,
    477 	TICODE_kil1,
    478 	TICODE_kcub1,
    479 	TICODE_kll,
    480 	TICODE_kmrk,
    481 	TICODE_kmsg,
    482 	TICODE_kmous,
    483 	TICODE_kmov,
    484 	TICODE_knxt,
    485 	TICODE_knp,
    486 	TICODE_kopn,
    487 	TICODE_kopt,
    488 	TICODE_kpp,
    489 	TICODE_kprv,
    490 	TICODE_kprt,
    491 	TICODE_krdo,
    492 	TICODE_kref,
    493 	TICODE_krfr,
    494 	TICODE_krpl,
    495 	TICODE_krst,
    496 	TICODE_kres,
    497 	TICODE_kcuf1,
    498 	TICODE_ksav,
    499 	TICODE_kBEG,
    500 	TICODE_kCAN,
    501 	TICODE_kCMD,
    502 	TICODE_kCPY,
    503 	TICODE_kCRT,
    504 	TICODE_kDC,
    505 	TICODE_kDL,
    506 	TICODE_kslt,
    507 	TICODE_kEND,
    508 	TICODE_kEOL,
    509 	TICODE_kEXT,
    510 	TICODE_kind,
    511 	TICODE_kFND,
    512 	TICODE_kHLP,
    513 	TICODE_kHOM,
    514 	TICODE_kIC,
    515 	TICODE_kLFT,
    516 	TICODE_kMSG,
    517 	TICODE_kMOV,
    518 	TICODE_kNXT,
    519 	TICODE_kOPT,
    520 	TICODE_kPRV,
    521 	TICODE_kPRT,
    522 	TICODE_kri,
    523 	TICODE_kRDO,
    524 	TICODE_kRPL,
    525 	TICODE_kRIT,
    526 	TICODE_kRES,
    527 	TICODE_kSAV,
    528 	TICODE_kSPD,
    529 	TICODE_khts,
    530 	TICODE_kUND,
    531 	TICODE_kspd,
    532 	TICODE_kund,
    533 	TICODE_kcuu1,
    534 	TICODE_rmkx,
    535 	TICODE_smkx,
    536 	TICODE_lf0,
    537 	TICODE_lf1,
    538 	TICODE_lf2,
    539 	TICODE_lf3,
    540 	TICODE_lf4,
    541 	TICODE_lf5,
    542 	TICODE_lf6,
    543 	TICODE_lf7,
    544 	TICODE_lf8,
    545 	TICODE_lf9,
    546 	TICODE_lf10,
    547 	TICODE_fln,
    548 	TICODE_rmln,
    549 	TICODE_smln,
    550 	TICODE_rmm,
    551 	TICODE_smm,
    552 	TICODE_mhpa,
    553 	TICODE_mcud1,
    554 	TICODE_mcub1,
    555 	TICODE_mcuf1,
    556 	TICODE_mvpa,
    557 	TICODE_mcuu1,
    558 	TICODE_minfo,
    559 	TICODE_nel,
    560 	TICODE_porder,
    561 	TICODE_oc,
    562 	TICODE_op,
    563 	TICODE_pad,
    564 	TICODE_dch,
    565 	TICODE_dl,
    566 	TICODE_cud,
    567 	TICODE_mcud,
    568 	TICODE_ich,
    569 	TICODE_indn,
    570 	TICODE_il,
    571 	TICODE_cub,
    572 	TICODE_mcub,
    573 	TICODE_cuf,
    574 	TICODE_mcuf,
    575 	TICODE_rin,
    576 	TICODE_cuu,
    577 	TICODE_mcuu,
    578 	TICODE_pctrm,
    579 	TICODE_pfkey,
    580 	TICODE_pfloc,
    581 	TICODE_pfxl,
    582 	TICODE_pfx,
    583 	TICODE_pln,
    584 	TICODE_mc0,
    585 	TICODE_mc5p,
    586 	TICODE_mc4,
    587 	TICODE_mc5,
    588 	TICODE_pulse,
    589 	TICODE_qdial,
    590 	TICODE_rmclk,
    591 	TICODE_rep,
    592 	TICODE_rfi,
    593 	TICODE_reqmp,
    594 	TICODE_rs1,
    595 	TICODE_rs2,
    596 	TICODE_rs3,
    597 	TICODE_rf,
    598 	TICODE_rc,
    599 	TICODE_vpa,
    600 	TICODE_sc,
    601 	TICODE_scesc,
    602 	TICODE_ind,
    603 	TICODE_ri,
    604 	TICODE_scs,
    605 	TICODE_s0ds,
    606 	TICODE_s1ds,
    607 	TICODE_s2ds,
    608 	TICODE_s3ds,
    609 	TICODE_sgr1,
    610 	TICODE_setab,
    611 	TICODE_setaf,
    612 	TICODE_sgr,
    613 	TICODE_setb,
    614 	TICODE_smgb,
    615 	TICODE_smgbp,
    616 	TICODE_sclk,
    617 	TICODE_setcolor,
    618 	TICODE_scp,
    619 	TICODE_setf,
    620 	TICODE_smgl,
    621 	TICODE_smglp,
    622 	TICODE_smglr,
    623 	TICODE_slines,
    624 	TICODE_slength,
    625 	TICODE_smgr,
    626 	TICODE_smgrp,
    627 	TICODE_hts,
    628 	TICODE_smgtb,
    629 	TICODE_smgt,
    630 	TICODE_smgtp,
    631 	TICODE_wind,
    632 	TICODE_sbim,
    633 	TICODE_scsd,
    634 	TICODE_rbim,
    635 	TICODE_rcsd,
    636 	TICODE_subcs,
    637 	TICODE_supcs,
    638 	TICODE_ht,
    639 	TICODE_docr,
    640 	TICODE_tsl,
    641 	TICODE_tone,
    642 	TICODE_u0,
    643 	TICODE_u1,
    644 	TICODE_u2,
    645 	TICODE_u3,
    646 	TICODE_u4,
    647 	TICODE_u5,
    648 	TICODE_u6,
    649 	TICODE_u7,
    650 	TICODE_u8,
    651 	TICODE_u9,
    652 	TICODE_uc,
    653 	TICODE_hu,
    654 	TICODE_wait,
    655 	TICODE_xoffc,
    656 	TICODE_xonc,
    657 	TICODE_zerom
    658 };
    659 #define TISTRMAX			TICODE_zerom
    660 
    661 #define t_acs_chars(t)			(t)->strs[TICODE_acsc]
    662 #define t_alt_scancode_esc(t)		(t)->strs[TICODE_scesa]
    663 #define t_back_tab(t)			(t)->strs[TICODE_cbt]
    664 #define t_bell(t)			(t)->strs[TICODE_bel]
    665 #define t_bit_image_carriage_return(t)	(t)->strs[TICODE_bicr]
    666 #define t_bit_image_newline(t)		(t)->strs[TICODE_binel]
    667 #define t_bit_image_repeat(t)		(t)->strs[TICODE_birep]
    668 #define t_carriage_return(t)		(t)->strs[TICODE_cr]
    669 #define t_change_char_pitch(t)		(t)->strs[TICODE_cpi]
    670 #define t_change_line_pitch(t)		(t)->strs[TICODE_lpi]
    671 #define t_change_res_horz(t)		(t)->strs[TICODE_chr]
    672 #define t_change_res_vert(t)		(t)->strs[TICODE_cvr]
    673 #define t_change_scroll_region(t)	(t)->strs[TICODE_csr]
    674 #define t_char_padding(t)		(t)->strs[TICODE_rmp]
    675 #define t_char_set_names(t)		(t)->strs[TICODE_csnm]
    676 #define t_clear_all_tabs(t)		(t)->strs[TICODE_tbc]
    677 #define t_clear_margins(t)		(t)->strs[TICODE_mgc]
    678 #define t_clear_screen(t)		(t)->strs[TICODE_clear]
    679 #define t_clr_bol(t)			(t)->strs[TICODE_el1]
    680 #define t_clr_eol(t)			(t)->strs[TICODE_el]
    681 #define t_clr_eos(t)			(t)->strs[TICODE_ed]
    682 #define t_code_set_init(t)		(t)->strs[TICODE_csin]
    683 #define t_color_names(t)		(t)->strs[TICODE_colornm]
    684 #define t_column_address(t)		(t)->strs[TICODE_hpa]
    685 #define t_command_character(t)		(t)->strs[TICODE_cmdch]
    686 #define t_create_window(t)		(t)->strs[TICODE_cwin]
    687 #define t_cursor_address(t)		(t)->strs[TICODE_cup]
    688 #define t_cursor_down(t)		(t)->strs[TICODE_cud1]
    689 #define t_cursor_home(t)		(t)->strs[TICODE_home]
    690 #define t_cursor_invisible(t)		(t)->strs[TICODE_civis]
    691 #define t_cursor_left(t)		(t)->strs[TICODE_cub1]
    692 #define t_cursor_mem_address(t)		(t)->strs[TICODE_mrcup]
    693 #define t_cursor_normal(t)		(t)->strs[TICODE_cnorm]
    694 #define t_cursor_right(t)		(t)->strs[TICODE_cuf1]
    695 #define t_cursor_to_ll(t)		(t)->strs[TICODE_ll]
    696 #define t_cursor_up(t)			(t)->strs[TICODE_cuu1]
    697 #define t_cursor_visible(t)		(t)->strs[TICODE_cvvis]
    698 #define t_define_bit_image_region(t)	(t)->strs[TICODE_defbi]
    699 #define t_define_char(t)		(t)->strs[TICODE_defc]
    700 #define t_delete_character(t)		(t)->strs[TICODE_dch1]
    701 #define t_delete_line(t)		(t)->strs[TICODE_dl1]
    702 #define t_device_type(t)		(t)->strs[TICODE_devt]
    703 #define t_dial_phone(t)			(t)->strs[TICODE_dial]
    704 #define t_dis_status_line(t)		(t)->strs[TICODE_dsl]
    705 #define t_display_clock(t)		(t)->strs[TICODE_dclk]
    706 #define t_display_pc_char(t)		(t)->strs[TICODE_dispc]
    707 #define t_down_half_time(t)		(t)->strs[TICODE_hd]
    708 #define t_ena_acs(t)			(t)->strs[TICODE_enacs]
    709 #define t_end_bit_image_region(t)	(t)->strs[TICODE_endbi]
    710 #define t_enter_alt_charset_mode(t)	(t)->strs[TICODE_smacs]
    711 #define t_enter_am_mode(t)		(t)->strs[TICODE_smam]
    712 #define t_enter_blink_mode(t)		(t)->strs[TICODE_blink]
    713 #define t_enter_bold_mode(t)		(t)->strs[TICODE_bold]
    714 #define t_enter_ca_mode(t)		(t)->strs[TICODE_smcup]
    715 #define t_enter_delete_mode(t)		(t)->strs[TICODE_smdc]
    716 #define t_enter_dim_mode(t)		(t)->strs[TICODE_dim]
    717 #define t_enter_doublewide_mode(t)	(t)->strs[TICODE_swidm]
    718 #define t_enter_draft_quality(t)	(t)->strs[TICODE_sdrfq]
    719 #define t_enter_horizontal_hl_mode(t)	(t)->strs[TICODE_ehhlm]
    720 #define t_enter_insert_mode(t)		(t)->strs[TICODE_smir]
    721 #define t_enter_italics_mode(t)		(t)->strs[TICODE_sitm]
    722 #define t_enter_left_hl_mode(t)		(t)->strs[TICODE_elhlm]
    723 #define t_enter_leftward_mode(t)	(t)->strs[TICODE_slm]
    724 #define t_enter_low_hl_mode(t)		(t)->strs[TICODE_elohlm]
    725 #define t_enter_micro_mode(t)		(t)->strs[TICODE_smicm]
    726 #define t_enter_near_quality_letter(t)	(t)->strs[TICODE_snlq]
    727 #define t_enter_normal_quality(t)	(t)->strs[TICODE_snrmq]
    728 #define t_enter_pc_charset_mode(t)	(t)->strs[TICODE_smpch]
    729 #define t_enter_protected_mode(t)	(t)->strs[TICODE_prot]
    730 #define t_enter_reverse_mode(t)		(t)->strs[TICODE_rev]
    731 #define t_enter_right_hl_mode(t)	(t)->strs[TICODE_erhlm]
    732 #define t_enter_scancode_mode(t)	(t)->strs[TICODE_smsc]
    733 #define t_enter_secure_mode(t)		(t)->strs[TICODE_invis]
    734 #define t_enter_shadow_mode(t)		(t)->strs[TICODE_sshm]
    735 #define t_enter_standout_mode(t)	(t)->strs[TICODE_smso]
    736 #define t_enter_subscript_mode(t)	(t)->strs[TICODE_ssubm]
    737 #define t_enter_superscript_mode(t)	(t)->strs[TICODE_ssupm]
    738 #define t_enter_top_hl_mode(t)		(t)->strs[TICODE_ethlm]
    739 #define t_enter_underline_mode(t)	(t)->strs[TICODE_smul]
    740 #define t_enter_upward_mode(t)		(t)->strs[TICODE_sum]
    741 #define t_enter_vertical_hl_mode(t)	(t)->strs[TICODE_evhlm]
    742 #define t_enter_xon_mode(t)		(t)->strs[TICODE_smxon]
    743 #define t_erase_chars(t)		(t)->strs[TICODE_ech]
    744 #define t_exit_alt_charset_mode(t)	(t)->strs[TICODE_rmacs]
    745 #define t_exit_am_mode(t)		(t)->strs[TICODE_rmam]
    746 #define t_exit_attribute_mode(t)	(t)->strs[TICODE_sgr0]
    747 #define t_exit_ca_mode(t)		(t)->strs[TICODE_rmcup]
    748 #define t_exit_delete_mode(t)		(t)->strs[TICODE_rmdc]
    749 #define t_exit_doublewide_mode(t)	(t)->strs[TICODE_rwidm]
    750 #define t_exit_insert_mode(t)		(t)->strs[TICODE_rmir]
    751 #define t_exit_italics_mode(t)		(t)->strs[TICODE_ritm]
    752 #define t_exit_leftward_mode(t)		(t)->strs[TICODE_rlm]
    753 #define t_exit_micro_mode(t)		(t)->strs[TICODE_rmicm]
    754 #define t_exit_pc_charset_mode(t)	(t)->strs[TICODE_rmpch]
    755 #define t_exit_scancode_mode(t)		(t)->strs[TICODE_rmsc]
    756 #define t_exit_shadow_mode(t)		(t)->strs[TICODE_rshm]
    757 #define t_exit_standout_mode(t)		(t)->strs[TICODE_rmso]
    758 #define t_exit_subscript_mode(t)	(t)->strs[TICODE_rsubm]
    759 #define t_exit_superscript_mode(t)	(t)->strs[TICODE_rsupm]
    760 #define t_exit_underline_mode(t)	(t)->strs[TICODE_rmul]
    761 #define t_exit_upward_mode(t)		(t)->strs[TICODE_rum]
    762 #define t_exit_xon_mode(t)		(t)->strs[TICODE_rmxon]
    763 #define t_fixed_pause(t)		(t)->strs[TICODE_pause]
    764 #define t_flash_hook(t)			(t)->strs[TICODE_hook]
    765 #define t_flash_screen(t)		(t)->strs[TICODE_flash]
    766 #define t_form_feed(t)			(t)->strs[TICODE_ff]
    767 #define t_from_status_line(t)		(t)->strs[TICODE_fsl]
    768 #define t_get_mouse(t)			(t)->strs[TICODE_getm]
    769 #define t_goto_window(t)		(t)->strs[TICODE_wingo]
    770 #define t_hangup(t)			(t)->strs[TICODE_hup]
    771 #define t_init_1string(t)		(t)->strs[TICODE_is1]
    772 #define t_init_2string(t)		(t)->strs[TICODE_is2]
    773 #define t_init_3string(t)		(t)->strs[TICODE_is3]
    774 #define t_init_file(t)			(t)->strs[TICODE_if]
    775 #define t_init_prog(t)			(t)->strs[TICODE_iprog]
    776 #define t_initialize_color(t)		(t)->strs[TICODE_initc]
    777 #define t_initialize_pair(t)		(t)->strs[TICODE_initp]
    778 #define t_insert_character(t)		(t)->strs[TICODE_ich1]
    779 #define t_insert_line(t)		(t)->strs[TICODE_il1]
    780 #define t_insert_padding(t)		(t)->strs[TICODE_ip]
    781 #define t_key_a1(t)			(t)->strs[TICODE_ka1]
    782 #define t_key_a3(t)			(t)->strs[TICODE_ka3]
    783 #define t_key_b2(t)			(t)->strs[TICODE_kb2]
    784 #define t_key_backspace(t)		(t)->strs[TICODE_kbs]
    785 #define t_key_beg(t)			(t)->strs[TICODE_kbeg]
    786 #define t_key_btab(t)			(t)->strs[TICODE_kcbt]
    787 #define t_key_c1(t)			(t)->strs[TICODE_kc1]
    788 #define t_key_c3(t)			(t)->strs[TICODE_kc3]
    789 #define t_key_cancel(t)			(t)->strs[TICODE_kcan]
    790 #define t_key_catab(t)			(t)->strs[TICODE_ktbc]
    791 #define t_key_clear(t)			(t)->strs[TICODE_kclr]
    792 #define t_key_close(t)			(t)->strs[TICODE_kclo]
    793 #define t_key_command(t)		(t)->strs[TICODE_kcmd]
    794 #define t_key_copy(t)			(t)->strs[TICODE_kcpy]
    795 #define t_key_create(t)			(t)->strs[TICODE_kcrt]
    796 #define t_key_ctab(t)			(t)->strs[TICODE_kctab]
    797 #define t_key_dc(t)			(t)->strs[TICODE_kdch1]
    798 #define t_key_dl(t)			(t)->strs[TICODE_kdl1]
    799 #define t_key_down(t)			(t)->strs[TICODE_kcud1]
    800 #define t_key_eic(t)			(t)->strs[TICODE_krmir]
    801 #define t_key_end(t)			(t)->strs[TICODE_kend]
    802 #define t_key_enter(t)			(t)->strs[TICODE_kent]
    803 #define t_key_eol(t)			(t)->strs[TICODE_kel]
    804 #define t_key_eos(t)			(t)->strs[TICODE_ked]
    805 #define t_key_exit(t)			(t)->strs[TICODE_kext]
    806 #define t_key_f0(t)			(t)->strs[TICODE_kf0]
    807 #define t_key_f1(t)			(t)->strs[TICODE_kf1]
    808 #define t_key_f2(t)			(t)->strs[TICODE_kf2]
    809 #define t_key_f3(t)			(t)->strs[TICODE_kf3]
    810 #define t_key_f4(t)			(t)->strs[TICODE_kf4]
    811 #define t_key_f5(t)			(t)->strs[TICODE_kf5]
    812 #define t_key_f6(t)			(t)->strs[TICODE_kf6]
    813 #define t_key_f7(t)			(t)->strs[TICODE_kf7]
    814 #define t_key_f8(t)			(t)->strs[TICODE_kf8]
    815 #define t_key_f9(t)			(t)->strs[TICODE_kf9]
    816 #define t_key_f10(t)			(t)->strs[TICODE_kf10]
    817 #define t_key_f11(t)			(t)->strs[TICODE_kf11]
    818 #define t_key_f12(t)			(t)->strs[TICODE_kf12]
    819 #define t_key_f13(t)			(t)->strs[TICODE_kf13]
    820 #define t_key_f14(t)			(t)->strs[TICODE_kf14]
    821 #define t_key_f15(t)			(t)->strs[TICODE_kf15]
    822 #define t_key_f16(t)			(t)->strs[TICODE_kf16]
    823 #define t_key_f17(t)			(t)->strs[TICODE_kf17]
    824 #define t_key_f18(t)			(t)->strs[TICODE_kf18]
    825 #define t_key_f19(t)			(t)->strs[TICODE_kf19]
    826 #define t_key_f20(t)			(t)->strs[TICODE_kf20]
    827 #define t_key_f21(t)			(t)->strs[TICODE_kf21]
    828 #define t_key_f22(t)			(t)->strs[TICODE_kf22]
    829 #define t_key_f23(t)			(t)->strs[TICODE_kf23]
    830 #define t_key_f24(t)			(t)->strs[TICODE_kf24]
    831 #define t_key_f25(t)			(t)->strs[TICODE_kf25]
    832 #define t_key_f26(t)			(t)->strs[TICODE_kf26]
    833 #define t_key_f27(t)			(t)->strs[TICODE_kf27]
    834 #define t_key_f28(t)			(t)->strs[TICODE_kf28]
    835 #define t_key_f29(t)			(t)->strs[TICODE_kf29]
    836 #define t_key_f30(t)			(t)->strs[TICODE_kf30]
    837 #define t_key_f31(t)			(t)->strs[TICODE_kf31]
    838 #define t_key_f32(t)			(t)->strs[TICODE_kf32]
    839 #define t_key_f33(t)			(t)->strs[TICODE_kf33]
    840 #define t_key_f34(t)			(t)->strs[TICODE_kf34]
    841 #define t_key_f35(t)			(t)->strs[TICODE_kf35]
    842 #define t_key_f36(t)			(t)->strs[TICODE_kf36]
    843 #define t_key_f37(t)			(t)->strs[TICODE_kf37]
    844 #define t_key_f38(t)			(t)->strs[TICODE_kf38]
    845 #define t_key_f39(t)			(t)->strs[TICODE_kf39]
    846 #define t_key_f40(t)			(t)->strs[TICODE_kf40]
    847 #define t_key_f41(t)			(t)->strs[TICODE_kf41]
    848 #define t_key_f42(t)			(t)->strs[TICODE_kf42]
    849 #define t_key_f43(t)			(t)->strs[TICODE_kf43]
    850 #define t_key_f44(t)			(t)->strs[TICODE_kf44]
    851 #define t_key_f45(t)			(t)->strs[TICODE_kf45]
    852 #define t_key_f46(t)			(t)->strs[TICODE_kf46]
    853 #define t_key_f47(t)			(t)->strs[TICODE_kf47]
    854 #define t_key_f48(t)			(t)->strs[TICODE_kf48]
    855 #define t_key_f49(t)			(t)->strs[TICODE_kf49]
    856 #define t_key_f50(t)			(t)->strs[TICODE_kf50]
    857 #define t_key_f51(t)			(t)->strs[TICODE_kf51]
    858 #define t_key_f52(t)			(t)->strs[TICODE_kf52]
    859 #define t_key_f53(t)			(t)->strs[TICODE_kf53]
    860 #define t_key_f54(t)			(t)->strs[TICODE_kf54]
    861 #define t_key_f55(t)			(t)->strs[TICODE_kf55]
    862 #define t_key_f56(t)			(t)->strs[TICODE_kf56]
    863 #define t_key_f57(t)			(t)->strs[TICODE_kf57]
    864 #define t_key_f58(t)			(t)->strs[TICODE_kf58]
    865 #define t_key_f59(t)			(t)->strs[TICODE_kf59]
    866 #define t_key_f60(t)			(t)->strs[TICODE_kf60]
    867 #define t_key_f61(t)			(t)->strs[TICODE_kf61]
    868 #define t_key_f62(t)			(t)->strs[TICODE_kf62]
    869 #define t_key_f63(t)			(t)->strs[TICODE_kf63]
    870 #define t_key_find(t)			(t)->strs[TICODE_kfnd]
    871 #define t_key_help(t)			(t)->strs[TICODE_khlp]
    872 #define t_key_home(t)			(t)->strs[TICODE_khome]
    873 #define t_key_ic(t)			(t)->strs[TICODE_kich1]
    874 #define t_key_il(t)			(t)->strs[TICODE_kil1]
    875 #define t_key_left(t)			(t)->strs[TICODE_kcub1]
    876 #define t_key_ll(t)			(t)->strs[TICODE_kll]
    877 #define t_key_mark(t)			(t)->strs[TICODE_kmrk]
    878 #define t_key_message(t)		(t)->strs[TICODE_kmsg]
    879 #define t_key_mouse(t)			(t)->strs[TICODE_kmous]
    880 #define t_key_move(t)			(t)->strs[TICODE_kmov]
    881 #define t_key_next(t)			(t)->strs[TICODE_knxt]
    882 #define t_key_npage(t)			(t)->strs[TICODE_knp]
    883 #define t_key_open(t)			(t)->strs[TICODE_kopn]
    884 #define t_key_options(t)		(t)->strs[TICODE_kopt]
    885 #define t_key_ppage(t)			(t)->strs[TICODE_kpp]
    886 #define t_key_previous(t)		(t)->strs[TICODE_kprv]
    887 #define t_key_print(t)			(t)->strs[TICODE_kprt]
    888 #define t_key_redo(t)			(t)->strs[TICODE_krdo]
    889 #define t_key_reference(t)		(t)->strs[TICODE_kref]
    890 #define t_key_refresh(t)		(t)->strs[TICODE_krfr]
    891 #define t_key_replace(t)		(t)->strs[TICODE_krpl]
    892 #define t_key_restart(t)		(t)->strs[TICODE_krst]
    893 #define t_key_resume(t)			(t)->strs[TICODE_kres]
    894 #define t_key_right(t)			(t)->strs[TICODE_kcuf1]
    895 #define t_key_save(t)			(t)->strs[TICODE_ksav]
    896 #define t_key_sbeg(t)			(t)->strs[TICODE_kBEG]
    897 #define t_key_scancel(t)		(t)->strs[TICODE_kCAN]
    898 #define t_key_scommand(t)		(t)->strs[TICODE_kCMD]
    899 #define t_key_scopy(t)			(t)->strs[TICODE_kCPY]
    900 #define t_key_screate(t)		(t)->strs[TICODE_kCRT]
    901 #define t_key_sdc(t)			(t)->strs[TICODE_kDC]
    902 #define t_key_sdl(t)			(t)->strs[TICODE_kDL]
    903 #define t_key_select(t)			(t)->strs[TICODE_kslt]
    904 #define t_key_send(t)			(t)->strs[TICODE_kEND]
    905 #define t_key_seol(t)			(t)->strs[TICODE_kEOL]
    906 #define t_key_sexit(t)			(t)->strs[TICODE_kEXT]
    907 #define t_key_sf(t)			(t)->strs[TICODE_kind]
    908 #define t_key_sfind(t)			(t)->strs[TICODE_kFND]
    909 #define t_key_shelp(t)			(t)->strs[TICODE_kHLP]
    910 #define t_key_shome(t)			(t)->strs[TICODE_kHOM]
    911 #define t_key_sic(t)			(t)->strs[TICODE_kIC]
    912 #define t_key_sleft(t)			(t)->strs[TICODE_kLFT]
    913 #define t_key_smessage(t)		(t)->strs[TICODE_kMSG]
    914 #define t_key_smove(t)			(t)->strs[TICODE_kMOV]
    915 #define t_key_snext(t)			(t)->strs[TICODE_kNXT]
    916 #define t_key_soptions(t)		(t)->strs[TICODE_kOPT]
    917 #define t_key_sprevious(t)		(t)->strs[TICODE_kPRV]
    918 #define t_key_sprint(t)			(t)->strs[TICODE_kPRT]
    919 #define t_key_sr(t)			(t)->strs[TICODE_kri]
    920 #define t_key_sredo(t)			(t)->strs[TICODE_kRDO]
    921 #define t_key_sreplace(t)		(t)->strs[TICODE_kRPL]
    922 #define t_key_sright(t)			(t)->strs[TICODE_kRIT]
    923 #define t_key_srsume(t)			(t)->strs[TICODE_kRES]
    924 #define t_key_ssave(t)			(t)->strs[TICODE_kSAV]
    925 #define t_key_ssuspend(t)		(t)->strs[TICODE_kSPD]
    926 #define t_key_stab(t)			(t)->strs[TICODE_khts]
    927 #define t_key_sundo(t)			(t)->strs[TICODE_kUND]
    928 #define t_key_suspend(t)		(t)->strs[TICODE_kspd]
    929 #define t_key_undo(t)			(t)->strs[TICODE_kund]
    930 #define t_key_up(t)			(t)->strs[TICODE_kcuu1]
    931 #define t_keypad_local(t)		(t)->strs[TICODE_rmkx]
    932 #define t_keypad_xmit(t)		(t)->strs[TICODE_smkx]
    933 #define t_lab_f0(t)			(t)->strs[TICODE_lf0]
    934 #define t_lab_f1(t)			(t)->strs[TICODE_lf1]
    935 #define t_lab_f2(t)			(t)->strs[TICODE_lf2]
    936 #define t_lab_f3(t)			(t)->strs[TICODE_lf3]
    937 #define t_lab_f4(t)			(t)->strs[TICODE_lf4]
    938 #define t_lab_f5(t)			(t)->strs[TICODE_lf5]
    939 #define t_lab_f6(t)			(t)->strs[TICODE_lf6]
    940 #define t_lab_f7(t)			(t)->strs[TICODE_lf7]
    941 #define t_lab_f8(t)			(t)->strs[TICODE_lf8]
    942 #define t_lab_f9(t)			(t)->strs[TICODE_lf9]
    943 #define t_lab_f10(t)			(t)->strs[TICODE_lf10]
    944 #define t_label_format(t)		(t)->strs[TICODE_fln]
    945 #define t_label_off(t)			(t)->strs[TICODE_rmln]
    946 #define t_label_on(t)			(t)->strs[TICODE_smln]
    947 #define t_meta_off(t)			(t)->strs[TICODE_rmm]
    948 #define t_meta_on(t)			(t)->strs[TICODE_smm]
    949 #define t_micro_column_address(t)	(t)->strs[TICODE_mhpa]
    950 #define t_micro_down(t)			(t)->strs[TICODE_mcud1]
    951 #define t_micro_left(t)			(t)->strs[TICODE_mcub1]
    952 #define t_micro_right(t)		(t)->strs[TICODE_mcuf1]
    953 #define t_micro_row_address(t)		(t)->strs[TICODE_mvpa]
    954 #define t_micro_up(t)			(t)->strs[TICODE_mcuu1]
    955 #define t_mouse_info(t)			(t)->strs[TICODE_minfo]
    956 #define t_newline(t)			(t)->strs[TICODE_nel]
    957 #define t_order_of_pins(t)		(t)->strs[TICODE_porder]
    958 #define t_orig_colors(t)		(t)->strs[TICODE_oc]
    959 #define t_orig_pair(t)			(t)->strs[TICODE_op]
    960 #define t_pad_char(t)			(t)->strs[TICODE_pad]
    961 #define t_parm_dch(t)			(t)->strs[TICODE_dch]
    962 #define t_parm_delete_line(t)		(t)->strs[TICODE_dl]
    963 #define t_parm_down_cursor(t)		(t)->strs[TICODE_cud]
    964 #define t_parm_down_micro(t)		(t)->strs[TICODE_mcud]
    965 #define t_parm_ich(t)			(t)->strs[TICODE_ich]
    966 #define t_parm_index(t)			(t)->strs[TICODE_indn]
    967 #define t_parm_insert_line(t)		(t)->strs[TICODE_il]
    968 #define t_parm_left_cursor(t)		(t)->strs[TICODE_cub]
    969 #define t_parm_left_micro(t)		(t)->strs[TICODE_mcub]
    970 #define t_parm_right_cursor(t)		(t)->strs[TICODE_cuf]
    971 #define t_parm_right_micro(t)		(t)->strs[TICODE_mcuf]
    972 #define t_parm_rindex(t)		(t)->strs[TICODE_rin]
    973 #define t_parm_up_cursor(t)		(t)->strs[TICODE_cuu]
    974 #define t_parm_up_micro(t)		(t)->strs[TICODE_mcuu]
    975 #define t_pc_term_options(t)		(t)->strs[TICODE_pctrm]
    976 #define t_pkey_key(t)			(t)->strs[TICODE_pfkey]
    977 #define t_pkey_local(t)			(t)->strs[TICODE_pfloc]
    978 #define t_pkey_plab(t)			(t)->strs[TICODE_pfxl]
    979 #define t_pkey_xmit(t)			(t)->strs[TICODE_pfx]
    980 #define t_pkey_norm(t)			(t)->strs[TICODE_pln]
    981 #define t_print_screen(t)		(t)->strs[TICODE_mc0]
    982 #define t_ptr_non(t)			(t)->strs[TICODE_mc5p]
    983 #define t_ptr_off(t)			(t)->strs[TICODE_mc4]
    984 #define t_ptr_on(t)			(t)->strs[TICODE_mc5]
    985 #define t_pulse(t)			(t)->strs[TICODE_pulse]
    986 #define t_quick_dial(t)			(t)->strs[TICODE_qdial]
    987 #define t_remove_clock(t)		(t)->strs[TICODE_rmclk]
    988 #define t_repeat_char(t)		(t)->strs[TICODE_rep]
    989 #define t_req_for_input(t)		(t)->strs[TICODE_rfi]
    990 #define t_req_mouse_pos(t)		(t)->strs[TICODE_reqmp]
    991 #define t_reset_1string(t)		(t)->strs[TICODE_rs1]
    992 #define t_reset_2string(t)		(t)->strs[TICODE_rs2]
    993 #define t_reset_3string(t)		(t)->strs[TICODE_rs3]
    994 #define t_reset_file(t)			(t)->strs[TICODE_rf]
    995 #define t_restore_cursor(t)		(t)->strs[TICODE_rc]
    996 #define t_row_address(t)		(t)->strs[TICODE_vpa]
    997 #define t_save_cursor(t)		(t)->strs[TICODE_sc]
    998 #define t_scancode_escape(t)		(t)->strs[TICODE_scesc]
    999 #define t_scroll_forward(t)		(t)->strs[TICODE_ind]
   1000 #define t_scroll_reverse(t)		(t)->strs[TICODE_ri]
   1001 #define t_select_char_set(t)		(t)->strs[TICODE_scs]
   1002 #define t_set0_des_seq(t)		(t)->strs[TICODE_s0ds]
   1003 #define t_set1_des_seq(t)		(t)->strs[TICODE_s1ds]
   1004 #define t_set2_des_seq(t)		(t)->strs[TICODE_s2ds]
   1005 #define t_set3_des_seq(t)		(t)->strs[TICODE_s3ds]
   1006 #define t_set_a_attributes(t)		(t)->strs[TICODE_sgr1]
   1007 #define t_set_a_background(t)		(t)->strs[TICODE_setab]
   1008 #define t_set_a_foreground(t)		(t)->strs[TICODE_setaf]
   1009 #define t_set_attributes(t)		(t)->strs[TICODE_sgr]
   1010 #define t_set_background(t)		(t)->strs[TICODE_setb]
   1011 #define t_set_bottom_margin(t)		(t)->strs[TICODE_smgb]
   1012 #define t_set_bottom_margin_parm(t)	(t)->strs[TICODE_smgbp]
   1013 #define t_set_clock(t)			(t)->strs[TICODE_sclk]
   1014 #define t_set_color_band(t)		(t)->strs[TICODE_setcolor]
   1015 #define t_set_color_paid(t)		(t)->strs[TICODE_scp]
   1016 #define t_set_foreground(t)		(t)->strs[TICODE_setf]
   1017 #define t_set_left_margin(t)		(t)->strs[TICODE_smgl]
   1018 #define t_set_left_margin_parm(t)	(t)->strs[TICODE_smglp]
   1019 #define t_set_lr_margin(t)		(t)->strs[TICODE_smglr]
   1020 #define t_set_page_length(t)		(t)->strs[TICODE_slines]
   1021 #define t_set_pglen_inch(t)		(t)->strs[TICODE_slength]
   1022 #define t_set_right_margin(t)		(t)->strs[TICODE_smgr]
   1023 #define t_set_right_margin_parm(t)	(t)->strs[TICODE_smgrp]
   1024 #define t_set_tab(t)			(t)->strs[TICODE_hts]
   1025 #define t_set_tb_margin(t)		(t)->strs[TICODE_smgtb]
   1026 #define t_set_top_margin(t)		(t)->strs[TICODE_smgt]
   1027 #define t_set_top_margin_parm(t)	(t)->strs[TICODE_smgtp]
   1028 #define t_set_window(t)			(t)->strs[TICODE_wind]
   1029 #define t_start_bit_image(t)		(t)->strs[TICODE_sbim]
   1030 #define t_start_char_set_def(t)		(t)->strs[TICODE_scsd]
   1031 #define t_stop_bit_image(t)		(t)->strs[TICODE_rbim]
   1032 #define t_stop_char_set_def(t)		(t)->strs[TICODE_rcsd]
   1033 #define t_subscript_characters(t)	(t)->strs[TICODE_subcs]
   1034 #define t_superscript_characters(t)	(t)->strs[TICODE_supcs]
   1035 #define t_tab(t)			(t)->strs[TICODE_ht]
   1036 #define t_these_cause_cr(t)		(t)->strs[TICODE_docr]
   1037 #define t_to_status_line(t)		(t)->strs[TICODE_tsl]
   1038 #define t_tone(t)			(t)->strs[TICODE_tone]
   1039 #define t_user0(t)			(t)->strs[TICODE_u0]
   1040 #define t_user1(t)			(t)->strs[TICODE_u1]
   1041 #define t_user2(t)			(t)->strs[TICODE_u2]
   1042 #define t_user3(t)			(t)->strs[TICODE_u3]
   1043 #define t_user4(t)			(t)->strs[TICODE_u4]
   1044 #define t_user5(t)			(t)->strs[TICODE_u5]
   1045 #define t_user6(t)			(t)->strs[TICODE_u6]
   1046 #define t_user7(t)			(t)->strs[TICODE_u7]
   1047 #define t_user8(t)			(t)->strs[TICODE_u8]
   1048 #define t_user9(t)			(t)->strs[TICODE_u9]
   1049 #define t_underline_char(t)		(t)->strs[TICODE_uc]
   1050 #define t_up_half_line(t)		(t)->strs[TICODE_hu]
   1051 #define t_wait_tone(t)			(t)->strs[TICODE_wait]
   1052 #define t_xoff_character(t)		(t)->strs[TICODE_xoffc]
   1053 #define t_xon_character(t)		(t)->strs[TICODE_xonc]
   1054 #define t_zero_motion(t)		(t)->strs[TICODE_zerom]
   1055 
   1056 #define acs_chars			 t_acs_chars(cur_term)
   1057 #define alt_scancode_esc		 t_alt_scancode_esc(cur_term)
   1058 #define back_tab			 t_back_tab(cur_term)
   1059 #define bell				 t_bell(cur_term)
   1060 #define bit_image_carriage_return	 t_bit_image_carriage_return(cur_term)
   1061 #define bit_image_newline		 t_bit_image_newline(cur_term)
   1062 #define bit_image_repeat		 t_bit_image_repeat(cur_term)
   1063 #define carriage_return			 t_carriage_return(cur_term)
   1064 #define change_char_pitch		 t_change_char_pitch(cur_term)
   1065 #define change_line_pitch		 t_change_line_pitch(cur_term)
   1066 #define change_res_horz			 t_change_res_horz(cur_term)
   1067 #define change_res_vert			 t_change_res_vert(cur_term)
   1068 #define change_scroll_region		 t_change_scroll_region(cur_term)
   1069 #define char_padding			 t_char_padding(cur_term)
   1070 #define char_set_names			 t_char_set_names(cur_term)
   1071 #define clear_all_tabs			 t_clear_all_tabs(cur_term)
   1072 #define clear_margins			 t_clear_margins(cur_term)
   1073 #define clear_screen			 t_clear_screen(cur_term)
   1074 #define clr_bol				 t_clr_bol(cur_term)
   1075 #define clr_eol				 t_clr_eol(cur_term)
   1076 #define clr_eos				 t_clr_eos(cur_term)
   1077 #define code_set_init			 t_code_set_init(cur_term)
   1078 #define color_names			 t_color_names(cur_term)
   1079 #define column_address			 t_column_address(cur_term)
   1080 #define command_character		 t_command_character(cur_term)
   1081 #define create_window			 t_create_window(cur_term)
   1082 #define cursor_address			 t_cursor_address(cur_term)
   1083 #define cursor_down			 t_cursor_down(cur_term)
   1084 #define cursor_home			 t_cursor_home(cur_term)
   1085 #define cursor_invisible		 t_cursor_invisible(cur_term)
   1086 #define cursor_left			 t_cursor_left(cur_term)
   1087 #define cursor_mem_address		 t_cursor_mem_address(cur_term)
   1088 #define cursor_normal			 t_cursor_normal(cur_term)
   1089 #define cursor_right			 t_cursor_right(cur_term)
   1090 #define cursor_to_ll			 t_cursor_to_ll(cur_term)
   1091 #define cursor_up			 t_cursor_up(cur_term)
   1092 #define cursor_visible			 t_cursor_visible(cur_term)
   1093 #define define_bit_image_region		 t_define_bit_image_region(cur_term)
   1094 #define define_char			 t_define_char(cur_term)
   1095 #define delete_character		 t_delete_character(cur_term)
   1096 #define delete_line			 t_delete_line(cur_term)
   1097 #define device_type			 t_device_type(cur_term)
   1098 #define dial_phone			 t_dial_phone(cur_term)
   1099 #define dis_status_line			 t_dis_status_line(cur_term)
   1100 #define display_clock			 t_display_clock(cur_term)
   1101 #define display_pc_char			 t_display_pc_char(cur_term)
   1102 #define down_half_time			 t_down_half_time(cur_term)
   1103 #define ena_acs				 t_ena_acs(cur_term)
   1104 #define end_bit_image_region		 t_end_bit_image_region(cur_term)
   1105 #define enter_alt_charset_mode		 t_enter_alt_charset_mode(cur_term)
   1106 #define enter_am_mode			 t_enter_am_mode(cur_term)
   1107 #define enter_blink_mode		 t_enter_blink_mode(cur_term)
   1108 #define enter_bold_mode			 t_enter_bold_mode(cur_term)
   1109 #define enter_ca_mode			 t_enter_ca_mode(cur_term)
   1110 #define enter_delete_mode		 t_enter_delete_mode(cur_term)
   1111 #define enter_dim_mode			 t_enter_dim_mode(cur_term)
   1112 #define enter_doublewide_mode		 t_enter_doublewide_mode(cur_term)
   1113 #define enter_draft_quality		 t_enter_draft_quality(cur_term)
   1114 #define enter_horizontal_hl_mode	 t_enter_horizontal_hl_mode(cur_term)
   1115 #define enter_insert_mode		 t_enter_insert_mode(cur_term)
   1116 #define enter_italics_mode		 t_enter_italics_mode(cur_term)
   1117 #define enter_left_hl_mode		 t_enter_left_hl_mode(cur_term)
   1118 #define enter_leftward_mode		 t_enter_leftward_mode(cur_term)
   1119 #define enter_low_hl_mode		 t_enter_low_hl_mode(cur_term)
   1120 #define enter_micro_mode		 t_enter_micro_mode(cur_term)
   1121 #define enter_near_quality_letter	 t_enter_near_quality_letter(cur_term)
   1122 #define enter_normal_quality		 t_enter_normal_quality(cur_term)
   1123 #define enter_pc_charset_mode		 t_enter_pc_charset_mode(cur_term)
   1124 #define enter_protected_mode		 t_enter_protected_mode(cur_term)
   1125 #define enter_reverse_mode		 t_enter_reverse_mode(cur_term)
   1126 #define enter_right_hl_mode		 t_enter_right_hl_mode(cur_term)
   1127 #define enter_scancode_mode		 t_enter_scancode_mode(cur_term)
   1128 #define enter_secure_mode		 t_enter_secure_mode(cur_term)
   1129 #define enter_shadow_mode		 t_enter_shadow_mode(cur_term)
   1130 #define enter_standout_mode		 t_enter_standout_mode(cur_term)
   1131 #define enter_subscript_mode		 t_enter_subscript_mode(cur_term)
   1132 #define enter_superscript_mode		 t_enter_superscript_mode(cur_term)
   1133 #define enter_top_hl_mode		 t_enter_top_hl_mode(cur_term)
   1134 #define enter_underline_mode		 t_enter_underline_mode(cur_term)
   1135 #define enter_upward_mode		 t_enter_upward_mode(cur_term)
   1136 #define enter_vertical_hl_mode		 t_enter_vertical_hl_mode(cur_term)
   1137 #define enter_xon_mode			 t_enter_xon_mode(cur_term)
   1138 #define erase_chars			 t_erase_chars(cur_term)
   1139 #define exit_alt_charset_mode		 t_exit_alt_charset_mode(cur_term)
   1140 #define exit_am_mode			 t_exit_am_mode(cur_term)
   1141 #define exit_attribute_mode		 t_exit_attribute_mode(cur_term)
   1142 #define exit_ca_mode			 t_exit_ca_mode(cur_term)
   1143 #define exit_delete_mode		 t_exit_delete_mode(cur_term)
   1144 #define exit_doublewide_mode		 t_exit_doublewide_mode(cur_term)
   1145 #define exit_insert_mode		 t_exit_insert_mode(cur_term)
   1146 #define exit_italics_mode		 t_exit_italics_mode(cur_term)
   1147 #define exit_leftward_mode		 t_exit_leftward_mode(cur_term)
   1148 #define exit_micro_mode			 t_exit_micro_mode(cur_term)
   1149 #define exit_pc_charset_mode		 t_exit_pc_charset_mode(cur_term)
   1150 #define exit_scancode_mode		 t_exit_scancode_mode(cur_term)
   1151 #define exit_shadow_mode		 t_exit_shadow_mode(cur_term)
   1152 #define exit_standout_mode		 t_exit_standout_mode(cur_term)
   1153 #define exit_subscript_mode		 t_exit_subscript_mode(cur_term)
   1154 #define exit_superscript_mode		 t_exit_superscript_mode(cur_term)
   1155 #define exit_underline_mode		 t_exit_underline_mode(cur_term)
   1156 #define exit_upward_mode		 t_exit_upward_mode(cur_term)
   1157 #define exit_xon_mode			 t_exit_xon_mode(cur_term)
   1158 #define fixed_pause			 t_fixed_pause(cur_term)
   1159 #define flash_hook			 t_flash_hook(cur_term)
   1160 #define flash_screen			 t_flash_screen(cur_term)
   1161 #define form_feed			 t_form_feed(cur_term)
   1162 #define from_status_line		 t_from_status_line(cur_term)
   1163 #define get_mouse			 t_get_mouse(cur_term)
   1164 #define goto_window			 t_goto_window(cur_term)
   1165 #define hangup				 t_hangup(cur_term)
   1166 #define init_1string			 t_init_1string(cur_term)
   1167 #define init_2string			 t_init_2string(cur_term)
   1168 #define init_3string			 t_init_3string(cur_term)
   1169 #define init_file			 t_init_file(cur_term)
   1170 #define init_prog			 t_init_prog(cur_term)
   1171 #define initialize_color		 t_initialize_color(cur_term)
   1172 #define initialize_pair			 t_initialize_pair(cur_term)
   1173 #define insert_character		 t_insert_character(cur_term)
   1174 #define insert_line			 t_insert_line(cur_term)
   1175 #define insert_padding			 t_insert_padding(cur_term)
   1176 #define key_a1				 t_key_a1(cur_term)
   1177 #define key_a3				 t_key_a3(cur_term)
   1178 #define key_b2				 t_key_b2(cur_term)
   1179 #define key_backspace			 t_key_backspace(cur_term)
   1180 #define key_beg				 t_key_beg(cur_term)
   1181 #define key_btab			 t_key_btab(cur_term)
   1182 #define key_c1				 t_key_c1(cur_term)
   1183 #define key_c3				 t_key_c3(cur_term)
   1184 #define key_cancel			 t_key_cancel(cur_term)
   1185 #define key_catab			 t_key_catab(cur_term)
   1186 #define key_clear			 t_key_clear(cur_term)
   1187 #define key_close			 t_key_close(cur_term)
   1188 #define key_command			 t_key_command(cur_term)
   1189 #define key_copy			 t_key_copy(cur_term)
   1190 #define key_create			 t_key_create(cur_term)
   1191 #define key_ctab			 t_key_ctab(cur_term)
   1192 #define key_dc				 t_key_dc(cur_term)
   1193 #define key_dl				 t_key_dl(cur_term)
   1194 #define key_down			 t_key_down(cur_term)
   1195 #define key_eic				 t_key_eic(cur_term)
   1196 #define key_end				 t_key_end(cur_term)
   1197 #define key_enter			 t_key_enter(cur_term)
   1198 #define key_eol				 t_key_eol(cur_term)
   1199 #define key_eos				 t_key_eos(cur_term)
   1200 #define key_exit			 t_key_exit(cur_term)
   1201 #define key_f0				 t_key_f0(cur_term)
   1202 #define key_f1				 t_key_f1(cur_term)
   1203 #define key_f2				 t_key_f2(cur_term)
   1204 #define key_f3				 t_key_f3(cur_term)
   1205 #define key_f4				 t_key_f4(cur_term)
   1206 #define key_f5				 t_key_f5(cur_term)
   1207 #define key_f6				 t_key_f6(cur_term)
   1208 #define key_f7				 t_key_f7(cur_term)
   1209 #define key_f8				 t_key_f8(cur_term)
   1210 #define key_f9				 t_key_f9(cur_term)
   1211 #define key_f10				 t_key_f10(cur_term)
   1212 #define key_f11				 t_key_f11(cur_term)
   1213 #define key_f12				 t_key_f12(cur_term)
   1214 #define key_f13				 t_key_f13(cur_term)
   1215 #define key_f14				 t_key_f14(cur_term)
   1216 #define key_f15				 t_key_f15(cur_term)
   1217 #define key_f16				 t_key_f16(cur_term)
   1218 #define key_f17				 t_key_f17(cur_term)
   1219 #define key_f18				 t_key_f18(cur_term)
   1220 #define key_f19				 t_key_f19(cur_term)
   1221 #define key_f20				 t_key_f20(cur_term)
   1222 #define key_f21				 t_key_f21(cur_term)
   1223 #define key_f22				 t_key_f22(cur_term)
   1224 #define key_f23				 t_key_f23(cur_term)
   1225 #define key_f24				 t_key_f24(cur_term)
   1226 #define key_f25				 t_key_f25(cur_term)
   1227 #define key_f26				 t_key_f26(cur_term)
   1228 #define key_f27				 t_key_f27(cur_term)
   1229 #define key_f28				 t_key_f28(cur_term)
   1230 #define key_f29				 t_key_f29(cur_term)
   1231 #define key_f30				 t_key_f30(cur_term)
   1232 #define key_f31				 t_key_f31(cur_term)
   1233 #define key_f32				 t_key_f32(cur_term)
   1234 #define key_f33				 t_key_f33(cur_term)
   1235 #define key_f34				 t_key_f34(cur_term)
   1236 #define key_f35				 t_key_f35(cur_term)
   1237 #define key_f36				 t_key_f36(cur_term)
   1238 #define key_f37				 t_key_f37(cur_term)
   1239 #define key_f38				 t_key_f38(cur_term)
   1240 #define key_f39				 t_key_f39(cur_term)
   1241 #define key_f40				 t_key_f40(cur_term)
   1242 #define key_f41				 t_key_f41(cur_term)
   1243 #define key_f42				 t_key_f42(cur_term)
   1244 #define key_f43				 t_key_f43(cur_term)
   1245 #define key_f44				 t_key_f44(cur_term)
   1246 #define key_f45				 t_key_f45(cur_term)
   1247 #define key_f46				 t_key_f46(cur_term)
   1248 #define key_f47				 t_key_f47(cur_term)
   1249 #define key_f48				 t_key_f48(cur_term)
   1250 #define key_f49				 t_key_f49(cur_term)
   1251 #define key_f50				 t_key_f50(cur_term)
   1252 #define key_f51				 t_key_f51(cur_term)
   1253 #define key_f52				 t_key_f52(cur_term)
   1254 #define key_f53				 t_key_f53(cur_term)
   1255 #define key_f54				 t_key_f54(cur_term)
   1256 #define key_f55				 t_key_f55(cur_term)
   1257 #define key_f56				 t_key_f56(cur_term)
   1258 #define key_f57				 t_key_f57(cur_term)
   1259 #define key_f58				 t_key_f58(cur_term)
   1260 #define key_f59				 t_key_f59(cur_term)
   1261 #define key_f60				 t_key_f60(cur_term)
   1262 #define key_f61				 t_key_f61(cur_term)
   1263 #define key_f62				 t_key_f62(cur_term)
   1264 #define key_f63				 t_key_f63(cur_term)
   1265 #define key_find			 t_key_find(cur_term)
   1266 #define key_help			 t_key_help(cur_term)
   1267 #define key_home			 t_key_home(cur_term)
   1268 #define key_ic				 t_key_ic(cur_term)
   1269 #define key_il				 t_key_il(cur_term)
   1270 #define key_left			 t_key_left(cur_term)
   1271 #define key_ll				 t_key_ll(cur_term)
   1272 #define key_mark			 t_key_mark(cur_term)
   1273 #define key_message			 t_key_message(cur_term)
   1274 #define key_mouse			 t_key_mouse(cur_term)
   1275 #define key_move			 t_key_move(cur_term)
   1276 #define key_next			 t_key_next(cur_term)
   1277 #define key_npage			 t_key_npage(cur_term)
   1278 #define key_open			 t_key_open(cur_term)
   1279 #define key_options			 t_key_options(cur_term)
   1280 #define key_ppage			 t_key_ppage(cur_term)
   1281 #define key_previous			 t_key_previous(cur_term)
   1282 #define key_print			 t_key_print(cur_term)
   1283 #define key_redo			 t_key_redo(cur_term)
   1284 #define key_reference			 t_key_reference(cur_term)
   1285 #define key_refresh			 t_key_refresh(cur_term)
   1286 #define key_replace			 t_key_replace(cur_term)
   1287 #define key_restart			 t_key_restart(cur_term)
   1288 #define key_resume			 t_key_resume(cur_term)
   1289 #define key_right			 t_key_right(cur_term)
   1290 #define key_save			 t_key_save(cur_term)
   1291 #define key_sbeg			 t_key_sbeg(cur_term)
   1292 #define key_scancel			 t_key_scancel(cur_term)
   1293 #define key_scommand			 t_key_scommand(cur_term)
   1294 #define key_scopy			 t_key_scopy(cur_term)
   1295 #define key_screate			 t_key_screate(cur_term)
   1296 #define key_sdc				 t_key_sdc(cur_term)
   1297 #define key_sdl				 t_key_sdl(cur_term)
   1298 #define key_select			 t_key_select(cur_term)
   1299 #define key_send			 t_key_send(cur_term)
   1300 #define key_seol			 t_key_seol(cur_term)
   1301 #define key_sexit			 t_key_sexit(cur_term)
   1302 #define key_sf				 t_key_sf(cur_term)
   1303 #define key_sfind			 t_key_sfind(cur_term)
   1304 #define key_shelp			 t_key_shelp(cur_term)
   1305 #define key_shome			 t_key_shome(cur_term)
   1306 #define key_sic				 t_key_sic(cur_term)
   1307 #define key_sleft			 t_key_sleft(cur_term)
   1308 #define key_smessage			 t_key_smessage(cur_term)
   1309 #define key_smove			 t_key_smove(cur_term)
   1310 #define key_snext			 t_key_snext(cur_term)
   1311 #define key_soptions			 t_key_soptions(cur_term)
   1312 #define key_sprevious			 t_key_sprevious(cur_term)
   1313 #define key_sprint			 t_key_sprint(cur_term)
   1314 #define key_sr				 t_key_sr(cur_term)
   1315 #define key_sredo			 t_key_sredo(cur_term)
   1316 #define key_sreplace			 t_key_sreplace(cur_term)
   1317 #define key_sright			 t_key_sright(cur_term)
   1318 #define key_srsume			 t_key_srsume(cur_term)
   1319 #define key_ssave			 t_key_ssave(cur_term)
   1320 #define key_ssuspend			 t_key_ssuspend(cur_term)
   1321 #define key_stab			 t_key_stab(cur_term)
   1322 #define key_sundo			 t_key_sundo(cur_term)
   1323 #define key_suspend			 t_key_suspend(cur_term)
   1324 #define key_undo			 t_key_undo(cur_term)
   1325 #define key_up				 t_key_up(cur_term)
   1326 #define keypad_local			 t_keypad_local(cur_term)
   1327 #define keypad_xmit			 t_keypad_xmit(cur_term)
   1328 #define lab_f0				 t_lab_f0(cur_term)
   1329 #define lab_f1				 t_lab_f1(cur_term)
   1330 #define lab_f2				 t_lab_f2(cur_term)
   1331 #define lab_f3				 t_lab_f3(cur_term)
   1332 #define lab_f4				 t_lab_f4(cur_term)
   1333 #define lab_f5				 t_lab_f5(cur_term)
   1334 #define lab_f6				 t_lab_f6(cur_term)
   1335 #define lab_f7				 t_lab_f7(cur_term)
   1336 #define lab_f8				 t_lab_f8(cur_term)
   1337 #define lab_f9				 t_lab_f9(cur_term)
   1338 #define lab_f10				 t_lab_f10(cur_term)
   1339 #define label_format			 t_label_format(cur_term)
   1340 #define label_off			 t_label_off(cur_term)
   1341 #define label_on			 t_label_on(cur_term)
   1342 #define meta_off			 t_meta_off(cur_term)
   1343 #define meta_on				 t_meta_on(cur_term)
   1344 #define micro_column_address		 t_micro_column_address(cur_term)
   1345 #define micro_down			 t_micro_down(cur_term)
   1346 #define micro_left			 t_micro_left(cur_term)
   1347 #define micro_right			 t_micro_right(cur_term)
   1348 #define micro_row_address		 t_micro_row_address(cur_term)
   1349 #define micro_up			 t_micro_up(cur_term)
   1350 #define mouse_info			 t_mouse_info(cur_term)
   1351 #define newline				 t_newline(cur_term)
   1352 #define order_of_pins			 t_order_of_pins(cur_term)
   1353 #define orig_colors			 t_orig_colors(cur_term)
   1354 #define orig_pair			 t_orig_pair(cur_term)
   1355 #define pad_char			 t_pad_char(cur_term)
   1356 #define parm_dch			 t_parm_dch(cur_term)
   1357 #define parm_delete_line		 t_parm_delete_line(cur_term)
   1358 #define parm_down_cursor		 t_parm_down_cursor(cur_term)
   1359 #define parm_down_micro			 t_parm_down_micro(cur_term)
   1360 #define parm_ich			 t_parm_ich(cur_term)
   1361 #define parm_index			 t_parm_index(cur_term)
   1362 #define parm_insert_line		 t_parm_insert_line(cur_term)
   1363 #define parm_left_cursor		 t_parm_left_cursor(cur_term)
   1364 #define parm_left_micro			 t_parm_left_micro(cur_term)
   1365 #define parm_right_cursor		 t_parm_right_cursor(cur_term)
   1366 #define parm_right_micro		 t_parm_right_micro(cur_term)
   1367 #define parm_rindex			 t_parm_rindex(cur_term)
   1368 #define parm_up_cursor			 t_parm_up_cursor(cur_term)
   1369 #define parm_up_micro			 t_parm_up_micro(cur_term)
   1370 #define pc_term_options			 t_pc_term_options(cur_term)
   1371 #define pkey_key			 t_pkey_key(cur_term)
   1372 #define pkey_local			 t_pkey_local(cur_term)
   1373 #define pkey_plab			 t_pkey_plab(cur_term)
   1374 #define pkey_xmit			 t_pkey_xmit(cur_term)
   1375 #define pkey_norm			 t_pkey_norm(cur_term)
   1376 #define print_screen			 t_print_screen(cur_term)
   1377 #define ptr_non				 t_ptr_non(cur_term)
   1378 #define ptr_off				 t_ptr_off(cur_term)
   1379 #define ptr_on				 t_ptr_on(cur_term)
   1380 #define pulse				 t_pulse(cur_term)
   1381 #define quick_dial			 t_quick_dial(cur_term)
   1382 #define remove_clock			 t_remove_clock(cur_term)
   1383 #define repeat_char			 t_repeat_char(cur_term)
   1384 #define req_for_input			 t_req_for_input(cur_term)
   1385 #define req_mouse_pos			 t_req_mouse_pos(cur_term)
   1386 #define reset_1string			 t_reset_1string(cur_term)
   1387 #define reset_2string			 t_reset_2string(cur_term)
   1388 #define reset_3string			 t_reset_3string(cur_term)
   1389 #define reset_file			 t_reset_file(cur_term)
   1390 #define restore_cursor			 t_restore_cursor(cur_term)
   1391 #define row_address			 t_row_address(cur_term)
   1392 #define save_cursor			 t_save_cursor(cur_term)
   1393 #define scancode_escape			 t_scancode_escape(cur_term)
   1394 #define scroll_forward			 t_scroll_forward(cur_term)
   1395 #define scroll_reverse			 t_scroll_reverse(cur_term)
   1396 #define select_char_set			 t_select_char_set(cur_term)
   1397 #define set0_des_seq			 t_set0_des_seq(cur_term)
   1398 #define set1_des_seq			 t_set1_des_seq(cur_term)
   1399 #define set2_des_seq			 t_set2_des_seq(cur_term)
   1400 #define set3_des_seq			 t_set3_des_seq(cur_term)
   1401 #define set_a_attributes		 t_set_a_attributes(cur_term)
   1402 #define set_a_background		 t_set_a_background(cur_term)
   1403 #define set_a_foreground		 t_set_a_foreground(cur_term)
   1404 #define set_attributes			 t_set_attributes(cur_term)
   1405 #define set_background			 t_set_background(cur_term)
   1406 #define set_bottom_margin		 t_set_bottom_margin(cur_term)
   1407 #define set_bottom_margin_parm		 t_set_bottom_margin_parm(cur_term)
   1408 #define set_clock			 t_set_clock(cur_term)
   1409 #define set_color_band			 t_set_color_band(cur_term)
   1410 #define set_color_paid			 t_set_color_paid(cur_term)
   1411 #define set_foreground			 t_set_foreground(cur_term)
   1412 #define set_left_margin			 t_set_left_margin(cur_term)
   1413 #define set_left_margin_parm		 t_set_left_margin_parm(cur_term)
   1414 #define set_lr_margin			 t_set_lr_margin(cur_term)
   1415 #define set_page_length			 t_set_page_length(cur_term)
   1416 #define set_pglen_inch			 t_set_pglen_inch(cur_term)
   1417 #define set_right_margin		 t_set_right_margin(cur_term)
   1418 #define set_right_margin_parm		 t_set_right_margin_parm(cur_term)
   1419 #define set_tab				 t_set_tab(cur_term)
   1420 #define set_tb_margin			 t_set_tb_margin(cur_term)
   1421 #define set_top_margin			 t_set_top_margin(cur_term)
   1422 #define set_top_margin_parm		 t_set_top_margin_parm(cur_term)
   1423 #define set_window			 t_set_window(cur_term)
   1424 #define start_bit_image			 t_start_bit_image(cur_term)
   1425 #define start_char_set_def		 t_start_char_set_def(cur_term)
   1426 #define stop_bit_image			 t_stop_bit_image(cur_term)
   1427 #define stop_char_set_def		 t_stop_char_set_def(cur_term)
   1428 #define subscript_characters		 t_subscript_characters(cur_term)
   1429 #define superscript_characters		 t_superscript_characters(cur_term)
   1430 #define tab				 t_tab(cur_term)
   1431 #define these_cause_cr			 t_these_cause_cr(cur_term)
   1432 #define to_status_line			 t_to_status_line(cur_term)
   1433 #define tone				 t_tone(cur_term)
   1434 #define user0				 t_user0(cur_term)
   1435 #define user1				 t_user1(cur_term)
   1436 #define user2				 t_user2(cur_term)
   1437 #define user3				 t_user3(cur_term)
   1438 #define user4				 t_user4(cur_term)
   1439 #define user5				 t_user5(cur_term)
   1440 #define user6				 t_user6(cur_term)
   1441 #define user7				 t_user7(cur_term)
   1442 #define user8				 t_user8(cur_term)
   1443 #define user9				 t_user9(cur_term)
   1444 #define underline_char			 t_underline_char(cur_term)
   1445 #define up_half_line			 t_up_half_line(cur_term)
   1446 #define wait_tone			 t_wait_tone(cur_term)
   1447 #define xoff_character			 t_xoff_character(cur_term)
   1448 #define xon_character			 t_xon_character(cur_term)
   1449 #define zero_motion			 t_zero_motion(cur_term)
   1450 
   1451 #ifndef _TERMINFO
   1452 typedef struct {
   1453 	int fildes;
   1454 	/* We need to expose these so that the macros work */
   1455 	const char *name;
   1456 	const char *desc;
   1457 	const signed char *flags;
   1458 	const short *nums;
   1459 	const char **strs;
   1460 } TERMINAL;
   1461 #endif
   1462 
   1463 __BEGIN_DECLS
   1464 
   1465 extern TERMINAL *cur_term;
   1466 #ifndef _TERMCAP_H
   1467 extern short ospeed;
   1468 extern char PC;
   1469 #endif
   1470 
   1471 /* setup functions */
   1472 int		setupterm(const char *, int, int *);
   1473 TERMINAL *	set_curterm(TERMINAL *);
   1474 int		del_curterm(TERMINAL *);
   1475 
   1476 /* information functions */
   1477 int		tigetflag(const char *);
   1478 int		tigetnum(const char *);
   1479 char *		tigetstr(const char *);
   1480 /* You should note that the spec allows stuffing a char * into a long
   1481  * if the platform allows and the %pN is followed immediately by %l or %s */
   1482 char *		tparm(const char *, long, long, long, long, long,
   1483 		long, long, long, long);
   1484 
   1485 #ifndef _TERMCAP_H
   1486 /* Output functions. */
   1487 int		putp(const char *);
   1488 int		tputs(const char *, int, int (*)(int));
   1489 #endif
   1490 
   1491 /* Non standard functions, but provide a level of thread safety */
   1492 int		ti_setupterm(TERMINAL **, const char *, int, int *);
   1493 int		ti_getflag(const TERMINAL *, const char *);
   1494 int		ti_getnum(const TERMINAL *, const char *);
   1495 const char *	ti_getstr(const TERMINAL *, const char *);
   1496 char *		t_parm(TERMINAL *, const char *,
   1497     long, long, long, long, long, long, long, long, long);
   1498 
   1499 /* These functions do not use PC or speed, but the terminal */
   1500 int		ti_puts(const TERMINAL *, const char *, int,
   1501     int (*)(int, void *), void *);
   1502 int		ti_putp(const TERMINAL *, const char *);
   1503 
   1504 /* Using tparm can be kunkly, so provide a variadic function */
   1505 char *		vtparm(const char *, ...);
   1506 /* And a thread safe version */
   1507 char *		t_vparm(TERMINAL *, const char *, ...);
   1508 
   1509 /* Default to X/Open tparm, but allow it to be variadic also */
   1510 #ifdef TPARM_VARARGS
   1511 #  define tparm	vtparm
   1512 #  define t_parm t_vtparm
   1513 #endif
   1514 
   1515 /* Convert a termcap string into a terminfo string.
   1516  * The passed string is destroyed and the return string needs to be freed. */
   1517 char *		captoinfo(char *);
   1518 
   1519 __END_DECLS
   1520 #endif
   1521