Lines Matching +full:mux +full:- +full:states
45 #define SSH_CHANNEL_OPEN 4 /* normal open two-way channel */
50 #define SSH_CHANNEL_RPORT_LISTENER 11 /* Listening to a R-style port */
54 #define SSH_CHANNEL_MUX_LISTENER 15 /* Listener for mux conn. */
55 #define SSH_CHANNEL_MUX_CLIENT 16 /* Conn. to mux client */
56 #define SSH_CHANNEL_ABANDONED 17 /* Abandoned session, eg mux */
58 #define SSH_CHANNEL_RUNIX_LISTENER 19 /* Listening to a R-style domain socket. */
59 #define SSH_CHANNEL_MUX_PROXY 20 /* proxy channel for mux-client */
64 #define CHANNEL_CANCEL_PORT_STATIC -1
67 #define CHANNEL_NONBLOCK_LEAVE 0 /* don't modify non-blocking state */
68 #define CHANNEL_NONBLOCK_SET 1 /* set non-blocking state */
69 #define CHANNEL_NONBLOCK_STDIO 2 /* set non-blocking and restore on close */
71 /* c->restore_block mask flags */
108 /* Context for non-blocking connects */
115 /* Callbacks for mux channels back into client-specific code */
119 * NB. channel IDs on the wire and in c->remote_id are uint32, but local
120 * channel IDs (e.g. c->self) only ever use the int32 subset of this range,
121 * because we use local channel ID -1 for housekeeping. Remote channels have
130 int have_remote_id; /* non-zero if remote_id is valid */
150 int delayed; /* post-IO handlers for newly created
152 * to a matching pre-IO handler.
153 * this way post-IO handlers are not
180 char *ctype; /* const type - NB. not freed on channel_free */
199 /* non-blocking connect */
221 /* default window/packet sizes for tcp/x11-fwd-channel */
229 /* possible input states */
235 /* possible output states */
271 (c->extended_usage == CHAN_EXTENDED_READ && \
272 (c->efd != -1 || \
273 sshbuf_len(c->extended) > 0))
275 (c->extended_usage == CHAN_EXTENDED_WRITE && \
276 c->efd != -1 && (!(c->flags & (CHAN_EOF_RCVD|CHAN_CLOSE_RCVD)) || \
277 sshbuf_len(c->extended) > 0))
315 /* mux proxy support */