/* automatically generated by rust-bindgen 0.71.1 */

#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Fl_Widget {
    _unused: [u8; 0],
}
pub type Fl_Callback = ::core::option::Option<
    unsafe extern "C" fn(arg1: *mut Fl_Widget, arg2: *mut ::core::ffi::c_void),
>;
pub type custom_handler_callback = ::core::option::Option<
    unsafe extern "C" fn(
        arg1: *mut Fl_Widget,
        arg2: ::core::ffi::c_int,
        arg3: *mut ::core::ffi::c_void,
    ) -> ::core::ffi::c_int,
>;
pub type custom_draw_callback = ::core::option::Option<
    unsafe extern "C" fn(arg1: *mut Fl_Widget, arg2: *mut ::core::ffi::c_void),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Fl_Terminal {
    _unused: [u8; 0],
}
extern "C" {
    pub fn Fl_Terminal_new(
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        width: ::core::ffi::c_int,
        height: ::core::ffi::c_int,
        title: *const ::core::ffi::c_char,
    ) -> *mut Fl_Terminal;
}
extern "C" {
    pub fn Fl_Terminal_x(arg1: *mut Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_y(arg1: *mut Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_width(arg1: *mut Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_height(arg1: *mut Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_label(arg1: *mut Fl_Terminal) -> *const ::core::ffi::c_char;
}
extern "C" {
    pub fn Fl_Terminal_set_label(arg1: *mut Fl_Terminal, title: *const ::core::ffi::c_char);
}
extern "C" {
    pub fn Fl_Terminal_redraw(arg1: *mut Fl_Terminal);
}
extern "C" {
    pub fn Fl_Terminal_show(arg1: *mut Fl_Terminal);
}
extern "C" {
    pub fn Fl_Terminal_hide(arg1: *mut Fl_Terminal);
}
extern "C" {
    pub fn Fl_Terminal_activate(arg1: *mut Fl_Terminal);
}
extern "C" {
    pub fn Fl_Terminal_deactivate(arg1: *mut Fl_Terminal);
}
extern "C" {
    pub fn Fl_Terminal_redraw_label(arg1: *mut Fl_Terminal);
}
extern "C" {
    pub fn Fl_Terminal_resize(
        arg1: *mut Fl_Terminal,
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        width: ::core::ffi::c_int,
        height: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_Terminal_widget_resize(
        arg1: *mut Fl_Terminal,
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        width: ::core::ffi::c_int,
        height: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_Terminal_tooltip(arg1: *mut Fl_Terminal) -> *const ::core::ffi::c_char;
}
extern "C" {
    pub fn Fl_Terminal_set_tooltip(arg1: *mut Fl_Terminal, txt: *const ::core::ffi::c_char);
}
extern "C" {
    pub fn Fl_Terminal_get_type(arg1: *mut Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_set_type(arg1: *mut Fl_Terminal, typ: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_color(arg1: *mut Fl_Terminal) -> ::core::ffi::c_uint;
}
extern "C" {
    pub fn Fl_Terminal_set_color(arg1: *mut Fl_Terminal, color: ::core::ffi::c_uint);
}
extern "C" {
    pub fn Fl_Terminal_measure_label(
        arg1: *const Fl_Terminal,
        arg2: *mut ::core::ffi::c_int,
        arg3: *mut ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_Terminal_label_color(arg1: *mut Fl_Terminal) -> ::core::ffi::c_uint;
}
extern "C" {
    pub fn Fl_Terminal_set_label_color(arg1: *mut Fl_Terminal, color: ::core::ffi::c_uint);
}
extern "C" {
    pub fn Fl_Terminal_label_font(arg1: *mut Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_set_label_font(arg1: *mut Fl_Terminal, font: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_label_size(arg1: *mut Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_set_label_size(arg1: *mut Fl_Terminal, sz: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_label_type(arg1: *mut Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_set_label_type(arg1: *mut Fl_Terminal, typ: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_box(arg1: *mut Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_set_box(arg1: *mut Fl_Terminal, typ: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_changed(arg1: *mut Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_set_changed(arg1: *mut Fl_Terminal);
}
extern "C" {
    pub fn Fl_Terminal_clear_changed(arg1: *mut Fl_Terminal);
}
extern "C" {
    pub fn Fl_Terminal_align(arg1: *mut Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_set_align(arg1: *mut Fl_Terminal, typ: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_delete(arg1: *mut Fl_Terminal);
}
extern "C" {
    pub fn Fl_Terminal_set_image(arg1: *mut Fl_Terminal, arg2: *mut ::core::ffi::c_void);
}
extern "C" {
    pub fn Fl_Terminal_handle(
        self_: *mut Fl_Terminal,
        cb: custom_handler_callback,
        data: *mut ::core::ffi::c_void,
    );
}
extern "C" {
    pub fn Fl_Terminal_handle_event(
        self_: *mut Fl_Terminal,
        event: ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_draw(
        self_: *mut Fl_Terminal,
        cb: custom_draw_callback,
        data: *mut ::core::ffi::c_void,
    );
}
extern "C" {
    pub fn Fl_Terminal_resize_callback(
        self_: *mut Fl_Terminal,
        cb: ::core::option::Option<
            unsafe extern "C" fn(
                arg1: *mut Fl_Widget,
                x: ::core::ffi::c_int,
                y: ::core::ffi::c_int,
                w: ::core::ffi::c_int,
                h: ::core::ffi::c_int,
                arg2: *mut ::core::ffi::c_void,
            ),
        >,
        data: *mut ::core::ffi::c_void,
    );
}
extern "C" {
    pub fn Fl_Terminal_set_when(arg1: *mut Fl_Terminal, arg2: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_when(arg1: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_image(arg1: *const Fl_Terminal) -> *const ::core::ffi::c_void;
}
extern "C" {
    pub fn Fl_Terminal_parent(self_: *const Fl_Terminal) -> *mut ::core::ffi::c_void;
}
extern "C" {
    pub fn Fl_Terminal_selection_color(arg1: *mut Fl_Terminal) -> ::core::ffi::c_uint;
}
extern "C" {
    pub fn Fl_Terminal_set_selection_color(arg1: *mut Fl_Terminal, color: ::core::ffi::c_uint);
}
extern "C" {
    pub fn Fl_Terminal_do_callback(arg1: *mut Fl_Terminal);
}
extern "C" {
    pub fn Fl_Terminal_inside(
        self_: *const Fl_Terminal,
        arg1: *mut ::core::ffi::c_void,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_window(arg1: *const Fl_Terminal) -> *mut ::core::ffi::c_void;
}
extern "C" {
    pub fn Fl_Terminal_top_window(arg1: *const Fl_Terminal) -> *mut ::core::ffi::c_void;
}
extern "C" {
    pub fn Fl_Terminal_takes_events(arg1: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_user_data(arg1: *const Fl_Terminal) -> *mut ::core::ffi::c_void;
}
extern "C" {
    pub fn Fl_Terminal_take_focus(self_: *mut Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_set_visible_focus(self_: *mut Fl_Terminal);
}
extern "C" {
    pub fn Fl_Terminal_clear_visible_focus(self_: *mut Fl_Terminal);
}
extern "C" {
    pub fn Fl_Terminal_visible_focus(self_: *mut Fl_Terminal, v: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_has_visible_focus(self_: *mut Fl_Terminal) -> ::core::ffi::c_uint;
}
extern "C" {
    pub fn Fl_Terminal_set_user_data(arg1: *mut Fl_Terminal, data: *mut ::core::ffi::c_void);
}
extern "C" {
    pub fn Fl_Terminal_draw_data(self_: *const Fl_Terminal) -> *mut ::core::ffi::c_void;
}
extern "C" {
    pub fn Fl_Terminal_handle_data(self_: *const Fl_Terminal) -> *mut ::core::ffi::c_void;
}
extern "C" {
    pub fn Fl_Terminal_set_draw_data(self_: *mut Fl_Terminal, data: *mut ::core::ffi::c_void);
}
extern "C" {
    pub fn Fl_Terminal_set_handle_data(self_: *mut Fl_Terminal, data: *mut ::core::ffi::c_void);
}
extern "C" {
    pub fn Fl_Terminal_damage(self_: *const Fl_Terminal) -> ::core::ffi::c_uchar;
}
extern "C" {
    pub fn Fl_Terminal_set_damage(self_: *mut Fl_Terminal, flag: ::core::ffi::c_uchar);
}
extern "C" {
    pub fn Fl_Terminal_set_damage_area(
        self_: *mut Fl_Terminal,
        flag: ::core::ffi::c_uchar,
        x: ::core::ffi::c_int,
        y: ::core::ffi::c_int,
        w: ::core::ffi::c_int,
        h: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_Terminal_clear_damage(self_: *mut Fl_Terminal);
}
extern "C" {
    pub fn Fl_Terminal_as_window(self_: *mut Fl_Terminal) -> *mut ::core::ffi::c_void;
}
extern "C" {
    pub fn Fl_Terminal_as_group(self_: *mut Fl_Terminal) -> *mut ::core::ffi::c_void;
}
extern "C" {
    pub fn Fl_Terminal_set_deimage(arg1: *mut Fl_Terminal, arg2: *mut ::core::ffi::c_void);
}
extern "C" {
    pub fn Fl_Terminal_deimage(arg1: *const Fl_Terminal) -> *const ::core::ffi::c_void;
}
extern "C" {
    pub fn Fl_Terminal_set_callback(
        arg1: *mut Fl_Terminal,
        arg2: Fl_Callback,
        arg3: *mut ::core::ffi::c_void,
    );
}
extern "C" {
    pub fn Fl_Terminal_visible(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_visible_r(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_active(self_: *const Fl_Terminal) -> ::core::ffi::c_uint;
}
extern "C" {
    pub fn Fl_Terminal_active_r(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_callback(self_: *const Fl_Terminal) -> Fl_Callback;
}
extern "C" {
    pub fn Fl_Terminal_set_deletion_callback(
        self_: *mut Fl_Terminal,
        arg1: ::core::option::Option<
            unsafe extern "C" fn(arg1: *mut Fl_Widget, arg2: *mut ::core::ffi::c_void),
        >,
        data: *mut ::core::ffi::c_void,
    );
}
extern "C" {
    pub fn Fl_Terminal_from_dyn_ptr(ptr: *mut Fl_Widget) -> *mut Fl_Terminal;
}
extern "C" {
    pub fn Fl_Terminal_from_derived_dyn_ptr(ptr: *mut Fl_Widget) -> *mut Fl_Terminal;
}
extern "C" {
    pub fn Fl_Terminal_super_draw(ptr: *mut Fl_Widget, flag: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_super_draw_first(ptr: *mut Fl_Widget, flag: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_super_handle_first(ptr: *mut Fl_Widget, flag: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_ansi(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_set_ansi(self_: *mut Fl_Terminal, boolean: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_append(self_: *mut Fl_Terminal, txt: *const ::core::ffi::c_char);
}
extern "C" {
    pub fn Fl_Terminal_append_u8(
        self_: *mut Fl_Terminal,
        txt: *const ::core::ffi::c_char,
        len: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_Terminal_append_ascii(self_: *mut Fl_Terminal, txt: *const ::core::ffi::c_char);
}
extern "C" {
    pub fn Fl_Terminal_append_utf8(self_: *mut Fl_Terminal, txt: *const ::core::ffi::c_char);
}
extern "C" {
    pub fn Fl_Terminal_append_utf8_u8(
        self_: *mut Fl_Terminal,
        txt: *const ::core::ffi::c_char,
        len: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_Terminal_clear_mouse_selection(self_: *mut Fl_Terminal);
}
extern "C" {
    pub fn Fl_Terminal_clear_to_color(self_: *mut Fl_Terminal, set: ::core::ffi::c_uint);
}
extern "C" {
    pub fn Fl_Terminal_clear_history(self_: *mut Fl_Terminal);
}
extern "C" {
    pub fn Fl_Terminal_clear_screen(self_: *mut Fl_Terminal, boolean: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_clear_screen_home(self_: *mut Fl_Terminal, boolean: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_cursor_col(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_set_cursor_col(self_: *mut Fl_Terminal, val: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_cursor_home(self_: *mut Fl_Terminal);
}
extern "C" {
    pub fn Fl_Terminal_cursor_row(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_set_cursor_row(self_: *mut Fl_Terminal, val: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_cursor_up(
        self_: *mut Fl_Terminal,
        count: ::core::ffi::c_int,
        do_scroll: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_Terminal_cursor_down(
        self_: *mut Fl_Terminal,
        count: ::core::ffi::c_int,
        do_scroll: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_Terminal_cursor_left(self_: *mut Fl_Terminal, count: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_cursor_right(
        self_: *mut Fl_Terminal,
        count: ::core::ffi::c_int,
        do_scroll: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_Terminal_scroll(self_: *mut Fl_Terminal, count: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_clear_eod(self_: *mut Fl_Terminal);
}
extern "C" {
    pub fn Fl_Terminal_clear_eol(self_: *mut Fl_Terminal);
}
extern "C" {
    pub fn Fl_Terminal_clear_cur_line(self_: *mut Fl_Terminal);
}
extern "C" {
    pub fn Fl_Terminal_clear_line(self_: *mut Fl_Terminal, drow: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_clear_sod(self_: *mut Fl_Terminal);
}
extern "C" {
    pub fn Fl_Terminal_clear_sol(self_: *mut Fl_Terminal);
}
extern "C" {
    pub fn Fl_Terminal_insert_char(
        self_: *mut Fl_Terminal,
        c: ::core::ffi::c_char,
        rep: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_Terminal_insert_char_eol(
        self_: *mut Fl_Terminal,
        c: ::core::ffi::c_char,
        drow: ::core::ffi::c_int,
        dcol: ::core::ffi::c_int,
        rep: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_Terminal_insert_rows(self_: *mut Fl_Terminal, count: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_delete_chars(
        self_: *mut Fl_Terminal,
        drow: ::core::ffi::c_int,
        dcol: ::core::ffi::c_int,
        count: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_Terminal_delete_cur_chars(self_: *mut Fl_Terminal, count: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_delete_rows(self_: *mut Fl_Terminal, count: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_cursor_bg_color(self_: *const Fl_Terminal) -> ::core::ffi::c_uint;
}
extern "C" {
    pub fn Fl_Terminal_set_cursor_bg_color(self_: *mut Fl_Terminal, set: ::core::ffi::c_uint);
}
extern "C" {
    pub fn Fl_Terminal_cursor_fg_color(self_: *const Fl_Terminal) -> ::core::ffi::c_uint;
}
extern "C" {
    pub fn Fl_Terminal_set_cursor_fg_color(self_: *mut Fl_Terminal, set: ::core::ffi::c_uint);
}
extern "C" {
    pub fn Fl_Terminal_display_columns(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_set_display_columns(self_: *mut Fl_Terminal, set: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_display_rows(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_history_rows(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_set_history_rows(self_: *mut Fl_Terminal, set: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_get_selection(
        self_: *const Fl_Terminal,
        retval: *mut ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_history_use(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_margin_bottom(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_set_margin_bottom(self_: *mut Fl_Terminal, set: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_margin_left(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_set_margin_left(self_: *mut Fl_Terminal, set: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_margin_right(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_set_margin_right(self_: *mut Fl_Terminal, set: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_margin_top(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_set_margin_top(self_: *mut Fl_Terminal, set: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_output_translate(self_: *const Fl_Terminal) -> ::core::ffi::c_uint;
}
extern "C" {
    pub fn Fl_Terminal_set_output_translate(self_: *mut Fl_Terminal, set: ::core::ffi::c_uint);
}
extern "C" {
    pub fn Fl_Terminal_print_char(self_: *mut Fl_Terminal, c: ::core::ffi::c_char);
}
extern "C" {
    pub fn Fl_Terminal_print_char_utf8(
        self_: *mut Fl_Terminal,
        txt: *const ::core::ffi::c_char,
        len: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_Terminal_printf(self_: *mut Fl_Terminal, fmt: *const ::core::ffi::c_char, ...);
}
extern "C" {
    pub fn Fl_Terminal_plot_char(
        self_: *mut Fl_Terminal,
        c: ::core::ffi::c_char,
        row: ::core::ffi::c_int,
        col: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_Terminal_plot_char_utf8(
        self_: *mut Fl_Terminal,
        txt: *const ::core::ffi::c_char,
        len: ::core::ffi::c_int,
        row: ::core::ffi::c_int,
        col: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_Terminal_redraw_rate(self_: *const Fl_Terminal) -> f32;
}
extern "C" {
    pub fn Fl_Terminal_set_redraw_rate(self_: *mut Fl_Terminal, set: f32);
}
extern "C" {
    pub fn Fl_Terminal_redraw_style(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_set_redraw_style(self_: *mut Fl_Terminal, set: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_reset_terminal(self_: *mut Fl_Terminal);
}
extern "C" {
    pub fn Fl_Terminal_scrollbar_actual_size(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_scrollbar_size(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_set_scrollbar_size(self_: *mut Fl_Terminal, set: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_hscrollbar_style(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_set_hscrollbar_style(self_: *mut Fl_Terminal, set: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_selection_bg_color(self_: *const Fl_Terminal) -> ::core::ffi::c_uint;
}
extern "C" {
    pub fn Fl_Terminal_set_selection_bg_color(self_: *mut Fl_Terminal, set: ::core::ffi::c_uint);
}
extern "C" {
    pub fn Fl_Terminal_selection_fg_color(self_: *const Fl_Terminal) -> ::core::ffi::c_uint;
}
extern "C" {
    pub fn Fl_Terminal_set_selection_fg_color(self_: *mut Fl_Terminal, set: ::core::ffi::c_uint);
}
extern "C" {
    pub fn Fl_Terminal_show_unknown(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_set_show_unknown(self_: *mut Fl_Terminal, boolean: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_text_attrib(self_: *const Fl_Terminal) -> ::core::ffi::c_uchar;
}
extern "C" {
    pub fn Fl_Terminal_set_text_attrib(self_: *mut Fl_Terminal, set: ::core::ffi::c_uchar);
}
extern "C" {
    pub fn Fl_Terminal_text_bg_color(self_: *const Fl_Terminal) -> ::core::ffi::c_uint;
}
extern "C" {
    pub fn Fl_Terminal_set_text_bg_color(self_: *mut Fl_Terminal, set: ::core::ffi::c_uint);
}
extern "C" {
    pub fn Fl_Terminal_text_bg_color_default(self_: *const Fl_Terminal) -> ::core::ffi::c_uint;
}
extern "C" {
    pub fn Fl_Terminal_set_text_bg_color_default(self_: *mut Fl_Terminal, set: ::core::ffi::c_uint);
}
extern "C" {
    pub fn Fl_Terminal_set_text_bg_color_xterm(self_: *mut Fl_Terminal, set: ::core::ffi::c_uchar);
}
extern "C" {
    pub fn Fl_Terminal_set_text_color(self_: *mut Fl_Terminal, set: ::core::ffi::c_uint);
}
extern "C" {
    pub fn Fl_Terminal_text_fg_color(self_: *const Fl_Terminal) -> ::core::ffi::c_uint;
}
extern "C" {
    pub fn Fl_Terminal_set_text_fg_color(self_: *mut Fl_Terminal, set: ::core::ffi::c_uint);
}
extern "C" {
    pub fn Fl_Terminal_text_fg_color_default(self_: *const Fl_Terminal) -> ::core::ffi::c_uint;
}
extern "C" {
    pub fn Fl_Terminal_set_text_fg_color_default(self_: *mut Fl_Terminal, set: ::core::ffi::c_uint);
}
extern "C" {
    pub fn Fl_Terminal_set_text_fg_color_xterm(self_: *mut Fl_Terminal, set: ::core::ffi::c_uchar);
}
extern "C" {
    pub fn Fl_Terminal_text_font(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_set_text_font(self_: *mut Fl_Terminal, set: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_text_size(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_set_text_size(self_: *mut Fl_Terminal, set: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_text(
        self_: *const Fl_Terminal,
        lines_below_cursor: ::core::ffi::c_int,
    ) -> *const ::core::ffi::c_char;
}
extern "C" {
    pub fn Fl_Terminal_selection_text(self_: *const Fl_Terminal) -> *const ::core::ffi::c_char;
}
extern "C" {
    pub fn Fl_Terminal_selection_text_len(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
#[doc = " Access to terminal widget's vertical and horizontal scrollbar"]
pub type Fl_Terminal_Scrollbar = ::core::ffi::c_void;
extern "C" {
    pub fn Fl_Terminal_scrollbar(self_: *mut Fl_Terminal) -> *mut Fl_Terminal_Scrollbar;
}
extern "C" {
    pub fn Fl_Terminal_hscrollbar(self_: *mut Fl_Terminal) -> *mut Fl_Terminal_Scrollbar;
}
#[doc = " Utf8Char class, used to describe characters in the terminal ring buffer"]
pub type Fl_Terminal_Utf8Char = ::core::ffi::c_void;
extern "C" {
    pub fn Fl_Terminal_Utf8Char_attr_bgcolor(
        self_: *const Fl_Terminal_Utf8Char,
        grp: *const Fl_Terminal,
    ) -> ::core::ffi::c_uint;
}
extern "C" {
    pub fn Fl_Terminal_Utf8Char_attr_fgcolor(
        self_: *const Fl_Terminal_Utf8Char,
        grp: *const Fl_Terminal,
    ) -> ::core::ffi::c_uint;
}
extern "C" {
    pub fn Fl_Terminal_Utf8Char_attrib(self_: *const Fl_Terminal_Utf8Char) -> ::core::ffi::c_uchar;
}
extern "C" {
    pub fn Fl_Terminal_Utf8Char_bgcolor(self_: *const Fl_Terminal_Utf8Char) -> ::core::ffi::c_uint;
}
extern "C" {
    pub fn Fl_Terminal_Utf8Char_fgcolor(self_: *const Fl_Terminal_Utf8Char) -> ::core::ffi::c_uint;
}
extern "C" {
    pub fn Fl_Terminal_Utf8Char_is_char(
        self_: *const Fl_Terminal_Utf8Char,
        c: ::core::ffi::c_char,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_Utf8Char_length(self_: *const Fl_Terminal_Utf8Char) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_Utf8Char_max_utf8(self_: *const Fl_Terminal_Utf8Char) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_Utf8Char_pwidth(self_: *const Fl_Terminal_Utf8Char) -> f64;
}
extern "C" {
    pub fn Fl_Terminal_Utf8Char_pwidth_int(
        self_: *const Fl_Terminal_Utf8Char,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_Utf8Char_text_utf8(
        self_: *const Fl_Terminal_Utf8Char,
    ) -> *const ::core::ffi::c_uchar;
}
extern "C" {
    pub fn Fl_Terminal_Utf8Char_charflags(
        self_: *const Fl_Terminal_Utf8Char,
    ) -> ::core::ffi::c_uchar;
}
extern "C" {
    pub fn Fl_Terminal_Utf8Char_new_obj(c: ::core::ffi::c_uchar) -> *mut Fl_Terminal_Utf8Char;
}
extern "C" {
    pub fn Fl_Terminal_disp_erow(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_disp_srow(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_hist_erow(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_hist_srow(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_hist_use(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_hist_use_srow(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_h_to_row(
        self_: *const Fl_Terminal,
        H: ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_w_to_col(
        self_: *const Fl_Terminal,
        W: ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_is_inside_selection(
        self_: *const Fl_Terminal,
        row: ::core::ffi::c_int,
        col: ::core::ffi::c_int,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_is_selection(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_offset(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_ring_erow(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_ring_srow(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_ring_rows(self_: *const Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_u8c_cursor(self_: *const Fl_Terminal) -> *const Fl_Terminal_Utf8Char;
}
extern "C" {
    pub fn Fl_Terminal_u8c_disp_row(
        self_: *const Fl_Terminal,
        drow: ::core::ffi::c_int,
    ) -> *const Fl_Terminal_Utf8Char;
}
extern "C" {
    pub fn Fl_Terminal_u8c_hist_row(
        self_: *const Fl_Terminal,
        hrow: ::core::ffi::c_int,
    ) -> *const Fl_Terminal_Utf8Char;
}
extern "C" {
    pub fn Fl_Terminal_u8c_hist_use_row(
        self_: *const Fl_Terminal,
        hurow: ::core::ffi::c_int,
    ) -> *const Fl_Terminal_Utf8Char;
}
extern "C" {
    pub fn Fl_Terminal_u8c_ring_row(
        self_: *const Fl_Terminal,
        grow: ::core::ffi::c_int,
    ) -> *const Fl_Terminal_Utf8Char;
}
extern "C" {
    pub fn Fl_Terminal_Utf8Char_size() -> ::core::ffi::c_uint;
}
extern "C" {
    pub fn Fl_free_str(str_: *const ::core::ffi::c_char);
}
extern "C" {
    pub fn Fl_Terminal_begin(self_: *mut Fl_Terminal);
}
extern "C" {
    pub fn Fl_Terminal_end(self_: *mut Fl_Terminal);
}
extern "C" {
    pub fn Fl_Terminal_find(
        self_: *mut Fl_Terminal,
        arg1: *const ::core::ffi::c_void,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_add(self_: *mut Fl_Terminal, arg1: *mut ::core::ffi::c_void);
}
extern "C" {
    pub fn Fl_Terminal_insert(
        self_: *mut Fl_Terminal,
        arg1: *mut ::core::ffi::c_void,
        pos: ::core::ffi::c_int,
    );
}
extern "C" {
    pub fn Fl_Terminal_remove(self_: *mut Fl_Terminal, wid: *mut ::core::ffi::c_void);
}
extern "C" {
    pub fn Fl_Terminal_remove_by_index(self_: *mut Fl_Terminal, idx: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_clear(self_: *mut Fl_Terminal);
}
extern "C" {
    pub fn Fl_Terminal_children(self_: *mut Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_child(arg1: *mut Fl_Terminal, index: ::core::ffi::c_int) -> *mut Fl_Widget;
}
extern "C" {
    pub fn Fl_Terminal_resizable(self_: *mut Fl_Terminal, arg1: *mut ::core::ffi::c_void);
}
extern "C" {
    pub fn Fl_Terminal_set_clip_children(self_: *mut Fl_Terminal, c: ::core::ffi::c_int);
}
extern "C" {
    pub fn Fl_Terminal_clip_children(self_: *mut Fl_Terminal) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn Fl_Terminal_init_sizes(self_: *mut Fl_Terminal);
}
extern "C" {
    pub fn Fl_Terminal_draw_child(self_: *const Fl_Terminal, w: *mut Fl_Widget);
}
extern "C" {
    pub fn Fl_Terminal_update_child(self_: *const Fl_Terminal, w: *mut Fl_Widget);
}
extern "C" {
    pub fn Fl_Terminal_draw_outside_label(self_: *const Fl_Terminal, w: *const Fl_Widget);
}
extern "C" {
    pub fn Fl_Terminal_draw_children(self_: *mut Fl_Terminal);
}
