1 /* $NetBSD: term.h,v 1.6 2010/09/22 06:10:51 roy Exp $ */
4 * Copyright (c) 2009, 2010 The NetBSD Foundation, Inc.
6 * This code is derived from software contributed to The NetBSD Foundation
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions
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.
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.
34 #define ERR (-1) /* Error return */
35 #define OK (0) /* Success return */
38 /* Define available terminfo flags */
78 #define TIFLAGMAX TICODE_xon
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]
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)
156 /* Define available terminfo numbers */
192 #define TINUMMAX TICODE_wsl
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]
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)
262 /* Define available terminfo strings */
659 #define TISTRMAX TICODE_zerom
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]
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)
1454 /* We need to expose these so that the macros work */
1457 const signed char *flags
;
1465 extern TERMINAL
*cur_term
;
1467 extern short ospeed
;
1471 /* setup functions */
1472 int setupterm(const char *, int, int *);
1473 TERMINAL
* set_curterm(TERMINAL
*);
1474 int del_curterm(TERMINAL
*);
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);
1486 /* Output functions. */
1487 int putp(const char *);
1488 int tputs(const char *, int, int (*)(int));
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);
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 *);
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 *, ...);
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
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 *);