]> andersk Git - openssh.git/blobdiff - channels.h
- markus@cvs.openbsd.org 2001/09/17 20:52:47
[openssh.git] / channels.h
index 98bba1aedf0667de125bc5e329ce8534b5565c1d..a1300483894778f43aa8d4c5be03bfc7c2b4d20b 100644 (file)
@@ -32,7 +32,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-/* RCSID("$OpenBSD: channels.h,v 1.42 2001/06/26 17:27:23 markus Exp $"); */
+/* RCSID("$OpenBSD: channels.h,v 1.46 2001/09/17 20:52:47 markus Exp $"); */
 
 #ifndef CHANNEL_H
 #define CHANNEL_H
@@ -77,6 +77,7 @@ struct Channel {
        int     efd;            /* extended fd */
        int     sock;           /* sock fd */
        int     isatty;         /* rfd is a tty */
+       int     force_drain;            /* force close on iEOF */
        Buffer  input;          /* data read from socket, to be sent over
                                 * encrypted connection */
        Buffer  output;         /* data received over encrypted connection for
@@ -102,7 +103,7 @@ struct Channel {
        channel_callback_fn     *cb_fn;
        void    *cb_arg;
        int     cb_event;
-       channel_callback_fn     *dettach_user;
+       channel_callback_fn     *detach_user;
 
        /* filter */
        channel_filter_fn       *input_filter;
@@ -140,8 +141,10 @@ struct Channel {
 Channel        *channel_lookup(int);
 Channel *channel_new(char *, int, int, int, int, int, int, int, char *, int);
 void    channel_set_fds(int, int, int, int, int, int);
-void     channel_free(Channel *);
-void     channel_free_all(void);
+void    channel_free(Channel *);
+void    channel_free_all(void);
+void    channel_detach_all(void);
+void    channel_stop_listening(void);
 
 void    channel_send_open(int);
 void    channel_request(int, char *, int);
@@ -150,6 +153,7 @@ void         channel_register_callback(int, int mtype, channel_callback_fn *, void *);
 void    channel_register_cleanup(int, channel_callback_fn *);
 void    channel_register_filter(int, channel_filter_fn *);
 void    channel_cancel_cleanup(int);
+int     channel_close_fd(int *);
 
 /* protocol handler */
 
@@ -167,7 +171,7 @@ void         channel_input_window_adjust(int, int, void *);
 
 /* file descriptor handling (read/write) */
 
-void    channel_prepare_select(fd_set **, fd_set **, int *, int);
+void    channel_prepare_select(fd_set **, fd_set **, int *, int*, int);
 void     channel_after_select(fd_set *, fd_set *);
 void     channel_output_poll(void);
 
@@ -184,7 +188,7 @@ void         channel_add_permitted_opens(char *, int);
 void    channel_clear_permitted_opens(void);
 void     channel_input_port_forward_request(int, int);
 int     channel_connect_to(const char *, u_short);
-int     channel_connect_by_listen_adress(u_short);
+int     channel_connect_by_listen_address(u_short);
 void    channel_request_remote_forwarding(u_short, const char *, u_short);
 int     channel_request_local_forwarding(u_short, const char *, u_short, int);
 int
This page took 0.042503 seconds and 4 git commands to generate.