Lines Matching full:channel
41 /* Definitions for channel types. */
45 #define SSH_CHANNEL_OPEN 4 /* normal open two-way channel */
59 #define SSH_CHANNEL_MUX_PROXY 20 /* proxy channel for mux-client */
86 struct Channel;
87 typedef struct Channel Channel; typedef
91 typedef int channel_infilter_fn(struct ssh *, struct Channel *, char *, int);
93 typedef u_char *channel_outfilter_fn(struct ssh *, struct Channel *,
96 /* Channel success/failure callbacks */
97 typedef void channel_confirm_cb(struct ssh *, int, struct Channel *, void *);
98 typedef void channel_confirm_abandon_cb(struct ssh *, struct Channel *, void *);
115 typedef int mux_callback_fn(struct ssh *, struct Channel *);
118 * NB. channel IDs on the wire and in c->remote_id are uint32, but local
119 * channel IDs (e.g. c->self) only ever use the int32 subset of this range,
120 * because we use local channel ID -1 for housekeeping. Remote channels have
124 struct Channel { struct
125 int type; /* channel type/state */
127 int self; /* my own channel identifier */
128 uint32_t remote_id; /* channel identifier for remote peer */
131 u_int istate; /* input from channel (state of receive half) */
132 u_int ostate; /* output to channel (state of transmit half) */
141 int ctl_chan; /* control channel (multiplexed connections) */
222 /* default window/packet sizes for tcp/x11-fwd-channel */
264 /* Maximum channel input buffer size */
280 /* Add channel management structures to SSH transport instance */
283 /* channel management */
285 Channel *channel_by_id(struct ssh *, int);
286 Channel *channel_by_remote_id(struct ssh *, u_int);
287 Channel *channel_lookup(struct ssh *, int);
288 Channel *channel_new(struct ssh *, char *, int, int, int, int,
292 void channel_free(struct ssh *, Channel *);
295 void channel_force_close(struct ssh *, Channel *, int);
309 int channel_close_fd(struct ssh *, Channel *, int *);
312 /* channel inactivity timeouts */
318 int channel_proxy_downstream(struct ssh *, Channel *mc);
319 int channel_proxy_upstream(Channel *, int, u_int32_t, struct ssh *);
345 const char *channel_format_extended_usage(const Channel *);
358 Channel *channel_connect_to_port(struct ssh *, const char *, u_short,
360 Channel *channel_connect_to_path(struct ssh *, const char *, char *, char *);
361 Channel *channel_connect_stdio_fwd(struct ssh *, const char*,
363 Channel *channel_connect_by_listen_address(struct ssh *, const char *,
365 Channel *channel_connect_by_listen_path(struct ssh *, const char *,
387 /* channel close */
389 int chan_is_dead(struct ssh *, Channel *, int);
390 void chan_mark_dead(struct ssh *, Channel *);
392 /* channel events */
394 void chan_rcvd_oclose(struct ssh *, Channel *);
395 void chan_rcvd_eow(struct ssh *, Channel *);
396 void chan_read_failed(struct ssh *, Channel *);
397 void chan_ibuf_empty(struct ssh *, Channel *);
398 void chan_rcvd_ieof(struct ssh *, Channel *);
399 void chan_write_failed(struct ssh *, Channel *);
400 void chan_obuf_empty(struct ssh *, Channel *);