[BACK]Return to channels.h CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Annotation of src/usr.bin/ssh/channels.h, Revision 1.4

1.4     ! markus      1: /* RCSID("$Id: channels.h,v 1.3 1999/10/17 16:56:09 markus Exp $"); */
1.2       markus      2:
1.1       markus      3: #ifndef CHANNELS_H
                      4: #define CHANNELS_H
                      5:
                      6: /* Definitions for channel types. */
                      7: #define SSH_CHANNEL_FREE               0 /* This channel is free (unused). */
                      8: #define SSH_CHANNEL_X11_LISTENER       1 /* Listening for inet X11 conn. */
                      9: #define SSH_CHANNEL_PORT_LISTENER      2 /* Listening on a port. */
                     10: #define SSH_CHANNEL_OPENING            3 /* waiting for confirmation */
                     11: #define SSH_CHANNEL_OPEN               4 /* normal open two-way channel */
                     12: #define SSH_CHANNEL_CLOSED             5 /* waiting for close confirmation */
                     13: /*     SSH_CHANNEL_AUTH_FD             6    authentication fd */
                     14: #define SSH_CHANNEL_AUTH_SOCKET                7 /* authentication socket */
                     15: /*     SSH_CHANNEL_AUTH_SOCKET_FD      8    connection to auth socket */
                     16: #define SSH_CHANNEL_X11_OPEN           9 /* reading first X11 packet */
                     17: #define SSH_CHANNEL_INPUT_DRAINING     10 /* sending remaining data to conn */
                     18: #define SSH_CHANNEL_OUTPUT_DRAINING    11 /* sending remaining data to app */
                     19:
                     20: /* Data structure for channel data.  This is iniailized in channel_allocate
                     21:    and cleared in channel_free. */
                     22:
1.3       markus     23: typedef struct Channel
1.1       markus     24: {
                     25:   int type;            /* channel type/state */
                     26:   int self;            /* my own channel identifier */
                     27:   int remote_id;       /* channel identifier for remote peer */
                     28:                        /* peer can be reached over encrypted connection, via packet-sent */
1.4     ! markus     29:   int istate;          /* input from channel (state of receive half) */
        !            30:   int ostate;          /* output to channel  (state of transmit half) */
1.1       markus     31:   int sock;            /* data socket, linked to this channel */
                     32:   Buffer input;                /* data read from socket, to be sent over encrypted connection */
                     33:   Buffer output;       /* data received over encrypted connection for send on socket */
                     34:   char path[200];      /* path for unix domain sockets, or host name for forwards */
                     35:   int listening_port;  /* port being listened for forwards */
                     36:   int host_port;       /* remote port to connect for forwards */
                     37:   char *remote_name;   /* remote hostname */
                     38: } Channel;
                     39:
                     40: #endif