X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fprototypes.h;h=f1f07421664b6528ef4f2d5e6d235c322fa336f0;hb=940f48e7089157e6ffae29936226ade7b1176b02;hp=56af551b2010ddb1acf4fc03f3ef5636648d0496;hpb=5175425f563e29f4698d2941ba1825b09965aaa5;p=sympathy.git diff --git a/src/prototypes.h b/src/prototypes.h index 56af551..f1f0742 100644 --- a/src/prototypes.h +++ b/src/prototypes.h @@ -1,14 +1,21 @@ /* ansi.c */ -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, Context * c); +void ansi_parse_deckey (ANSI * a, Context * c); +void ansi_parse_ansikey (ANSI * a, Context * c); +void ansi_parse_escape (ANSI * a, Context * c); +void ansi_check_escape (ANSI * a, Context * c); +void ansi_parse_char (ANSI * a, Context * c, int ch); +void ansi_parse (ANSI * a, Context * c, char *buf, int len); +int ansi_dispatch (ANSI * a, Context * c); /* crt.c */ void crt_erase (CRT * c, CRT_Pos s, CRT_Pos e, int ea); void crt_cls (CRT * c); @@ -21,19 +28,66 @@ void html_entity (FILE * f, int c); void html_render (FILE * f, CRT_CA c); void html_draw (FILE * f, CRT * c); /* libsympathy.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 (Context * c, 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 (Context * c); +void vt102_cursor_advance (Context * c); +void vt102_do_pending_wrap (Context * c); +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_parse_esc (VT102 * v, int c); -void vt102_parse_csi (VT102 * v, char *buf, int len); +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 (Context * c, int g, int s); +void vt102_parse_esc (Context * c, int ch); +void vt102_parse_csi (Context * c, char *buf, int len); void vt102_status_line (VT102 * v, char *str); -void vt102_parse_char (VT102 * v, int c); +void vt102_parse_char (Context * c, int ch); +int vt102_parse (Context * c, char *buf, int len); void vt102_parser_reset (VT102_parser * p); +void vt102_send (Context * c, uint8_t key); void vt102_reset (VT102 * v); +int vt102_dispatch (Context * c); +int vt102_dispatch_one (Context * c); +VT102 *vt102_new (void); +void vt102_free (VT102 * v); +/* tty.c */ +/* history.c */ +History *history_new (int n); +void history_free (History * h); +void history_add (History * h, CRT_CA * c); +/* ring.c */ +int ring_read (Ring * r, void *b, int n); +int ring_write (Ring * r, void *b, int n); +Ring *ring_new (int n); +/* ptty.c */ +TTY *ptty_open (char *path, char *argv[]); +/* terminal.c */ +int terminal_winches; +void terminal_atexit (void); +void terminal_getsize (TTY * _t); +void terminal_dispatch (void); +void terminal_register_handlers (void); +TTY *terminal_open (int rfd, int wfd); +/* util.c */ +int wrap_read (int fd, void *buf, int len); +int wrap_write (int fd, void *buf, int len); +void set_nonblocking (int fd); +void set_blocking (int fd); +void raw_termios (struct termios *termios); +void default_termios (struct termios *termios);