/* Prototypes for functions defined in
term.c
 */

extern int must_write_spaces;

extern int min_padding_speed;

extern int line_ins_del_ok;

extern int char_ins_del_ok;

extern int scroll_region_ok;

extern int memory_below_frame;

extern int fast_clear_end_of_line;

extern int dont_calculate_costs;

extern int no_redraw_on_reenter;

extern int (* cursor_to_hook)(int , int);

extern int (* raw_cursor_to_hook)(int, int);

extern int (* clear_to_end_hook)(void);

extern int (* clear_frame_hook)(int);

extern int (* clear_end_of_line_hook)(int);

extern int (* ins_del_lines_hook)(int, int);

extern int (* change_line_highlight_hook)(int, int, int);

extern int (* reassert_line_highlight_hook)(int, int);

extern int (* insert_glyphs_hook)(unsigned int *, int);

extern int (* write_glyphs_hook)(unsigned int*, int);

extern int (* delete_glyphs_hook)(unsigned int*, int);

extern int (* ring_bell_hook)(void);

extern int (* reset_terminal_modes_hook)(void);

extern int (* set_terminal_modes_hook)(void);

extern int (* update_begin_hook)(void*);

extern int (* update_end_hook)(void*);

extern int (* set_terminal_window_hook)(int);

extern int (* read_socket_hook)(int, void *, int, int, int);

extern int (* frame_up_to_date_hook)(int);

extern void (* mouse_position_hook)(void *, Lisp_Object *, void *, Lisp_Object *, Lisp_Object *, unsigned long *);

extern void (* frame_rehighlight_hook)(int);

extern void (* frame_raise_lower_hook)(void* , int);

extern void (* set_vertical_scroll_bar_hook)(struct window *, int, int, int);

extern void (* condemn_scroll_bars_hook)(int);

extern void (* redeem_scroll_bar_hook)(struct window *);

extern void (* judge_scroll_bars_hook)(int);

extern char * TS_ins_line;

extern char * TS_ins_multi_lines;

extern char * TS_bell;

extern char * TS_clr_to_bottom;

extern char * TS_clr_line;

extern char * TS_clr_frame;

extern char * TS_set_scroll_region;

extern char * TS_set_scroll_region_1;

extern char * TS_del_char;

extern char * TS_del_multi_chars;

extern char * TS_del_line;

extern char * TS_del_multi_lines;

extern char * TS_delete_mode;

extern char * TS_end_delete_mode;

extern char * TS_end_insert_mode;

extern char * TS_ins_char;

extern char * TS_ins_multi_chars;

extern char * TS_insert_mode;

extern char * TS_pad_inserted_char;

extern char * TS_end_keypad_mode;

extern char * TS_keypad_mode;

extern char * TS_pad_char;

extern char * TS_repeat;

extern char * TS_end_standout_mode;

extern char * TS_fwd_scroll;

extern char * TS_standout_mode;

extern char * TS_rev_scroll;

extern char * TS_end_termcap_modes;

extern char * TS_termcap_modes;

extern char * TS_visible_bell;

extern char * TS_end_visual_mode;

extern char * TS_visual_mode;

extern char * TS_set_window;

extern int TF_hazeltine;

extern int TF_insmode_motion;

extern int TF_standout_motion;

extern int TF_underscore;

extern int TF_teleray;

extern int TF_xs;

extern int TN_standout_width;

extern int RPov;

extern int delete_in_insert_mode;

extern int se_is_so;

extern char * chars_wasted;

extern char * copybuf;

extern int standout_requested;

extern int insert_mode;

extern int standout_mode;

extern int specified_window;

extern int updating_frame;

extern int system_uses_terminfo;

int ring_bell(void);

int set_terminal_modes(void);

int reset_terminal_modes(void);

int update_begin(int f);

int update_end(int f);

int set_terminal_window(int size);

int set_scroll_region(int start,
                      int stop);

int turn_on_insert(void);

int turn_off_insert(void);

int turn_off_highlight(void);

int turn_on_highlight(void);

int background_highlight(void);

int highlight_if_desired(void);

int write_standout_marker(int flag,
                          int vpos);

int reassert_line_highlight(int highlight,
                            int vpos);

int change_line_highlight(int new_highlight,
                          int vpos,
                          int first_unused_hpos);

int cursor_to(int row,
              int col);

int raw_cursor_to(int row,
                  int col);

int clear_to_end(void);

int clear_frame(void);

int clear_end_of_line(int first_unused_hpos);

int clear_end_of_line_raw(int first_unused_hpos);

int write_glyphs(register unsigned int * string,
                 register int len);

int insert_glyphs(register unsigned int * start,
                  register int len);

int delete_glyphs(register int n);

int ins_del_lines(int vpos,
                  int n);

int string_cost(char * str);

int string_cost_one_line(char * str);

int per_line_cost(register char * str);

extern int * char_ins_del_vector;

void calculate_ins_del_char_costs(int frame);

int calculate_costs(int frame);

extern struct fkey_table __far keys[40];

extern char ** term_get_fkeys_arg;

void term_get_fkeys(char ** address);

int term_get_fkeys_1(void);

int term_init(char * terminal_type);

int fatal(char * str, ...);

int syms_of_term(void);

