1doc::unibilium.h(3) unibilium doc::unibilium.h(3)
2
3
4
6 unibilium.h - ncurses terminfo parser and utility functions
7
9 #include <unibilium.h>
10
12 This library provides functions and types to access terminal
13 descriptions in the terminfo database (in the format used by ncurses).
14 It can parse compiled terminfo entries from memory or files, access and
15 modify their capabilities, and generate new terminfo entries.
16
17 Types
18 The following types are provided:
19
20 unibi_term
21 The main type. It represents a terminfo entry. Most functions take
22 a pointer to this structure.
23
24 unibi_var_t
25 A type that represents the values in format string operations,
26 which are either integers or strings. Its exact representation is
27 unspecified.
28
29 See unibi_var_from_num(3), unibi_var_from_str(3),
30 unibi_num_from_var(3), unibi_str_from_var(3) for how to use values
31 of this type.
32
33 However, it is guaranteed that zero-initializing a "unibi_var_t" is
34 equivalent to unibi_var_from_num(0).
35
36 enum unibi_boolean
37 An enumeration of boolean capabilities. It has the following
38 elements:
39
40 "unibi_auto_left_margin"
41 "unibi_auto_right_margin"
42 "unibi_no_esc_ctlc"
43 "unibi_ceol_standout_glitch"
44 "unibi_eat_newline_glitch"
45 "unibi_erase_overstrike"
46 "unibi_generic_type"
47 "unibi_hard_copy"
48 "unibi_has_meta_key"
49 "unibi_has_status_line"
50 "unibi_insert_null_glitch"
51 "unibi_memory_above"
52 "unibi_memory_below"
53 "unibi_move_insert_mode"
54 "unibi_move_standout_mode"
55 "unibi_over_strike"
56 "unibi_status_line_esc_ok"
57 "unibi_dest_tabs_magic_smso"
58 "unibi_tilde_glitch"
59 "unibi_transparent_underline"
60 "unibi_xon_xoff"
61 "unibi_needs_xon_xoff"
62 "unibi_prtr_silent"
63 "unibi_hard_cursor"
64 "unibi_non_rev_rmcup"
65 "unibi_no_pad_char"
66 "unibi_non_dest_scroll_region"
67 "unibi_can_change"
68 "unibi_back_color_erase"
69 "unibi_hue_lightness_saturation"
70 "unibi_col_addr_glitch"
71 "unibi_cr_cancels_micro_mode"
72 "unibi_has_print_wheel"
73 "unibi_row_addr_glitch"
74 "unibi_semi_auto_right_margin"
75 "unibi_cpi_changes_res"
76 "unibi_lpi_changes_res"
77 "unibi_backspaces_with_bs"
78 "unibi_crt_no_scrolling"
79 "unibi_no_correctly_working_cr"
80 "unibi_gnu_has_meta_key"
81 "unibi_linefeed_is_newline"
82 "unibi_has_hardware_tabs"
83 "unibi_return_does_clr_eol"
84
85 The special values "unibi_boolean_begin_" and "unibi_boolean_end_"
86 are provided to make it easier for programs to loop over all
87 boolean capabilities. All of the enum values listed above are
88 greater than "unibi_boolean_begin_" and less than
89 "unibi_boolean_end_".
90
91 enum unibi_numeric
92 An enumeration of numeric capabilities. It has the following
93 elements:
94
95 "unibi_columns"
96 "unibi_init_tabs"
97 "unibi_lines"
98 "unibi_lines_of_memory"
99 "unibi_magic_cookie_glitch"
100 "unibi_padding_baud_rate"
101 "unibi_virtual_terminal"
102 "unibi_width_status_line"
103 "unibi_num_labels"
104 "unibi_label_height"
105 "unibi_label_width"
106 "unibi_max_attributes"
107 "unibi_maximum_windows"
108 "unibi_max_colors"
109 "unibi_max_pairs"
110 "unibi_no_color_video"
111 "unibi_buffer_capacity"
112 "unibi_dot_vert_spacing"
113 "unibi_dot_horz_spacing"
114 "unibi_max_micro_address"
115 "unibi_max_micro_jump"
116 "unibi_micro_col_size"
117 "unibi_micro_line_size"
118 "unibi_number_of_pins"
119 "unibi_output_res_char"
120 "unibi_output_res_line"
121 "unibi_output_res_horz_inch"
122 "unibi_output_res_vert_inch"
123 "unibi_print_rate"
124 "unibi_wide_char_size"
125 "unibi_buttons"
126 "unibi_bit_image_entwining"
127 "unibi_bit_image_type"
128 "unibi_magic_cookie_glitch_ul"
129 "unibi_carriage_return_delay"
130 "unibi_new_line_delay"
131 "unibi_backspace_delay"
132 "unibi_horizontal_tab_delay"
133 "unibi_number_of_function_keys"
134
135 The special values "unibi_numeric_begin_" and "unibi_numeric_end_"
136 are provided to make it easier for programs to loop over all
137 numeric capabilities. All of the enum values listed above are
138 greater than "unibi_numeric_begin_" and less than
139 "unibi_numeric_end_".
140
141 enum unibi_string
142 An enumeration of string capabilities. It has the following
143 elements:
144
145 "unibi_back_tab"
146 "unibi_bell"
147 "unibi_carriage_return"
148 "unibi_change_scroll_region"
149 "unibi_clear_all_tabs"
150 "unibi_clear_screen"
151 "unibi_clr_eol"
152 "unibi_clr_eos"
153 "unibi_column_address"
154 "unibi_command_character"
155 "unibi_cursor_address"
156 "unibi_cursor_down"
157 "unibi_cursor_home"
158 "unibi_cursor_invisible"
159 "unibi_cursor_left"
160 "unibi_cursor_mem_address"
161 "unibi_cursor_normal"
162 "unibi_cursor_right"
163 "unibi_cursor_to_ll"
164 "unibi_cursor_up"
165 "unibi_cursor_visible"
166 "unibi_delete_character"
167 "unibi_delete_line"
168 "unibi_dis_status_line"
169 "unibi_down_half_line"
170 "unibi_enter_alt_charset_mode"
171 "unibi_enter_blink_mode"
172 "unibi_enter_bold_mode"
173 "unibi_enter_ca_mode"
174 "unibi_enter_delete_mode"
175 "unibi_enter_dim_mode"
176 "unibi_enter_insert_mode"
177 "unibi_enter_secure_mode"
178 "unibi_enter_protected_mode"
179 "unibi_enter_reverse_mode"
180 "unibi_enter_standout_mode"
181 "unibi_enter_underline_mode"
182 "unibi_erase_chars"
183 "unibi_exit_alt_charset_mode"
184 "unibi_exit_attribute_mode"
185 "unibi_exit_ca_mode"
186 "unibi_exit_delete_mode"
187 "unibi_exit_insert_mode"
188 "unibi_exit_standout_mode"
189 "unibi_exit_underline_mode"
190 "unibi_flash_screen"
191 "unibi_form_feed"
192 "unibi_from_status_line"
193 "unibi_init_1string"
194 "unibi_init_2string"
195 "unibi_init_3string"
196 "unibi_init_file"
197 "unibi_insert_character"
198 "unibi_insert_line"
199 "unibi_insert_padding"
200 "unibi_key_backspace"
201 "unibi_key_catab"
202 "unibi_key_clear"
203 "unibi_key_ctab"
204 "unibi_key_dc"
205 "unibi_key_dl"
206 "unibi_key_down"
207 "unibi_key_eic"
208 "unibi_key_eol"
209 "unibi_key_eos"
210 "unibi_key_f0"
211 "unibi_key_f1"
212 "unibi_key_f10"
213 "unibi_key_f2"
214 "unibi_key_f3"
215 "unibi_key_f4"
216 "unibi_key_f5"
217 "unibi_key_f6"
218 "unibi_key_f7"
219 "unibi_key_f8"
220 "unibi_key_f9"
221 "unibi_key_home"
222 "unibi_key_ic"
223 "unibi_key_il"
224 "unibi_key_left"
225 "unibi_key_ll"
226 "unibi_key_npage"
227 "unibi_key_ppage"
228 "unibi_key_right"
229 "unibi_key_sf"
230 "unibi_key_sr"
231 "unibi_key_stab"
232 "unibi_key_up"
233 "unibi_keypad_local"
234 "unibi_keypad_xmit"
235 "unibi_lab_f0"
236 "unibi_lab_f1"
237 "unibi_lab_f10"
238 "unibi_lab_f2"
239 "unibi_lab_f3"
240 "unibi_lab_f4"
241 "unibi_lab_f5"
242 "unibi_lab_f6"
243 "unibi_lab_f7"
244 "unibi_lab_f8"
245 "unibi_lab_f9"
246 "unibi_meta_off"
247 "unibi_meta_on"
248 "unibi_newline"
249 "unibi_pad_char"
250 "unibi_parm_dch"
251 "unibi_parm_delete_line"
252 "unibi_parm_down_cursor"
253 "unibi_parm_ich"
254 "unibi_parm_index"
255 "unibi_parm_insert_line"
256 "unibi_parm_left_cursor"
257 "unibi_parm_right_cursor"
258 "unibi_parm_rindex"
259 "unibi_parm_up_cursor"
260 "unibi_pkey_key"
261 "unibi_pkey_local"
262 "unibi_pkey_xmit"
263 "unibi_print_screen"
264 "unibi_prtr_off"
265 "unibi_prtr_on"
266 "unibi_repeat_char"
267 "unibi_reset_1string"
268 "unibi_reset_2string"
269 "unibi_reset_3string"
270 "unibi_reset_file"
271 "unibi_restore_cursor"
272 "unibi_row_address"
273 "unibi_save_cursor"
274 "unibi_scroll_forward"
275 "unibi_scroll_reverse"
276 "unibi_set_attributes"
277 "unibi_set_tab"
278 "unibi_set_window"
279 "unibi_tab"
280 "unibi_to_status_line"
281 "unibi_underline_char"
282 "unibi_up_half_line"
283 "unibi_init_prog"
284 "unibi_key_a1"
285 "unibi_key_a3"
286 "unibi_key_b2"
287 "unibi_key_c1"
288 "unibi_key_c3"
289 "unibi_prtr_non"
290 "unibi_char_padding"
291 "unibi_acs_chars"
292 "unibi_plab_norm"
293 "unibi_key_btab"
294 "unibi_enter_xon_mode"
295 "unibi_exit_xon_mode"
296 "unibi_enter_am_mode"
297 "unibi_exit_am_mode"
298 "unibi_xon_character"
299 "unibi_xoff_character"
300 "unibi_ena_acs"
301 "unibi_label_on"
302 "unibi_label_off"
303 "unibi_key_beg"
304 "unibi_key_cancel"
305 "unibi_key_close"
306 "unibi_key_command"
307 "unibi_key_copy"
308 "unibi_key_create"
309 "unibi_key_end"
310 "unibi_key_enter"
311 "unibi_key_exit"
312 "unibi_key_find"
313 "unibi_key_help"
314 "unibi_key_mark"
315 "unibi_key_message"
316 "unibi_key_move"
317 "unibi_key_next"
318 "unibi_key_open"
319 "unibi_key_options"
320 "unibi_key_previous"
321 "unibi_key_print"
322 "unibi_key_redo"
323 "unibi_key_reference"
324 "unibi_key_refresh"
325 "unibi_key_replace"
326 "unibi_key_restart"
327 "unibi_key_resume"
328 "unibi_key_save"
329 "unibi_key_suspend"
330 "unibi_key_undo"
331 "unibi_key_sbeg"
332 "unibi_key_scancel"
333 "unibi_key_scommand"
334 "unibi_key_scopy"
335 "unibi_key_screate"
336 "unibi_key_sdc"
337 "unibi_key_sdl"
338 "unibi_key_select"
339 "unibi_key_send"
340 "unibi_key_seol"
341 "unibi_key_sexit"
342 "unibi_key_sfind"
343 "unibi_key_shelp"
344 "unibi_key_shome"
345 "unibi_key_sic"
346 "unibi_key_sleft"
347 "unibi_key_smessage"
348 "unibi_key_smove"
349 "unibi_key_snext"
350 "unibi_key_soptions"
351 "unibi_key_sprevious"
352 "unibi_key_sprint"
353 "unibi_key_sredo"
354 "unibi_key_sreplace"
355 "unibi_key_sright"
356 "unibi_key_srsume"
357 "unibi_key_ssave"
358 "unibi_key_ssuspend"
359 "unibi_key_sundo"
360 "unibi_req_for_input"
361 "unibi_key_f11"
362 "unibi_key_f12"
363 "unibi_key_f13"
364 "unibi_key_f14"
365 "unibi_key_f15"
366 "unibi_key_f16"
367 "unibi_key_f17"
368 "unibi_key_f18"
369 "unibi_key_f19"
370 "unibi_key_f20"
371 "unibi_key_f21"
372 "unibi_key_f22"
373 "unibi_key_f23"
374 "unibi_key_f24"
375 "unibi_key_f25"
376 "unibi_key_f26"
377 "unibi_key_f27"
378 "unibi_key_f28"
379 "unibi_key_f29"
380 "unibi_key_f30"
381 "unibi_key_f31"
382 "unibi_key_f32"
383 "unibi_key_f33"
384 "unibi_key_f34"
385 "unibi_key_f35"
386 "unibi_key_f36"
387 "unibi_key_f37"
388 "unibi_key_f38"
389 "unibi_key_f39"
390 "unibi_key_f40"
391 "unibi_key_f41"
392 "unibi_key_f42"
393 "unibi_key_f43"
394 "unibi_key_f44"
395 "unibi_key_f45"
396 "unibi_key_f46"
397 "unibi_key_f47"
398 "unibi_key_f48"
399 "unibi_key_f49"
400 "unibi_key_f50"
401 "unibi_key_f51"
402 "unibi_key_f52"
403 "unibi_key_f53"
404 "unibi_key_f54"
405 "unibi_key_f55"
406 "unibi_key_f56"
407 "unibi_key_f57"
408 "unibi_key_f58"
409 "unibi_key_f59"
410 "unibi_key_f60"
411 "unibi_key_f61"
412 "unibi_key_f62"
413 "unibi_key_f63"
414 "unibi_clr_bol"
415 "unibi_clear_margins"
416 "unibi_set_left_margin"
417 "unibi_set_right_margin"
418 "unibi_label_format"
419 "unibi_set_clock"
420 "unibi_display_clock"
421 "unibi_remove_clock"
422 "unibi_create_window"
423 "unibi_goto_window"
424 "unibi_hangup"
425 "unibi_dial_phone"
426 "unibi_quick_dial"
427 "unibi_tone"
428 "unibi_pulse"
429 "unibi_flash_hook"
430 "unibi_fixed_pause"
431 "unibi_wait_tone"
432 "unibi_user0"
433 "unibi_user1"
434 "unibi_user2"
435 "unibi_user3"
436 "unibi_user4"
437 "unibi_user5"
438 "unibi_user6"
439 "unibi_user7"
440 "unibi_user8"
441 "unibi_user9"
442 "unibi_orig_pair"
443 "unibi_orig_colors"
444 "unibi_initialize_color"
445 "unibi_initialize_pair"
446 "unibi_set_color_pair"
447 "unibi_set_foreground"
448 "unibi_set_background"
449 "unibi_change_char_pitch"
450 "unibi_change_line_pitch"
451 "unibi_change_res_horz"
452 "unibi_change_res_vert"
453 "unibi_define_char"
454 "unibi_enter_doublewide_mode"
455 "unibi_enter_draft_quality"
456 "unibi_enter_italics_mode"
457 "unibi_enter_leftward_mode"
458 "unibi_enter_micro_mode"
459 "unibi_enter_near_letter_quality"
460 "unibi_enter_normal_quality"
461 "unibi_enter_shadow_mode"
462 "unibi_enter_subscript_mode"
463 "unibi_enter_superscript_mode"
464 "unibi_enter_upward_mode"
465 "unibi_exit_doublewide_mode"
466 "unibi_exit_italics_mode"
467 "unibi_exit_leftward_mode"
468 "unibi_exit_micro_mode"
469 "unibi_exit_shadow_mode"
470 "unibi_exit_subscript_mode"
471 "unibi_exit_superscript_mode"
472 "unibi_exit_upward_mode"
473 "unibi_micro_column_address"
474 "unibi_micro_down"
475 "unibi_micro_left"
476 "unibi_micro_right"
477 "unibi_micro_row_address"
478 "unibi_micro_up"
479 "unibi_order_of_pins"
480 "unibi_parm_down_micro"
481 "unibi_parm_left_micro"
482 "unibi_parm_right_micro"
483 "unibi_parm_up_micro"
484 "unibi_select_char_set"
485 "unibi_set_bottom_margin"
486 "unibi_set_bottom_margin_parm"
487 "unibi_set_left_margin_parm"
488 "unibi_set_right_margin_parm"
489 "unibi_set_top_margin"
490 "unibi_set_top_margin_parm"
491 "unibi_start_bit_image"
492 "unibi_start_char_set_def"
493 "unibi_stop_bit_image"
494 "unibi_stop_char_set_def"
495 "unibi_subscript_characters"
496 "unibi_superscript_characters"
497 "unibi_these_cause_cr"
498 "unibi_zero_motion"
499 "unibi_char_set_names"
500 "unibi_key_mouse"
501 "unibi_mouse_info"
502 "unibi_req_mouse_pos"
503 "unibi_get_mouse"
504 "unibi_set_a_foreground"
505 "unibi_set_a_background"
506 "unibi_pkey_plab"
507 "unibi_device_type"
508 "unibi_code_set_init"
509 "unibi_set0_des_seq"
510 "unibi_set1_des_seq"
511 "unibi_set2_des_seq"
512 "unibi_set3_des_seq"
513 "unibi_set_lr_margin"
514 "unibi_set_tb_margin"
515 "unibi_bit_image_repeat"
516 "unibi_bit_image_newline"
517 "unibi_bit_image_carriage_return"
518 "unibi_color_names"
519 "unibi_define_bit_image_region"
520 "unibi_end_bit_image_region"
521 "unibi_set_color_band"
522 "unibi_set_page_length"
523 "unibi_display_pc_char"
524 "unibi_enter_pc_charset_mode"
525 "unibi_exit_pc_charset_mode"
526 "unibi_enter_scancode_mode"
527 "unibi_exit_scancode_mode"
528 "unibi_pc_term_options"
529 "unibi_scancode_escape"
530 "unibi_alt_scancode_esc"
531 "unibi_enter_horizontal_hl_mode"
532 "unibi_enter_left_hl_mode"
533 "unibi_enter_low_hl_mode"
534 "unibi_enter_right_hl_mode"
535 "unibi_enter_top_hl_mode"
536 "unibi_enter_vertical_hl_mode"
537 "unibi_set_a_attributes"
538 "unibi_set_pglen_inch"
539 "unibi_termcap_init2"
540 "unibi_termcap_reset"
541 "unibi_linefeed_if_not_lf"
542 "unibi_backspace_if_not_bs"
543 "unibi_other_non_function_keys"
544 "unibi_arrow_key_map"
545 "unibi_acs_ulcorner"
546 "unibi_acs_llcorner"
547 "unibi_acs_urcorner"
548 "unibi_acs_lrcorner"
549 "unibi_acs_ltee"
550 "unibi_acs_rtee"
551 "unibi_acs_btee"
552 "unibi_acs_ttee"
553 "unibi_acs_hline"
554 "unibi_acs_vline"
555 "unibi_acs_plus"
556 "unibi_memory_lock"
557 "unibi_memory_unlock"
558 "unibi_box_chars_1"
559
560 The special values "unibi_string_begin_" and "unibi_string_end_"
561 are provided to make it easier for programs to loop over all string
562 capabilities. All of the enum values listed above are greater than
563 "unibi_string_begin_" and less than "unibi_string_end_".
564
566 terminfo(5), unibi_dummy(3), unibi_from_mem(3), unibi_destroy(3),
567 unibi_dump(3), unibi_get_name(3), unibi_set_name(3),
568 unibi_get_aliases(3), unibi_set_aliases(3), unibi_get_bool(3),
569 unibi_set_bool(3), unibi_get_num(3), unibi_set_num(3),
570 unibi_get_str(3), unibi_set_str(3), unibi_from_fp(3), unibi_from_fd(3),
571 unibi_from_file(3), unibi_from_term(3), unibi_from_env(3),
572 unibi_terminfo_dirs(3), unibi_name_bool(3), unibi_short_name_bool(3),
573 unibi_name_num(3), unibi_short_name_num(3), unibi_name_str(3),
574 unibi_short_name_str(3), unibi_count_ext_bool(3),
575 unibi_count_ext_num(3), unibi_count_ext_str(3), unibi_get_ext_bool(3),
576 unibi_get_ext_num(3), unibi_get_ext_str(3), unibi_set_ext_bool(3),
577 unibi_set_ext_num(3), unibi_set_ext_str(3), unibi_get_ext_bool_name(3),
578 unibi_get_ext_num_name(3), unibi_get_ext_str_name(3),
579 unibi_set_ext_bool_name(3), unibi_set_ext_num_name(3),
580 unibi_set_ext_str_name(3), unibi_add_ext_bool(3), unibi_add_ext_num(3),
581 unibi_add_ext_str(3), unibi_del_ext_bool(3), unibi_del_ext_num(3),
582 unibi_del_ext_str(3), unibi_var_from_num(3), unibi_var_from_str(3),
583 unibi_num_from_var(3), unibi_str_from_var(3), unibi_format(3),
584 unibi_run(3)
585
586
587
588unibilium-2.1.1 2023-07-22 doc::unibilium.h(3)