X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fprototypes.h;h=085006b4d65d29653c434d82652a7edf6af9a819;hb=3684640e6bdec97cb1b60a34d03e8cde63149215;hp=67e3aaff5c544114fe374e0192c3f4a2cd577706;hpb=8ba373fecb91b8f276c754f63a5a7f1490f76dcc;p=sympathy.git diff --git a/src/prototypes.h b/src/prototypes.h index 67e3aaf..085006b 100644 --- a/src/prototypes.h +++ b/src/prototypes.h @@ -1,14 +1,24 @@ /* ansi.c */ +int ansi_read(ANSI *a, void *buf, int n); void ansi_write(ANSI *a, char *buf, int n); void ansi_getsize(ANSI *a); void ansi_move(ANSI *a, CRT_Pos p); void ansi_showhide_cursor(ANSI *a, int hide); void ansi_force_attr_normal(ANSI *a); +void ansi_set_color(ANSI *a, int color); void ansi_set_attr(ANSI *a, int attr); void ansi_render(ANSI *a, CRT_CA ca); void ansi_cls(ANSI *a); void ansi_draw(ANSI *a, CRT *c); void ansi_reset(ANSI *a); +void ansi_flush_escape(ANSI *a, VT102 *v, TTY *t); +void ansi_parse_deckey(ANSI *a, VT102 *v, TTY *t); +void ansi_parse_ansikey(ANSI *a, VT102 *v, TTY *t); +void ansi_parse_escape(ANSI *a, VT102 *v, TTY *t); +void ansi_check_escape(ANSI *a, VT102 *v, TTY *t); +void ansi_parse_char(ANSI *a, int c, VT102 *v, TTY *t); +void ansi_parse(ANSI *a, char *buf, int len, VT102 *v, TTY *t); +int ansi_dispatch(ANSI *a, VT102 *v, TTY *t); /* crt.c */ void crt_erase(CRT *c, CRT_Pos s, CRT_Pos e, int ea); void crt_cls(CRT *c); @@ -24,16 +34,43 @@ void html_draw(FILE *f, CRT *c); struct termios old; void testy(void); /* render.c */ -/* testtty.c */ -int open_fd_to_bash(void); /* version.c */ /* vt102.c */ -void vt102_cursor_normalize(VT102 *v, int do_wrapscroll, int use_margins); -void vt102_cursor_motion(VT102 *v, int x, int y, int wrapscroll); +void vt102_log_line(VT102 *v, int line); +void vt102_clip_cursor(VT102 *v, CRT_Pos tl, CRT_Pos br); +void vt102_cursor_normalize(VT102 *v); +void vt102_cursor_carriage_return(VT102 *v); +void vt102_cursor_advance_line(VT102 *v); +void vt102_cursor_advance(VT102 *v); +void vt102_do_pending_wrap(VT102 *v); +void vt102_cursor_retard(VT102 *v); +void vt102_reset_tabs(VT102 *v); +void vt102_cursor_advance_tab(VT102 *v); +int vt102_cursor_home(VT102 *v); +int vt102_cursor_absolute(VT102 *v, int x, int y); +int vt102_cursor_relative(VT102 *v, int x, int y); void vt102_delete_from_line(VT102 *v, CRT_Pos p); +void vt102_insert_into_line(VT102 *v, CRT_Pos p); +void vt102_change_mode(VT102 *v, int private, char *ns, int set); +void vt102_parse_mode_string(VT102 *v, char *buf, int len); +void vt102_change_attr(VT102 *v, char *na); +void vt102_parse_attr_string(VT102 *v, char *buf, int len); +void vt102_save_state(VT102 *v); +void vt102_restore_state(VT102 *v); +void vt102_scs(VT102 *c, int g, int s); void vt102_parse_esc(VT102 *v, int c); void vt102_parse_csi(VT102 *v, char *buf, int len); void vt102_status_line(VT102 *v, char *str); -void vt102_parse_char(VT102 *v, int c); +void vt102_parse_char(VT102 *v, int c, TTY *tty); +int vt102_parse(VT102 *v, char *buf, int len, TTY *t); void vt102_parser_reset(VT102_parser *p); +void vt102_send(VT102 *v, uint8_t key, TTY *tty); void vt102_reset(VT102 *v); +int vt102_dispatch(VT102 *v, TTY *tty); +VT102 *vt102_new(void); +void vt102_free(VT102 *v); +/* tty.c */ +TTY *tty_new_test(void); +int tty_read(TTY *t, void *buf, int len); +int tty_write(TTY *t, void *buf, int len); +void tty_free(TTY *t);