summaryrefslogtreecommitdiff
path: root/channels.h
diff options
context:
space:
mode:
Diffstat (limited to 'channels.h')
-rw-r--r--channels.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/channels.h b/channels.h
index 73ff5a595..33af09d9d 100644
--- a/channels.h
+++ b/channels.h
@@ -1,4 +1,4 @@
1/* RCSID("$Id: channels.h,v 1.5 2000/04/01 01:09:23 damien Exp $"); */ 1/* RCSID("$Id: channels.h,v 1.6 2000/04/04 04:39:01 damien Exp $"); */
2 2
3#ifndef CHANNELS_H 3#ifndef CHANNELS_H
4#define CHANNELS_H 4#define CHANNELS_H
@@ -30,6 +30,7 @@ typedef struct Channel {
30 /* peer can be reached over encrypted connection, via packet-sent */ 30 /* peer can be reached over encrypted connection, via packet-sent */
31 int istate; /* input from channel (state of receive half) */ 31 int istate; /* input from channel (state of receive half) */
32 int ostate; /* output to channel (state of transmit half) */ 32 int ostate; /* output to channel (state of transmit half) */
33 int flags; /* close sent/rcvd */
33 int rfd; /* read fd */ 34 int rfd; /* read fd */
34 int wfd; /* write fd */ 35 int wfd; /* write fd */
35 int efd; /* extended fd */ 36 int efd; /* extended fd */
@@ -66,21 +67,30 @@ typedef struct Channel {
66#define CHAN_EXTENDED_READ 1 67#define CHAN_EXTENDED_READ 1
67#define CHAN_EXTENDED_WRITE 2 68#define CHAN_EXTENDED_WRITE 2
68 69
70void channel_set_fds(int id, int rfd, int wfd, int efd, int extusage);
69void channel_open(int id); 71void channel_open(int id);
72void channel_request(int id, char *service, int wantconfirm);
73void channel_request_start(int id, char *service, int wantconfirm);
74void channel_register_callback(int id, int mtype, channel_callback_fn *fn, void *arg);
75void channel_register_cleanup(int id, channel_callback_fn *fn);
76void channel_cancel_cleanup(int id);
70Channel *channel_lookup(int id); 77Channel *channel_lookup(int id);
71 78
72int 79int
73channel_new(char *ctype, int type, int rfd, int wfd, int efd, 80channel_new(char *ctype, int type, int rfd, int wfd, int efd,
74 int window, int maxpack, int extended_usage, char *remote_name); 81 int window, int maxpack, int extended_usage, char *remote_name);
75 82
83void channel_input_channel_request(int type, int plen);
76void channel_input_close(int type, int plen); 84void channel_input_close(int type, int plen);
77void channel_input_close_confirmation(int type, int plen); 85void channel_input_close_confirmation(int type, int plen);
78void channel_input_data(int type, int plen); 86void channel_input_data(int type, int plen);
87void channel_input_extended_data(int type, int plen);
79void channel_input_ieof(int type, int plen); 88void channel_input_ieof(int type, int plen);
80void channel_input_oclose(int type, int plen); 89void channel_input_oclose(int type, int plen);
81void channel_input_open_confirmation(int type, int plen); 90void channel_input_open_confirmation(int type, int plen);
82void channel_input_open_failure(int type, int plen); 91void channel_input_open_failure(int type, int plen);
83void channel_input_port_open(int type, int plen); 92void channel_input_port_open(int type, int plen);
93void channel_input_window_adjust(int type, int plen);
84void channel_input_open(int type, int plen); 94void channel_input_open(int type, int plen);
85 95
86/* Sets specific protocol options. */ 96/* Sets specific protocol options. */
@@ -218,4 +228,7 @@ void auth_input_request_forwarding(struct passwd * pw);
218/* This is called to process an SSH_SMSG_AGENT_OPEN message. */ 228/* This is called to process an SSH_SMSG_AGENT_OPEN message. */
219void auth_input_open_request(int type, int plen); 229void auth_input_open_request(int type, int plen);
220 230
231/* XXX */
232int channel_connect_to(const char *host, u_short host_port);
233
221#endif 234#endif