=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/tmux.h,v retrieving revision 1.331 retrieving revision 1.332 diff -c -r1.331 -r1.332 *** src/usr.bin/tmux/tmux.h 2012/05/06 07:38:17 1.331 --- src/usr.bin/tmux/tmux.h 2012/05/21 18:27:42 1.332 *************** *** 1,4 **** ! /* $OpenBSD: tmux.h,v 1.331 2012/05/06 07:38:17 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: tmux.h,v 1.332 2012/05/21 18:27:42 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 19,25 **** #ifndef TMUX_H #define TMUX_H ! #define PROTOCOL_VERSION 6 #include #include --- 19,25 ---- #ifndef TMUX_H #define TMUX_H ! #define PROTOCOL_VERSION 7 #include #include *************** *** 369,375 **** MSG_EXITED, MSG_EXITING, MSG_IDENTIFY, ! MSG_PRINT, MSG_READY, MSG_RESIZE, MSG_SHUTDOWN, --- 369,375 ---- MSG_EXITED, MSG_EXITING, MSG_IDENTIFY, ! MSG_STDIN, MSG_READY, MSG_RESIZE, MSG_SHUTDOWN, *************** *** 425,430 **** --- 425,445 ---- int retcode; }; + struct msg_stdin_data { + ssize_t size; + char data[BUFSIZ]; + }; + + struct msg_stdout_data { + ssize_t size; + char data[BUFSIZ]; + }; + + struct msg_stderr_data { + ssize_t size; + char data[BUFSIZ]; + }; + /* Mode key commands. */ enum mode_key_cmd { MODEKEY_NONE, *************** *** 1161,1177 **** struct tty tty; ! int stdin_fd; ! void *stdin_data; ! void (*stdin_callback)(struct client *, void *); ! struct bufferevent *stdin_event; - int stdout_fd; - struct bufferevent *stdout_event; - - int stderr_fd; - struct bufferevent *stderr_event; - struct event repeat_timer; struct status_out_tree status_old; --- 1176,1188 ---- struct tty tty; ! void (*stdin_callback)(struct client *, int, void *); ! void *stdin_callback_data; ! struct evbuffer *stdin_data; ! int stdin_closed; ! struct evbuffer *stdout_data; ! struct evbuffer *stderr_data; struct event repeat_timer; struct status_out_tree status_old; *************** *** 1734,1740 **** /* server-fn.c */ void server_fill_environ(struct session *, struct environ *); ! void server_write_client( struct client *, enum msgtype, const void *, size_t); void server_write_session( struct session *, enum msgtype, const void *, size_t); --- 1745,1751 ---- /* server-fn.c */ void server_fill_environ(struct session *, struct environ *); ! int server_write_client( struct client *, enum msgtype, const void *, size_t); void server_write_session( struct session *, enum msgtype, const void *, size_t); *************** *** 1762,1767 **** --- 1773,1782 ---- void server_set_identify(struct client *); void server_clear_identify(struct client *); void server_update_event(struct client *); + void server_push_stdout(struct client *); + void server_push_stderr(struct client *); + int server_set_stdin_callback(struct client *, void (*)(struct client *, + int, void *), void *, char **); /* status.c */ int status_out_cmp(struct status_out *, struct status_out *);