]> andersk Git - openssh.git/blobdiff - channels.h
- (djm) Bug #461: ssh-copy-id fails with no arguments. Patch from
[openssh.git] / channels.h
index 707d9a925820f71f9ef4a99426a936093c3a67c4..bd2e92589c591648f8811a1174245783f0a04288 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: channels.h,v 1.65 2002/03/04 17:27:39 stevesk Exp $   */
+/*     $OpenBSD: channels.h,v 1.70 2002/06/24 14:33:27 markus Exp $    */
 
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -77,6 +77,7 @@ struct Channel {
        int     efd;            /* extended fd */
        int     sock;           /* sock fd */
        int     isatty;         /* rfd is a tty */
+       int     wfd_isatty;     /* wfd is a tty */
        int     force_drain;    /* force close on iEOF */
        int     delayed;                /* fdset hack */
        Buffer  input;          /* data read from socket, to be sent over
@@ -90,12 +91,12 @@ struct Channel {
        int     host_port;      /* remote port to connect for forwards */
        char   *remote_name;    /* remote hostname */
 
-       int     remote_window;
-       int     remote_maxpacket;
-       int     local_window;
-       int     local_window_max;
-       int     local_consumed;
-       int     local_maxpacket;
+       u_int   remote_window;
+       u_int   remote_maxpacket;
+       u_int   local_window;
+       u_int   local_window_max;
+       u_int   local_consumed;
+       u_int   local_maxpacket;
        int     extended_usage;
        int     single_connection;
 
@@ -135,11 +136,23 @@ struct Channel {
 
 #define CHAN_CLOSE_SENT                        0x01
 #define CHAN_CLOSE_RCVD                        0x02
+#define CHAN_EOF_SENT                  0x04
+#define CHAN_EOF_RCVD                  0x08
+
+/* check whether 'efd' is still in use */
+#define CHANNEL_EFD_INPUT_ACTIVE(c) \
+       (compat20 && c->extended_usage == CHAN_EXTENDED_READ && \
+       (c->efd != -1 || \
+       buffer_len(&c->extended) > 0))
+#define CHANNEL_EFD_OUTPUT_ACTIVE(c) \
+       (compat20 && c->extended_usage == CHAN_EXTENDED_WRITE && \
+       ((c->efd != -1 && !(c->flags & (CHAN_EOF_RCVD|CHAN_CLOSE_RCVD))) || \
+       buffer_len(&c->extended) > 0))
 
 /* channel management */
 
 Channel        *channel_lookup(int);
-Channel *channel_new(char *, int, int, int, int, int, int, int, char *, int);
+Channel *channel_new(char *, int, int, int, int, u_int, u_int, int, char *, int);
 void    channel_set_fds(int, int, int, int, int, int, u_int);
 void    channel_free(Channel *);
 void    channel_free_all(void);
@@ -193,7 +206,7 @@ int  channel_setup_remote_fwd_listener(const char *, u_short, int);
 /* x11 forwarding */
 
 int     x11_connect_display(void);
-int     x11_create_display_inet(int, int, int);
+int     x11_create_display_inet(int, int, int, u_int *);
 void     x11_input_open(int, u_int32_t, void *);
 void    x11_request_forwarding_with_spoofing(int, const char *, const char *);
 void    deny_input_open(int, u_int32_t, void *);
@@ -201,9 +214,6 @@ void         deny_input_open(int, u_int32_t, void *);
 /* agent forwarding */
 
 void    auth_request_forwarding(void);
-char   *auth_get_socket_name(void);
-void    auth_sock_cleanup_proc(void *);
-int     auth_input_request_forwarding(struct passwd *);
 void    auth_input_open_request(int, u_int32_t, void *);
 
 /* channel close */
This page took 0.055176 seconds and 4 git commands to generate.