diff options
author | Nicholas Marriott <nicm@cvs.openbsd.org> | 2009-07-22 18:02:24 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@cvs.openbsd.org> | 2009-07-22 18:02:24 +0000 |
commit | c7c088868af85873299ff86f63181753879f5d40 (patch) | |
tree | 2cf524246e8d78445264746becb88db7859fbd1a /usr.bin/tmux/tmux.h | |
parent | c59f4ba00a15a4b7180783fdf41b5b251b3f7d5b (diff) |
enum tty_cmd is only used as an index into the array of command function
pointers, so remove it and use the function pointers directly to represent
themselves.
Diffstat (limited to 'usr.bin/tmux/tmux.h')
-rw-r--r-- | usr.bin/tmux/tmux.h | 122 |
1 files changed, 57 insertions, 65 deletions
diff --git a/usr.bin/tmux/tmux.h b/usr.bin/tmux/tmux.h index c7086795220..d242f8d09e4 100644 --- a/usr.bin/tmux/tmux.h +++ b/usr.bin/tmux/tmux.h @@ -1,4 +1,4 @@ -/* $OpenBSD: tmux.h,v 1.46 2009/07/22 16:45:31 nicm Exp $ */ +/* $OpenBSD: tmux.h,v 1.47 2009/07/22 18:02:23 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -273,35 +273,6 @@ struct tty_term_code_entry { const char *name; }; -/* Output commands. */ -enum tty_cmd { - TTY_ALIGNMENTTEST, - TTY_CELL, - TTY_CLEARENDOFLINE, - TTY_CLEARENDOFSCREEN, - TTY_CLEARLINE, - TTY_CLEARSCREEN, - TTY_CLEARSTARTOFLINE, - TTY_CLEARSTARTOFSCREEN, - TTY_DELETECHARACTER, - TTY_DELETELINE, - TTY_INSERTCHARACTER, - TTY_INSERTLINE, - TTY_LINEFEED, - TTY_UTF8CHARACTER, - TTY_REVERSEINDEX, -}; - -struct tty_ctx { - struct window_pane *wp; - - const struct grid_cell *cell; - const struct grid_utf8 *utf8; - - u_int num; - void *ptr; -}; - /* Message codes. */ enum hdrtype { MSG_COMMAND, @@ -805,6 +776,18 @@ struct tty { RB_HEAD(tty_keys, tty_key) ktree; }; +/* TTY command context and function pointer. */ +struct tty_ctx { + struct window_pane *wp; + + const struct grid_cell *cell; + const struct grid_utf8 *utf8; + + u_int num; + void *ptr; +}; +typedef void tty_cmd_func(struct tty *, struct tty_ctx *); + /* Client connection. */ struct client { int fd; @@ -1032,33 +1015,42 @@ void options_set_number(struct options *, const char *, long long); long long options_get_number(struct options *, const char *); /* tty.c */ -u_char tty_get_acs(struct tty *, u_char); -void tty_emulate_repeat(struct tty *, - enum tty_code_code, enum tty_code_code, u_int); -void tty_reset(struct tty *); -void tty_region(struct tty *, u_int, u_int, u_int); -void tty_cursor(struct tty *, u_int, u_int, u_int, u_int); -void tty_cell(struct tty *, - const struct grid_cell *, const struct grid_utf8 *); -void tty_putcode(struct tty *, enum tty_code_code); -void tty_putcode1(struct tty *, enum tty_code_code, int); -void tty_putcode2(struct tty *, enum tty_code_code, int, int); -void tty_puts(struct tty *, const char *); -void tty_putc(struct tty *, u_char); -void tty_pututf8(struct tty *, const struct grid_utf8 *); -void tty_init(struct tty *, char *, char *); -void tty_start_tty(struct tty *); -void tty_stop_tty(struct tty *); -void tty_detect_utf8(struct tty *); -void tty_set_title(struct tty *, const char *); -void tty_update_mode(struct tty *, int); -void tty_draw_line( - struct tty *, struct screen *, u_int, u_int, u_int); -void tty_redraw_region(struct tty *, struct window_pane *); -int tty_open(struct tty *, char **); -void tty_close(struct tty *, int); -void tty_free(struct tty *, int); -void tty_write(struct tty *, enum tty_cmd, struct tty_ctx *); +u_char tty_get_acs(struct tty *, u_char); +void tty_reset(struct tty *); +void tty_region(struct tty *, u_int, u_int, u_int); +void tty_cursor(struct tty *, u_int, u_int, u_int, u_int); +void tty_putcode(struct tty *, enum tty_code_code); +void tty_putcode1(struct tty *, enum tty_code_code, int); +void tty_putcode2(struct tty *, enum tty_code_code, int, int); +void tty_puts(struct tty *, const char *); +void tty_putc(struct tty *, u_char); +void tty_pututf8(struct tty *, const struct grid_utf8 *); +void tty_init(struct tty *, char *, char *); +void tty_start_tty(struct tty *); +void tty_stop_tty(struct tty *); +void tty_detect_utf8(struct tty *); +void tty_set_title(struct tty *, const char *); +void tty_update_mode(struct tty *, int); +void tty_draw_line(struct tty *, struct screen *, u_int, u_int, u_int); +void tty_redraw_region(struct tty *, struct window_pane *); +int tty_open(struct tty *, char **); +void tty_close(struct tty *, int); +void tty_free(struct tty *, int); +void tty_cmd_alignmenttest(struct tty *, struct tty_ctx *); +void tty_cmd_cell(struct tty *, struct tty_ctx *); +void tty_cmd_clearendofline(struct tty *, struct tty_ctx *); +void tty_cmd_clearendofscreen(struct tty *, struct tty_ctx *); +void tty_cmd_clearline(struct tty *, struct tty_ctx *); +void tty_cmd_clearscreen(struct tty *, struct tty_ctx *); +void tty_cmd_clearstartofline(struct tty *, struct tty_ctx *); +void tty_cmd_clearstartofscreen(struct tty *, struct tty_ctx *); +void tty_cmd_deletecharacter(struct tty *, struct tty_ctx *); +void tty_cmd_deleteline(struct tty *, struct tty_ctx *); +void tty_cmd_insertcharacter(struct tty *, struct tty_ctx *); +void tty_cmd_insertline(struct tty *, struct tty_ctx *); +void tty_cmd_linefeed(struct tty *, struct tty_ctx *); +void tty_cmd_utf8character(struct tty *, struct tty_ctx *); +void tty_cmd_reverseindex(struct tty *, struct tty_ctx *); /* tty-term.c */ extern struct tty_terms tty_terms; @@ -1074,17 +1066,17 @@ int tty_term_number(struct tty_term *, enum tty_code_code); int tty_term_flag(struct tty_term *, enum tty_code_code); /* tty-keys.c */ -int tty_keys_cmp(struct tty_key *, struct tty_key *); +int tty_keys_cmp(struct tty_key *, struct tty_key *); RB_PROTOTYPE(tty_keys, tty_key, entry, tty_keys_cmp); -void tty_keys_init(struct tty *); -void tty_keys_free(struct tty *); -int tty_keys_next(struct tty *, int *, u_char *); +void tty_keys_init(struct tty *); +void tty_keys_free(struct tty *); +int tty_keys_next(struct tty *, int *, u_char *); /* tty-write.c */ -void tty_write0(struct window_pane *, enum tty_cmd); -void tty_writenum(struct window_pane *, enum tty_cmd, u_int); -void tty_writeptr(struct window_pane *, enum tty_cmd, void *); -void tty_write_cmd(enum tty_cmd, struct tty_ctx *); +void tty_write0(struct window_pane *, tty_cmd_func *); +void tty_writenum(struct window_pane *, tty_cmd_func *, u_int); +void tty_writeptr(struct window_pane *, tty_cmd_func *, void *); +void tty_write(tty_cmd_func *, struct tty_ctx *); /* options-cmd.c */ void set_option_string(struct cmd_ctx *, |