| doc::unibilium.h(3) | unibilium | doc::unibilium.h(3) | 
NAME
unibilium.h - ncurses terminfo parser and utility functions
SYNOPSIS
#include <unibilium.h>
DESCRIPTION
This library provides functions and types to access terminal descriptions in the terminfo database (in the format used by ncurses). It can parse compiled terminfo entries from memory or files, access and modify their capabilities, and generate new terminfo entries.
Types
The following types are provided:
- unibi_term
 - The main type. It represents a terminfo entry. Most functions take a pointer to this structure.
 - unibi_var_t
 - A type that represents the values in format string operations, which are
      either integers or strings. Its exact representation is unspecified.
    
See unibi_var_from_num(3), unibi_var_from_str(3), unibi_num_from_var(3), unibi_str_from_var(3) for how to use values of this type.
However, it is guaranteed that zero-initializing a "unibi_var_t" is equivalent to unibi_var_from_num(0).
 - enum unibi_boolean
 - An enumeration of boolean capabilities. It has the following elements:
 
- "unibi_auto_left_margin"
 - "unibi_auto_right_margin"
 - "unibi_no_esc_ctlc"
 - "unibi_ceol_standout_glitch"
 - "unibi_eat_newline_glitch"
 - "unibi_erase_overstrike"
 - "unibi_generic_type"
 - "unibi_hard_copy"
 - "unibi_has_meta_key"
 - "unibi_has_status_line"
 - "unibi_insert_null_glitch"
 - "unibi_memory_above"
 - "unibi_memory_below"
 - "unibi_move_insert_mode"
 - "unibi_move_standout_mode"
 - "unibi_over_strike"
 - "unibi_status_line_esc_ok"
 - "unibi_dest_tabs_magic_smso"
 - "unibi_tilde_glitch"
 - "unibi_transparent_underline"
 - "unibi_xon_xoff"
 - "unibi_needs_xon_xoff"
 - "unibi_prtr_silent"
 - "unibi_hard_cursor"
 - "unibi_non_rev_rmcup"
 - "unibi_no_pad_char"
 - "unibi_non_dest_scroll_region"
 - "unibi_can_change"
 - "unibi_back_color_erase"
 - "unibi_hue_lightness_saturation"
 - "unibi_col_addr_glitch"
 - "unibi_cr_cancels_micro_mode"
 - "unibi_has_print_wheel"
 - "unibi_row_addr_glitch"
 - "unibi_semi_auto_right_margin"
 - "unibi_cpi_changes_res"
 - "unibi_lpi_changes_res"
 - "unibi_backspaces_with_bs"
 - "unibi_crt_no_scrolling"
 - "unibi_no_correctly_working_cr"
 - "unibi_gnu_has_meta_key"
 - "unibi_linefeed_is_newline"
 - "unibi_has_hardware_tabs"
 - "unibi_return_does_clr_eol"
 
The special values "unibi_boolean_begin_" and "unibi_boolean_end_" are provided to make it easier for programs to loop over all boolean capabilities. All of the enum values listed above are greater than "unibi_boolean_begin_" and less than "unibi_boolean_end_".
- enum unibi_numeric
 - An enumeration of numeric capabilities. It has the following elements:
 
- "unibi_columns"
 - "unibi_init_tabs"
 - "unibi_lines"
 - "unibi_lines_of_memory"
 - "unibi_magic_cookie_glitch"
 - "unibi_padding_baud_rate"
 - "unibi_virtual_terminal"
 - "unibi_width_status_line"
 - "unibi_num_labels"
 - "unibi_label_height"
 - "unibi_label_width"
 - "unibi_max_attributes"
 - "unibi_maximum_windows"
 - "unibi_max_colors"
 - "unibi_max_pairs"
 - "unibi_no_color_video"
 - "unibi_buffer_capacity"
 - "unibi_dot_vert_spacing"
 - "unibi_dot_horz_spacing"
 - "unibi_max_micro_address"
 - "unibi_max_micro_jump"
 - "unibi_micro_col_size"
 - "unibi_micro_line_size"
 - "unibi_number_of_pins"
 - "unibi_output_res_char"
 - "unibi_output_res_line"
 - "unibi_output_res_horz_inch"
 - "unibi_output_res_vert_inch"
 - "unibi_print_rate"
 - "unibi_wide_char_size"
 - "unibi_buttons"
 - "unibi_bit_image_entwining"
 - "unibi_bit_image_type"
 - "unibi_magic_cookie_glitch_ul"
 - "unibi_carriage_return_delay"
 - "unibi_new_line_delay"
 - "unibi_backspace_delay"
 - "unibi_horizontal_tab_delay"
 - "unibi_number_of_function_keys"
 
The special values "unibi_numeric_begin_" and "unibi_numeric_end_" are provided to make it easier for programs to loop over all numeric capabilities. All of the enum values listed above are greater than "unibi_numeric_begin_" and less than "unibi_numeric_end_".
- enum unibi_string
 - An enumeration of string capabilities. It has the following elements:
 
- "unibi_back_tab"
 - "unibi_bell"
 - "unibi_carriage_return"
 - "unibi_change_scroll_region"
 - "unibi_clear_all_tabs"
 - "unibi_clear_screen"
 - "unibi_clr_eol"
 - "unibi_clr_eos"
 - "unibi_column_address"
 - "unibi_command_character"
 - "unibi_cursor_address"
 - "unibi_cursor_down"
 - "unibi_cursor_home"
 - "unibi_cursor_invisible"
 - "unibi_cursor_left"
 - "unibi_cursor_mem_address"
 - "unibi_cursor_normal"
 - "unibi_cursor_right"
 - "unibi_cursor_to_ll"
 - "unibi_cursor_up"
 - "unibi_cursor_visible"
 - "unibi_delete_character"
 - "unibi_delete_line"
 - "unibi_dis_status_line"
 - "unibi_down_half_line"
 - "unibi_enter_alt_charset_mode"
 - "unibi_enter_blink_mode"
 - "unibi_enter_bold_mode"
 - "unibi_enter_ca_mode"
 - "unibi_enter_delete_mode"
 - "unibi_enter_dim_mode"
 - "unibi_enter_insert_mode"
 - "unibi_enter_secure_mode"
 - "unibi_enter_protected_mode"
 - "unibi_enter_reverse_mode"
 - "unibi_enter_standout_mode"
 - "unibi_enter_underline_mode"
 - "unibi_erase_chars"
 - "unibi_exit_alt_charset_mode"
 - "unibi_exit_attribute_mode"
 - "unibi_exit_ca_mode"
 - "unibi_exit_delete_mode"
 - "unibi_exit_insert_mode"
 - "unibi_exit_standout_mode"
 - "unibi_exit_underline_mode"
 - "unibi_flash_screen"
 - "unibi_form_feed"
 - "unibi_from_status_line"
 - "unibi_init_1string"
 - "unibi_init_2string"
 - "unibi_init_3string"
 - "unibi_init_file"
 - "unibi_insert_character"
 - "unibi_insert_line"
 - "unibi_insert_padding"
 - "unibi_key_backspace"
 - "unibi_key_catab"
 - "unibi_key_clear"
 - "unibi_key_ctab"
 - "unibi_key_dc"
 - "unibi_key_dl"
 - "unibi_key_down"
 - "unibi_key_eic"
 - "unibi_key_eol"
 - "unibi_key_eos"
 - "unibi_key_f0"
 - "unibi_key_f1"
 - "unibi_key_f10"
 - "unibi_key_f2"
 - "unibi_key_f3"
 - "unibi_key_f4"
 - "unibi_key_f5"
 - "unibi_key_f6"
 - "unibi_key_f7"
 - "unibi_key_f8"
 - "unibi_key_f9"
 - "unibi_key_home"
 - "unibi_key_ic"
 - "unibi_key_il"
 - "unibi_key_left"
 - "unibi_key_ll"
 - "unibi_key_npage"
 - "unibi_key_ppage"
 - "unibi_key_right"
 - "unibi_key_sf"
 - "unibi_key_sr"
 - "unibi_key_stab"
 - "unibi_key_up"
 - "unibi_keypad_local"
 - "unibi_keypad_xmit"
 - "unibi_lab_f0"
 - "unibi_lab_f1"
 - "unibi_lab_f10"
 - "unibi_lab_f2"
 - "unibi_lab_f3"
 - "unibi_lab_f4"
 - "unibi_lab_f5"
 - "unibi_lab_f6"
 - "unibi_lab_f7"
 - "unibi_lab_f8"
 - "unibi_lab_f9"
 - "unibi_meta_off"
 - "unibi_meta_on"
 - "unibi_newline"
 - "unibi_pad_char"
 - "unibi_parm_dch"
 - "unibi_parm_delete_line"
 - "unibi_parm_down_cursor"
 - "unibi_parm_ich"
 - "unibi_parm_index"
 - "unibi_parm_insert_line"
 - "unibi_parm_left_cursor"
 - "unibi_parm_right_cursor"
 - "unibi_parm_rindex"
 - "unibi_parm_up_cursor"
 - "unibi_pkey_key"
 - "unibi_pkey_local"
 - "unibi_pkey_xmit"
 - "unibi_print_screen"
 - "unibi_prtr_off"
 - "unibi_prtr_on"
 - "unibi_repeat_char"
 - "unibi_reset_1string"
 - "unibi_reset_2string"
 - "unibi_reset_3string"
 - "unibi_reset_file"
 - "unibi_restore_cursor"
 - "unibi_row_address"
 - "unibi_save_cursor"
 - "unibi_scroll_forward"
 - "unibi_scroll_reverse"
 - "unibi_set_attributes"
 - "unibi_set_tab"
 - "unibi_set_window"
 - "unibi_tab"
 - "unibi_to_status_line"
 - "unibi_underline_char"
 - "unibi_up_half_line"
 - "unibi_init_prog"
 - "unibi_key_a1"
 - "unibi_key_a3"
 - "unibi_key_b2"
 - "unibi_key_c1"
 - "unibi_key_c3"
 - "unibi_prtr_non"
 - "unibi_char_padding"
 - "unibi_acs_chars"
 - "unibi_plab_norm"
 - "unibi_key_btab"
 - "unibi_enter_xon_mode"
 - "unibi_exit_xon_mode"
 - "unibi_enter_am_mode"
 - "unibi_exit_am_mode"
 - "unibi_xon_character"
 - "unibi_xoff_character"
 - "unibi_ena_acs"
 - "unibi_label_on"
 - "unibi_label_off"
 - "unibi_key_beg"
 - "unibi_key_cancel"
 - "unibi_key_close"
 - "unibi_key_command"
 - "unibi_key_copy"
 - "unibi_key_create"
 - "unibi_key_end"
 - "unibi_key_enter"
 - "unibi_key_exit"
 - "unibi_key_find"
 - "unibi_key_help"
 - "unibi_key_mark"
 - "unibi_key_message"
 - "unibi_key_move"
 - "unibi_key_next"
 - "unibi_key_open"
 - "unibi_key_options"
 - "unibi_key_previous"
 - "unibi_key_print"
 - "unibi_key_redo"
 - "unibi_key_reference"
 - "unibi_key_refresh"
 - "unibi_key_replace"
 - "unibi_key_restart"
 - "unibi_key_resume"
 - "unibi_key_save"
 - "unibi_key_suspend"
 - "unibi_key_undo"
 - "unibi_key_sbeg"
 - "unibi_key_scancel"
 - "unibi_key_scommand"
 - "unibi_key_scopy"
 - "unibi_key_screate"
 - "unibi_key_sdc"
 - "unibi_key_sdl"
 - "unibi_key_select"
 - "unibi_key_send"
 - "unibi_key_seol"
 - "unibi_key_sexit"
 - "unibi_key_sfind"
 - "unibi_key_shelp"
 - "unibi_key_shome"
 - "unibi_key_sic"
 - "unibi_key_sleft"
 - "unibi_key_smessage"
 - "unibi_key_smove"
 - "unibi_key_snext"
 - "unibi_key_soptions"
 - "unibi_key_sprevious"
 - "unibi_key_sprint"
 - "unibi_key_sredo"
 - "unibi_key_sreplace"
 - "unibi_key_sright"
 - "unibi_key_srsume"
 - "unibi_key_ssave"
 - "unibi_key_ssuspend"
 - "unibi_key_sundo"
 - "unibi_req_for_input"
 - "unibi_key_f11"
 - "unibi_key_f12"
 - "unibi_key_f13"
 - "unibi_key_f14"
 - "unibi_key_f15"
 - "unibi_key_f16"
 - "unibi_key_f17"
 - "unibi_key_f18"
 - "unibi_key_f19"
 - "unibi_key_f20"
 - "unibi_key_f21"
 - "unibi_key_f22"
 - "unibi_key_f23"
 - "unibi_key_f24"
 - "unibi_key_f25"
 - "unibi_key_f26"
 - "unibi_key_f27"
 - "unibi_key_f28"
 - "unibi_key_f29"
 - "unibi_key_f30"
 - "unibi_key_f31"
 - "unibi_key_f32"
 - "unibi_key_f33"
 - "unibi_key_f34"
 - "unibi_key_f35"
 - "unibi_key_f36"
 - "unibi_key_f37"
 - "unibi_key_f38"
 - "unibi_key_f39"
 - "unibi_key_f40"
 - "unibi_key_f41"
 - "unibi_key_f42"
 - "unibi_key_f43"
 - "unibi_key_f44"
 - "unibi_key_f45"
 - "unibi_key_f46"
 - "unibi_key_f47"
 - "unibi_key_f48"
 - "unibi_key_f49"
 - "unibi_key_f50"
 - "unibi_key_f51"
 - "unibi_key_f52"
 - "unibi_key_f53"
 - "unibi_key_f54"
 - "unibi_key_f55"
 - "unibi_key_f56"
 - "unibi_key_f57"
 - "unibi_key_f58"
 - "unibi_key_f59"
 - "unibi_key_f60"
 - "unibi_key_f61"
 - "unibi_key_f62"
 - "unibi_key_f63"
 - "unibi_clr_bol"
 - "unibi_clear_margins"
 - "unibi_set_left_margin"
 - "unibi_set_right_margin"
 - "unibi_label_format"
 - "unibi_set_clock"
 - "unibi_display_clock"
 - "unibi_remove_clock"
 - "unibi_create_window"
 - "unibi_goto_window"
 - "unibi_hangup"
 - "unibi_dial_phone"
 - "unibi_quick_dial"
 - "unibi_tone"
 - "unibi_pulse"
 - "unibi_flash_hook"
 - "unibi_fixed_pause"
 - "unibi_wait_tone"
 - "unibi_user0"
 - "unibi_user1"
 - "unibi_user2"
 - "unibi_user3"
 - "unibi_user4"
 - "unibi_user5"
 - "unibi_user6"
 - "unibi_user7"
 - "unibi_user8"
 - "unibi_user9"
 - "unibi_orig_pair"
 - "unibi_orig_colors"
 - "unibi_initialize_color"
 - "unibi_initialize_pair"
 - "unibi_set_color_pair"
 - "unibi_set_foreground"
 - "unibi_set_background"
 - "unibi_change_char_pitch"
 - "unibi_change_line_pitch"
 - "unibi_change_res_horz"
 - "unibi_change_res_vert"
 - "unibi_define_char"
 - "unibi_enter_doublewide_mode"
 - "unibi_enter_draft_quality"
 - "unibi_enter_italics_mode"
 - "unibi_enter_leftward_mode"
 - "unibi_enter_micro_mode"
 - "unibi_enter_near_letter_quality"
 - "unibi_enter_normal_quality"
 - "unibi_enter_shadow_mode"
 - "unibi_enter_subscript_mode"
 - "unibi_enter_superscript_mode"
 - "unibi_enter_upward_mode"
 - "unibi_exit_doublewide_mode"
 - "unibi_exit_italics_mode"
 - "unibi_exit_leftward_mode"
 - "unibi_exit_micro_mode"
 - "unibi_exit_shadow_mode"
 - "unibi_exit_subscript_mode"
 - "unibi_exit_superscript_mode"
 - "unibi_exit_upward_mode"
 - "unibi_micro_column_address"
 - "unibi_micro_down"
 - "unibi_micro_left"
 - "unibi_micro_right"
 - "unibi_micro_row_address"
 - "unibi_micro_up"
 - "unibi_order_of_pins"
 - "unibi_parm_down_micro"
 - "unibi_parm_left_micro"
 - "unibi_parm_right_micro"
 - "unibi_parm_up_micro"
 - "unibi_select_char_set"
 - "unibi_set_bottom_margin"
 - "unibi_set_bottom_margin_parm"
 - "unibi_set_left_margin_parm"
 - "unibi_set_right_margin_parm"
 - "unibi_set_top_margin"
 - "unibi_set_top_margin_parm"
 - "unibi_start_bit_image"
 - "unibi_start_char_set_def"
 - "unibi_stop_bit_image"
 - "unibi_stop_char_set_def"
 - "unibi_subscript_characters"
 - "unibi_superscript_characters"
 - "unibi_these_cause_cr"
 - "unibi_zero_motion"
 - "unibi_char_set_names"
 - "unibi_key_mouse"
 - "unibi_mouse_info"
 - "unibi_req_mouse_pos"
 - "unibi_get_mouse"
 - "unibi_set_a_foreground"
 - "unibi_set_a_background"
 - "unibi_pkey_plab"
 - "unibi_device_type"
 - "unibi_code_set_init"
 - "unibi_set0_des_seq"
 - "unibi_set1_des_seq"
 - "unibi_set2_des_seq"
 - "unibi_set3_des_seq"
 - "unibi_set_lr_margin"
 - "unibi_set_tb_margin"
 - "unibi_bit_image_repeat"
 - "unibi_bit_image_newline"
 - "unibi_bit_image_carriage_return"
 - "unibi_color_names"
 - "unibi_define_bit_image_region"
 - "unibi_end_bit_image_region"
 - "unibi_set_color_band"
 - "unibi_set_page_length"
 - "unibi_display_pc_char"
 - "unibi_enter_pc_charset_mode"
 - "unibi_exit_pc_charset_mode"
 - "unibi_enter_scancode_mode"
 - "unibi_exit_scancode_mode"
 - "unibi_pc_term_options"
 - "unibi_scancode_escape"
 - "unibi_alt_scancode_esc"
 - "unibi_enter_horizontal_hl_mode"
 - "unibi_enter_left_hl_mode"
 - "unibi_enter_low_hl_mode"
 - "unibi_enter_right_hl_mode"
 - "unibi_enter_top_hl_mode"
 - "unibi_enter_vertical_hl_mode"
 - "unibi_set_a_attributes"
 - "unibi_set_pglen_inch"
 - "unibi_termcap_init2"
 - "unibi_termcap_reset"
 - "unibi_linefeed_if_not_lf"
 - "unibi_backspace_if_not_bs"
 - "unibi_other_non_function_keys"
 - "unibi_arrow_key_map"
 - "unibi_acs_ulcorner"
 - "unibi_acs_llcorner"
 - "unibi_acs_urcorner"
 - "unibi_acs_lrcorner"
 - "unibi_acs_ltee"
 - "unibi_acs_rtee"
 - "unibi_acs_btee"
 - "unibi_acs_ttee"
 - "unibi_acs_hline"
 - "unibi_acs_vline"
 - "unibi_acs_plus"
 - "unibi_memory_lock"
 - "unibi_memory_unlock"
 - "unibi_box_chars_1"
 
The special values "unibi_string_begin_" and "unibi_string_end_" are provided to make it easier for programs to loop over all string capabilities. All of the enum values listed above are greater than "unibi_string_begin_" and less than "unibi_string_end_".
SEE ALSO
terminfo(5), unibi_dummy(3), unibi_from_mem(3), unibi_destroy(3), unibi_dump(3), unibi_get_name(3), unibi_set_name(3), unibi_get_aliases(3), unibi_set_aliases(3), unibi_get_bool(3), unibi_set_bool(3), unibi_get_num(3), unibi_set_num(3), unibi_get_str(3), unibi_set_str(3), unibi_from_fp(3), unibi_from_fd(3), unibi_from_file(3), unibi_from_term(3), unibi_from_env(3), unibi_terminfo_dirs(3), unibi_name_bool(3), unibi_short_name_bool(3), unibi_name_num(3), unibi_short_name_num(3), unibi_name_str(3), unibi_short_name_str(3), unibi_count_ext_bool(3), unibi_count_ext_num(3), unibi_count_ext_str(3), unibi_get_ext_bool(3), unibi_get_ext_num(3), unibi_get_ext_str(3), unibi_set_ext_bool(3), unibi_set_ext_num(3), unibi_set_ext_str(3), unibi_get_ext_bool_name(3), unibi_get_ext_num_name(3), unibi_get_ext_str_name(3), unibi_set_ext_bool_name(3), unibi_set_ext_num_name(3), unibi_set_ext_str_name(3), unibi_add_ext_bool(3), unibi_add_ext_num(3), unibi_add_ext_str(3), unibi_del_ext_bool(3), unibi_del_ext_num(3), unibi_del_ext_str(3), unibi_var_from_num(3), unibi_var_from_str(3), unibi_num_from_var(3), unibi_str_from_var(3), unibi_format(3), unibi_run(3)
| 2025-01-06 | unibilium-2.1.2 |