]> andersk Git - openssh.git/blobdiff - channels.h
- reyk@cvs.openbsd.org 2005/12/30 15:56:37
[openssh.git] / channels.h
index 7990fe147880c5d24f7a280fa08847d1e973b3fe..a97dd90071292fc6b8a6943033c78ae0d836dcce 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: channels.h,v 1.82 2005/12/12 13:46:18 markus Exp $    */
+/*     $OpenBSD: channels.h,v 1.83 2005/12/30 15:56:37 reyk Exp $      */
 
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -63,7 +63,8 @@ struct Channel;
 typedef struct Channel Channel;
 
 typedef void channel_callback_fn(int, void *);
-typedef int channel_filter_fn(struct Channel *, char *, int);
+typedef int channel_infilter_fn(struct Channel *, char *, int);
+typedef u_char *channel_outfilter_fn(struct Channel *, u_char **, u_int *);
 
 struct Channel {
        int     type;           /* channel type/state */
@@ -111,7 +112,8 @@ struct Channel {
        int                     detach_close;
 
        /* filter */
-       channel_filter_fn       *input_filter;
+       channel_infilter_fn     *input_filter;
+       channel_outfilter_fn    *output_filter;
 
        int     datagram;       /* keep boundaries */
 };
@@ -145,6 +147,8 @@ struct Channel {
 #define CHAN_EOF_SENT                  0x04
 #define CHAN_EOF_RCVD                  0x08
 
+#define CHAN_RBUF      16*1024
+
 /* check whether 'efd' is still in use */
 #define CHANNEL_EFD_INPUT_ACTIVE(c) \
        (compat20 && c->extended_usage == CHAN_EXTENDED_READ && \
@@ -169,7 +173,7 @@ void         channel_send_open(int);
 void    channel_request_start(int, char *, int);
 void    channel_register_cleanup(int, channel_callback_fn *, int);
 void    channel_register_confirm(int, channel_callback_fn *, void *);
-void    channel_register_filter(int, channel_filter_fn *);
+void    channel_register_filter(int, channel_infilter_fn *, channel_outfilter_fn *);
 void    channel_cancel_cleanup(int);
 int     channel_close_fd(int *);
 void    channel_send_window_changes(void);
This page took 0.032898 seconds and 4 git commands to generate.