1 /* 2 * Copyright (c) 1998 by Sun Microsystems, Inc. 3 * All rights reserved. 4 */ 5 6 #ifndef _TERM_H 7 #define _TERM_H 8 9 #pragma ident "@(#)term.h %I% %E% SMI" 10 11 /* 12 * term.h 13 * 14 * XCurses Library 15 * 16 * **** THIS FILE IS MACHINE GENERATED. 17 * **** DO NOT EDIT THIS FILE. 18 * 19 * Copyright 1990, 1995 by Mortice Kern Systems Inc. All rights reserved. 20 * 21 * $Header$ 22 */ 23 24 25 #ifdef __cplusplus 26 extern "C" { 27 #endif 28 29 #define __TERM cur_term-> 30 #define auto_left_margin __TERM _bool[0] 31 #define auto_right_margin __TERM _bool[1] 32 #define no_esc_ctlc __TERM _bool[2] 33 #define ceol_standout_glitch __TERM _bool[3] 34 #define eat_newline_glitch __TERM _bool[4] 35 #define erase_overstrike __TERM _bool[5] 36 #define generic_type __TERM _bool[6] 37 #define hard_copy __TERM _bool[7] 38 #define has_meta_key __TERM _bool[8] 39 #define has_status_line __TERM _bool[9] 40 #define insert_null_glitch __TERM _bool[10] 41 #define memory_above __TERM _bool[11] 42 #define memory_below __TERM _bool[12] 43 #define move_insert_mode __TERM _bool[13] 44 #define move_standout_mode __TERM _bool[14] 45 #define over_strike __TERM _bool[15] 46 #define status_line_esc_ok __TERM _bool[16] 47 #define dest_tabs_magic_smso __TERM _bool[17] 48 #define tilde_glitch __TERM _bool[18] 49 #define transparent_underline __TERM _bool[19] 50 #define xon_xoff __TERM _bool[20] 51 #define needs_xon_xoff __TERM _bool[21] 52 #define prtr_silent __TERM _bool[22] 53 #define hard_cursor __TERM _bool[23] 54 #define non_rev_rmcup __TERM _bool[24] 55 #define no_pad_char __TERM _bool[25] 56 #define non_dest_scroll_region __TERM _bool[26] 57 #define can_change __TERM _bool[27] 58 #define back_color_erase __TERM _bool[28] 59 #define hue_lightness_saturation __TERM _bool[29] 60 #define col_addr_glitch __TERM _bool[30] 61 #define cr_cancels_micro_mode __TERM _bool[31] 62 #define has_print_wheel __TERM _bool[32] 63 #define row_addr_glitch __TERM _bool[33] 64 #define semi_auto_right_margin __TERM _bool[34] 65 #define cpi_changes_res __TERM _bool[35] 66 #define lpi_changes_res __TERM _bool[36] 67 #define columns __TERM _num[0] 68 #define init_tabs __TERM _num[1] 69 #define lines __TERM _num[2] 70 #define lines_of_memory __TERM _num[3] 71 #define magic_cookie_glitch __TERM _num[4] 72 #define padding_baud_rate __TERM _num[5] 73 #define virtual_terminal __TERM _num[6] 74 #define width_status_line __TERM _num[7] 75 #define num_labels __TERM _num[8] 76 #define label_height __TERM _num[9] 77 #define label_width __TERM _num[10] 78 #define max_attributes __TERM _num[11] 79 #define maximum_windows __TERM _num[12] 80 #define max_colors __TERM _num[13] 81 #define max_pairs __TERM _num[14] 82 #define no_color_video __TERM _num[15] 83 #define buffer_capacity __TERM _num[16] 84 #define dot_vert_spacing __TERM _num[17] 85 #define dot_horz_spacing __TERM _num[18] 86 #define max_micro_address __TERM _num[19] 87 #define max_micro_jump __TERM _num[20] 88 #define micro_col_size __TERM _num[21] 89 #define micro_line_size __TERM _num[22] 90 #define number_of_pins __TERM _num[23] 91 #define output_res_char __TERM _num[24] 92 #define output_res_line __TERM _num[25] 93 #define output_res_horz_inch __TERM _num[26] 94 #define output_res_vert_inch __TERM _num[27] 95 #define print_rate __TERM _num[28] 96 #define wide_char_size __TERM _num[29] 97 #define buttons __TERM _num[30] 98 #define bit_image_entwining __TERM _num[31] 99 #define bit_image_type __TERM _num[32] 100 #define back_tab __TERM _str[0] 101 #define bell __TERM _str[1] 102 #define carriage_return __TERM _str[2] 103 #define change_scroll_region __TERM _str[3] 104 #define clear_all_tabs __TERM _str[4] 105 #define clear_screen __TERM _str[5] 106 #define clr_eol __TERM _str[6] 107 #define clr_eos __TERM _str[7] 108 #define column_address __TERM _str[8] 109 #define command_character __TERM _str[9] 110 #define cursor_address __TERM _str[10] 111 #define cursor_down __TERM _str[11] 112 #define cursor_home __TERM _str[12] 113 #define cursor_invisible __TERM _str[13] 114 #define cursor_left __TERM _str[14] 115 #define cursor_mem_address __TERM _str[15] 116 #define cursor_normal __TERM _str[16] 117 #define cursor_right __TERM _str[17] 118 #define cursor_to_ll __TERM _str[18] 119 #define cursor_up __TERM _str[19] 120 #define cursor_visible __TERM _str[20] 121 #define delete_character __TERM _str[21] 122 #define delete_line __TERM _str[22] 123 #define dis_status_line __TERM _str[23] 124 #define down_half_line __TERM _str[24] 125 #define enter_alt_charset_mode __TERM _str[25] 126 #define enter_blink_mode __TERM _str[26] 127 #define enter_bold_mode __TERM _str[27] 128 #define enter_ca_mode __TERM _str[28] 129 #define enter_delete_mode __TERM _str[29] 130 #define enter_dim_mode __TERM _str[30] 131 #define enter_insert_mode __TERM _str[31] 132 #define enter_secure_mode __TERM _str[32] 133 #define enter_protected_mode __TERM _str[33] 134 #define enter_reverse_mode __TERM _str[34] 135 #define enter_standout_mode __TERM _str[35] 136 #define enter_underline_mode __TERM _str[36] 137 #define erase_chars __TERM _str[37] 138 #define exit_alt_charset_mode __TERM _str[38] 139 #define exit_attribute_mode __TERM _str[39] 140 #define exit_ca_mode __TERM _str[40] 141 #define exit_delete_mode __TERM _str[41] 142 #define exit_insert_mode __TERM _str[42] 143 #define exit_standout_mode __TERM _str[43] 144 #define exit_underline_mode __TERM _str[44] 145 #define flash_screen __TERM _str[45] 146 #define form_feed __TERM _str[46] 147 #define from_status_line __TERM _str[47] 148 #define init_1string __TERM _str[48] 149 #define init_2string __TERM _str[49] 150 #define init_3string __TERM _str[50] 151 #define init_file __TERM _str[51] 152 #define insert_character __TERM _str[52] 153 #define insert_line __TERM _str[53] 154 #define insert_padding __TERM _str[54] 155 #define key_backspace __TERM _str[55] 156 #define key_catab __TERM _str[56] 157 #define key_clear __TERM _str[57] 158 #define key_ctab __TERM _str[58] 159 #define key_dc __TERM _str[59] 160 #define key_dl __TERM _str[60] 161 #define key_down __TERM _str[61] 162 #define key_eic __TERM _str[62] 163 #define key_eol __TERM _str[63] 164 #define key_eos __TERM _str[64] 165 #define key_f0 __TERM _str[65] 166 #define key_f1 __TERM _str[66] 167 #define key_f10 __TERM _str[67] 168 #define key_f2 __TERM _str[68] 169 #define key_f3 __TERM _str[69] 170 #define key_f4 __TERM _str[70] 171 #define key_f5 __TERM _str[71] 172 #define key_f6 __TERM _str[72] 173 #define key_f7 __TERM _str[73] 174 #define key_f8 __TERM _str[74] 175 #define key_f9 __TERM _str[75] 176 #define key_home __TERM _str[76] 177 #define key_ic __TERM _str[77] 178 #define key_il __TERM _str[78] 179 #define key_left __TERM _str[79] 180 #define key_ll __TERM _str[80] 181 #define key_npage __TERM _str[81] 182 #define key_ppage __TERM _str[82] 183 #define key_right __TERM _str[83] 184 #define key_sf __TERM _str[84] 185 #define key_sr __TERM _str[85] 186 #define key_stab __TERM _str[86] 187 #define key_up __TERM _str[87] 188 #define keypad_local __TERM _str[88] 189 #define keypad_xmit __TERM _str[89] 190 #define lab_f0 __TERM _str[90] 191 #define lab_f1 __TERM _str[91] 192 #define lab_f10 __TERM _str[92] 193 #define lab_f2 __TERM _str[93] 194 #define lab_f3 __TERM _str[94] 195 #define lab_f4 __TERM _str[95] 196 #define lab_f5 __TERM _str[96] 197 #define lab_f6 __TERM _str[97] 198 #define lab_f7 __TERM _str[98] 199 #define lab_f8 __TERM _str[99] 200 #define lab_f9 __TERM _str[100] 201 #define meta_off __TERM _str[101] 202 #define meta_on __TERM _str[102] 203 #define newline __TERM _str[103] 204 #define pad_char __TERM _str[104] 205 #define parm_dch __TERM _str[105] 206 #define parm_delete_line __TERM _str[106] 207 #define parm_down_cursor __TERM _str[107] 208 #define parm_ich __TERM _str[108] 209 #define parm_index __TERM _str[109] 210 #define parm_insert_line __TERM _str[110] 211 #define parm_left_cursor __TERM _str[111] 212 #define parm_right_cursor __TERM _str[112] 213 #define parm_rindex __TERM _str[113] 214 #define parm_up_cursor __TERM _str[114] 215 #define pkey_key __TERM _str[115] 216 #define pkey_local __TERM _str[116] 217 #define pkey_xmit __TERM _str[117] 218 #define print_screen __TERM _str[118] 219 #define prtr_off __TERM _str[119] 220 #define prtr_on __TERM _str[120] 221 #define repeat_char __TERM _str[121] 222 #define reset_1string __TERM _str[122] 223 #define reset_2string __TERM _str[123] 224 #define reset_3string __TERM _str[124] 225 #define reset_file __TERM _str[125] 226 #define restore_cursor __TERM _str[126] 227 #define row_address __TERM _str[127] 228 #define save_cursor __TERM _str[128] 229 #define scroll_forward __TERM _str[129] 230 #define scroll_reverse __TERM _str[130] 231 #define set_attributes __TERM _str[131] 232 #define set_tab __TERM _str[132] 233 #define set_window __TERM _str[133] 234 #define tab __TERM _str[134] 235 #define to_status_line __TERM _str[135] 236 #define underline_char __TERM _str[136] 237 #define up_half_line __TERM _str[137] 238 #define init_prog __TERM _str[138] 239 #define key_a1 __TERM _str[139] 240 #define key_a3 __TERM _str[140] 241 #define key_b2 __TERM _str[141] 242 #define key_c1 __TERM _str[142] 243 #define key_c3 __TERM _str[143] 244 #define prtr_non __TERM _str[144] 245 #define char_padding __TERM _str[145] 246 #define acs_chars __TERM _str[146] 247 #define plab_norm __TERM _str[147] 248 #define key_btab __TERM _str[148] 249 #define enter_xon_mode __TERM _str[149] 250 #define exit_xon_mode __TERM _str[150] 251 #define enter_am_mode __TERM _str[151] 252 #define exit_am_mode __TERM _str[152] 253 #define xon_character __TERM _str[153] 254 #define xoff_character __TERM _str[154] 255 #define ena_acs __TERM _str[155] 256 #define label_on __TERM _str[156] 257 #define label_off __TERM _str[157] 258 #define key_beg __TERM _str[158] 259 #define key_cancel __TERM _str[159] 260 #define key_close __TERM _str[160] 261 #define key_command __TERM _str[161] 262 #define key_copy __TERM _str[162] 263 #define key_create __TERM _str[163] 264 #define key_end __TERM _str[164] 265 #define key_enter __TERM _str[165] 266 #define key_exit __TERM _str[166] 267 #define key_find __TERM _str[167] 268 #define key_help __TERM _str[168] 269 #define key_mark __TERM _str[169] 270 #define key_message __TERM _str[170] 271 #define key_move __TERM _str[171] 272 #define key_next __TERM _str[172] 273 #define key_open __TERM _str[173] 274 #define key_options __TERM _str[174] 275 #define key_previous __TERM _str[175] 276 #define key_print __TERM _str[176] 277 #define key_redo __TERM _str[177] 278 #define key_reference __TERM _str[178] 279 #define key_refresh __TERM _str[179] 280 #define key_replace __TERM _str[180] 281 #define key_restart __TERM _str[181] 282 #define key_resume __TERM _str[182] 283 #define key_save __TERM _str[183] 284 #define key_suspend __TERM _str[184] 285 #define key_undo __TERM _str[185] 286 #define key_sbeg __TERM _str[186] 287 #define key_scancel __TERM _str[187] 288 #define key_scommand __TERM _str[188] 289 #define key_scopy __TERM _str[189] 290 #define key_screate __TERM _str[190] 291 #define key_sdc __TERM _str[191] 292 #define key_sdl __TERM _str[192] 293 #define key_select __TERM _str[193] 294 #define key_send __TERM _str[194] 295 #define key_seol __TERM _str[195] 296 #define key_sexit __TERM _str[196] 297 #define key_sfind __TERM _str[197] 298 #define key_shelp __TERM _str[198] 299 #define key_shome __TERM _str[199] 300 #define key_sic __TERM _str[200] 301 #define key_sleft __TERM _str[201] 302 #define key_smessage __TERM _str[202] 303 #define key_smove __TERM _str[203] 304 #define key_snext __TERM _str[204] 305 #define key_soptions __TERM _str[205] 306 #define key_sprevious __TERM _str[206] 307 #define key_sprint __TERM _str[207] 308 #define key_sredo __TERM _str[208] 309 #define key_sreplace __TERM _str[209] 310 #define key_sright __TERM _str[210] 311 #define key_srsume __TERM _str[211] 312 #define key_ssave __TERM _str[212] 313 #define key_ssuspend __TERM _str[213] 314 #define key_sundo __TERM _str[214] 315 #define req_for_input __TERM _str[215] 316 #define key_f11 __TERM _str[216] 317 #define key_f12 __TERM _str[217] 318 #define key_f13 __TERM _str[218] 319 #define key_f14 __TERM _str[219] 320 #define key_f15 __TERM _str[220] 321 #define key_f16 __TERM _str[221] 322 #define key_f17 __TERM _str[222] 323 #define key_f18 __TERM _str[223] 324 #define key_f19 __TERM _str[224] 325 #define key_f20 __TERM _str[225] 326 #define key_f21 __TERM _str[226] 327 #define key_f22 __TERM _str[227] 328 #define key_f23 __TERM _str[228] 329 #define key_f24 __TERM _str[229] 330 #define key_f25 __TERM _str[230] 331 #define key_f26 __TERM _str[231] 332 #define key_f27 __TERM _str[232] 333 #define key_f28 __TERM _str[233] 334 #define key_f29 __TERM _str[234] 335 #define key_f30 __TERM _str[235] 336 #define key_f31 __TERM _str[236] 337 #define key_f32 __TERM _str[237] 338 #define key_f33 __TERM _str[238] 339 #define key_f34 __TERM _str[239] 340 #define key_f35 __TERM _str[240] 341 #define key_f36 __TERM _str[241] 342 #define key_f37 __TERM _str[242] 343 #define key_f38 __TERM _str[243] 344 #define key_f39 __TERM _str[244] 345 #define key_f40 __TERM _str[245] 346 #define key_f41 __TERM _str[246] 347 #define key_f42 __TERM _str[247] 348 #define key_f43 __TERM _str[248] 349 #define key_f44 __TERM _str[249] 350 #define key_f45 __TERM _str[250] 351 #define key_f46 __TERM _str[251] 352 #define key_f47 __TERM _str[252] 353 #define key_f48 __TERM _str[253] 354 #define key_f49 __TERM _str[254] 355 #define key_f50 __TERM _str[255] 356 #define key_f51 __TERM _str[256] 357 #define key_f52 __TERM _str[257] 358 #define key_f53 __TERM _str[258] 359 #define key_f54 __TERM _str[259] 360 #define key_f55 __TERM _str[260] 361 #define key_f56 __TERM _str[261] 362 #define key_f57 __TERM _str[262] 363 #define key_f58 __TERM _str[263] 364 #define key_f59 __TERM _str[264] 365 #define key_f60 __TERM _str[265] 366 #define key_f61 __TERM _str[266] 367 #define key_f62 __TERM _str[267] 368 #define key_f63 __TERM _str[268] 369 #define clr_bol __TERM _str[269] 370 #define clear_margins __TERM _str[270] 371 #define set_left_margin __TERM _str[271] 372 #define set_right_margin __TERM _str[272] 373 #define label_format __TERM _str[273] 374 #define set_clock __TERM _str[274] 375 #define display_clock __TERM _str[275] 376 #define remove_clock __TERM _str[276] 377 #define create_window __TERM _str[277] 378 #define goto_window __TERM _str[278] 379 #define hangup __TERM _str[279] 380 #define dial_phone __TERM _str[280] 381 #define quick_dial __TERM _str[281] 382 #define tone __TERM _str[282] 383 #define pulse __TERM _str[283] 384 #define flash_hook __TERM _str[284] 385 #define fixed_pause __TERM _str[285] 386 #define wait_tone __TERM _str[286] 387 #define user0 __TERM _str[287] 388 #define user1 __TERM _str[288] 389 #define user2 __TERM _str[289] 390 #define user3 __TERM _str[290] 391 #define user4 __TERM _str[291] 392 #define user5 __TERM _str[292] 393 #define user6 __TERM _str[293] 394 #define user7 __TERM _str[294] 395 #define user8 __TERM _str[295] 396 #define user9 __TERM _str[296] 397 #define orig_pair __TERM _str[297] 398 #define orig_colors __TERM _str[298] 399 #define initialize_color __TERM _str[299] 400 #define initialize_pair __TERM _str[300] 401 #define set_color_pair __TERM _str[301] 402 #define set_foreground __TERM _str[302] 403 #define set_background __TERM _str[303] 404 #define change_char_pitch __TERM _str[304] 405 #define change_line_pitch __TERM _str[305] 406 #define change_res_horz __TERM _str[306] 407 #define change_res_vert __TERM _str[307] 408 #define define_char __TERM _str[308] 409 #define enter_doublewide_mode __TERM _str[309] 410 #define enter_draft_quality __TERM _str[310] 411 #define enter_italics_mode __TERM _str[311] 412 #define enter_leftward_mode __TERM _str[312] 413 #define enter_micro_mode __TERM _str[313] 414 #define enter_near_letter_quality __TERM _str[314] 415 #define enter_normal_quality __TERM _str[315] 416 #define enter_shadow_mode __TERM _str[316] 417 #define enter_subscript_mode __TERM _str[317] 418 #define enter_superscript_mode __TERM _str[318] 419 #define enter_upward_mode __TERM _str[319] 420 #define exit_doublewide_mode __TERM _str[320] 421 #define exit_italics_mode __TERM _str[321] 422 #define exit_leftward_mode __TERM _str[322] 423 #define exit_micro_mode __TERM _str[323] 424 #define exit_shadow_mode __TERM _str[324] 425 #define exit_subscript_mode __TERM _str[325] 426 #define exit_superscript_mode __TERM _str[326] 427 #define exit_upward_mode __TERM _str[327] 428 #define micro_column_address __TERM _str[328] 429 #define micro_down __TERM _str[329] 430 #define micro_left __TERM _str[330] 431 #define micro_right __TERM _str[331] 432 #define micro_row_address __TERM _str[332] 433 #define micro_up __TERM _str[333] 434 #define order_of_pins __TERM _str[334] 435 #define parm_down_micro __TERM _str[335] 436 #define parm_left_micro __TERM _str[336] 437 #define parm_right_micro __TERM _str[337] 438 #define parm_up_micro __TERM _str[338] 439 #define select_char_set __TERM _str[339] 440 #define set_bottom_margin __TERM _str[340] 441 #define set_bottom_margin_parm __TERM _str[341] 442 #define set_left_margin_parm __TERM _str[342] 443 #define set_right_margin_parm __TERM _str[343] 444 #define set_top_margin __TERM _str[344] 445 #define set_top_margin_parm __TERM _str[345] 446 #define start_bit_image __TERM _str[346] 447 #define start_char_set_def __TERM _str[347] 448 #define stop_bit_image __TERM _str[348] 449 #define stop_char_set_def __TERM _str[349] 450 #define subscript_characters __TERM _str[350] 451 #define superscript_characters __TERM _str[351] 452 #define these_cause_cr __TERM _str[352] 453 #define zero_motion __TERM _str[353] 454 #define char_set_names __TERM _str[354] 455 #define key_mouse __TERM _str[355] 456 #define mouse_info __TERM _str[356] 457 #define req_mouse_pos __TERM _str[357] 458 #define get_mouse __TERM _str[358] 459 #define set_a_foreground __TERM _str[359] 460 #define set_a_background __TERM _str[360] 461 #define pkey_plab __TERM _str[361] 462 #define device_type __TERM _str[362] 463 #define code_set_init __TERM _str[363] 464 #define set0_des_seq __TERM _str[364] 465 #define set1_des_seq __TERM _str[365] 466 #define set2_des_seq __TERM _str[366] 467 #define set3_des_seq __TERM _str[367] 468 #define set_lr_margin __TERM _str[368] 469 #define set_tb_margin __TERM _str[369] 470 #define bit_image_repeat __TERM _str[370] 471 #define bit_image_newline __TERM _str[371] 472 #define bit_image_carriage_return __TERM _str[372] 473 #define color_names __TERM _str[373] 474 #define define_bit_image_region __TERM _str[374] 475 #define end_bit_image_region __TERM _str[375] 476 #define set_color_band __TERM _str[376] 477 #define set_page_length __TERM _str[377] 478 #define display_pc_char __TERM _str[378] 479 #define enter_pc_charset_mode __TERM _str[379] 480 #define exit_pc_charset_mode __TERM _str[380] 481 #define enter_scancode_mode __TERM _str[381] 482 #define exit_scancode_mode __TERM _str[382] 483 #define pc_term_options __TERM _str[383] 484 #define scancode_escape __TERM _str[384] 485 #define alt_scancode_esc __TERM _str[385] 486 #define enter_horizontal_hl_mode __TERM _str[386] 487 #define enter_left_hl_mode __TERM _str[387] 488 #define enter_low_hl_mode __TERM _str[388] 489 #define enter_right_hl_mode __TERM _str[389] 490 #define enter_top_hl_mode __TERM _str[390] 491 #define enter_vertical_hl_mode __TERM _str[391] 492 #define set_a_attributes __TERM _str[392] 493 #define set_pglen_inch __TERM _str[393] 494 495 #define __COUNT_BOOL 37 496 #define __COUNT_NUM 33 497 #define __COUNT_STR 394 498 499 /* 500 * The following __MOVE_ constants are indices into the _move[] member 501 * of a SCREEN structure. The array is used by m_mvcur() for cursor 502 * motion costs and initialized by newterm(). 503 * 504 * The following indices refer to relative cursor motion actions that 505 * have a base-cost times the distance/count. 506 */ 507 #define __MOVE_UP 0 508 #define __MOVE_DOWN 1 509 #define __MOVE_LEFT 2 510 #define __MOVE_RIGHT 3 511 #define __MOVE_TAB 4 512 #define __MOVE_BACK_TAB 5 513 514 #define __MOVE_MAX_RELATIVE 6 515 516 /* 517 * These should have fixed costs. 518 */ 519 #define __MOVE_RETURN 6 520 #define __MOVE_HOME 7 521 #define __MOVE_LAST_LINE 8 522 523 /* 524 * These have worst case cost based on moving the maximum possible 525 * value for a parameter given the screen size. 526 */ 527 #define __MOVE_N_UP 9 528 #define __MOVE_N_DOWN 10 529 #define __MOVE_N_LEFT 11 530 #define __MOVE_N_RIGHT 12 531 #define __MOVE_ROW 13 532 #define __MOVE_COLUMN 14 533 #define __MOVE_ROW_COLUMN 15 534 535 #define __MOVE_MAX 16 536 537 /* 538 * For a cursor motion to be used there must be a base-cost of at least 1. 539 */ 540 #define __MOVE_INFINITY 1000 541 542 #define __TERM_ISATTY_IN 0x0001 /* Input is a terminal */ 543 #define __TERM_ISATTY_OUT 0x0002 /* Output is a terminal */ 544 #define __TERM_HALF_DELAY 0x0004 /* halfdelay() has priority. */ 545 #define __TERM_INSERT_MODE 0x0008 /* Terminal is in insert mode. */ 546 #define __TERM_NL_IS_CRLF 0x8000 /* Newline is mapped on output. */ 547 548 /* 549 * Opaque data type. Keep your grubby mits off. 550 */ 551 typedef struct { 552 int _ifd; /* Input file descriptor */ 553 int _ofd; /* Output file descriptor */ 554 void *_prog; 555 void *_shell; 556 void *_save; 557 void *_actual; /* What has actually been set in the terminal */ 558 short _co; /* Current color-pair. */ 559 unsigned short _at; /* Current attribute state. */ 560 short (*_pair)[2]; 561 short (*_color)[3]; 562 unsigned short _flags; 563 char _bool[__COUNT_BOOL]; 564 short _num[__COUNT_NUM]; 565 char *_str[__COUNT_STR]; /* Pointers into _str_table. */ 566 char *_str_table; 567 char *_names; /* Terminal alias in _str_table. */ 568 char *_term; /* TERM name loaded. */ 569 struct { 570 char *_seq; 571 short _cost; 572 } _move[__MOVE_MAX]; 573 } TERMINAL; 574 575 extern TERMINAL *cur_term; 576 577 #if !(defined(__cplusplus) && defined(_BOOL)) 578 #ifndef _BOOL_DEFINED 579 typedef short bool; 580 #define _BOOL_DEFINED 581 #endif 582 #endif 583 584 /* 585 * Globals 586 */ 587 extern int del_curterm(TERMINAL *); 588 extern int putp(const char *); 589 extern int restartterm(char *, int, int *); 590 extern TERMINAL *set_curterm(TERMINAL *); 591 extern int setupterm(char *, int, int *); 592 extern int tgetent(char *, const char *); 593 extern int tgetflag(char *); 594 extern int tgetnum(char *); 595 extern char *tgetstr(char *, char **); 596 extern char *tgoto(char *, int, int); 597 extern int tigetflag(char *); 598 extern int tigetnum(char *); 599 extern char *tigetstr(char *); 600 extern char *tparm( 601 char *, long, long, long, long, long, long, long, long, long); 602 extern int tputs(const char *, int, int (*)(int)); 603 604 #ifdef __cplusplus 605 } 606 #endif 607 608 #endif /* _TERM_H */ 609