summaryrefslogtreecommitdiffstats
path: root/channels.h
diff options
context:
space:
mode:
Diffstat (limited to 'channels.h')
-rw-r--r--channels.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/channels.h b/channels.h
index 9d76c9d2..95363e98 100644
--- a/channels.h
+++ b/channels.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: channels.h,v 1.118 2015/07/01 02:26:31 djm Exp $ */
+/* $OpenBSD: channels.h,v 1.119 2016/09/30 09:19:13 markus Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -58,7 +58,8 @@
#define SSH_CHANNEL_ABANDONED 17 /* Abandoned session, eg mux */
#define SSH_CHANNEL_UNIX_LISTENER 18 /* Listening on a domain socket. */
#define SSH_CHANNEL_RUNIX_LISTENER 19 /* Listening to a R-style domain socket. */
-#define SSH_CHANNEL_MAX_TYPE 20
+#define SSH_CHANNEL_MUX_PROXY 20 /* proxy channel for mux-slave */
+#define SSH_CHANNEL_MAX_TYPE 21
#define CHANNEL_CANCEL_PORT_STATIC -1
@@ -162,6 +163,7 @@ struct Channel {
mux_callback_fn *mux_rcb;
void *mux_ctx;
int mux_pause;
+ int mux_downstream_id;
};
#define CHAN_EXTENDED_IGNORE 0
@@ -209,6 +211,7 @@ struct Channel {
/* channel management */
Channel *channel_by_id(int);
+Channel *channel_by_remote_id(int);
Channel *channel_lookup(int);
Channel *channel_new(char *, int, int, int, int, u_int, u_int, int, char *, int);
void channel_set_fds(int, int, int, int, int, int, int, u_int);
@@ -228,6 +231,11 @@ void channel_cancel_cleanup(int);
int channel_close_fd(int *);
void channel_send_window_changes(void);
+/* mux proxy support */
+
+int channel_proxy_downstream(Channel *mc);
+int channel_proxy_upstream(Channel *, int, u_int32_t, void *);
+
/* protocol handler */
int channel_input_close(int, u_int32_t, void *);