logo

oasis-root

Compiled tree of Oasis Linux based on own branch at <https://hacktivis.me/git/oasis/> git clone https://anongit.hacktivis.me/git/oasis-root.git

term.h (77283B)


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