1 /*      $OpenBSD: ssh1.h,v 1.3 2001/05/30 12:55:13 markus Exp $ */
   2 
   3 #ifndef _SSH1_H
   4 #define _SSH1_H
   5 
   6 #pragma ident   "%Z%%M% %I%     %E% SMI"
   7 
   8 #ifdef __cplusplus
   9 extern "C" {
  10 #endif
  11 
  12 
  13 /*
  14  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  15  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
  16  *                    All rights reserved
  17  *
  18  * As far as I am concerned, the code I have written for this software
  19  * can be used freely for any purpose.  Any derived versions of this
  20  * software must be clearly marked as such, and if the derived work is
  21  * incompatible with the protocol description in the RFC file, it must be
  22  * called by a name other than "ssh" or "Secure Shell".
  23  */
  24 
  25 /*
  26  * Definition of message types.  New values can be added, but old values
  27  * should not be removed or without careful consideration of the consequences
  28  * for compatibility.  The maximum value is 254; value 255 is reserved for
  29  * future extension.
  30  */
  31 /* Message name */                      /* msg code */  /* arguments */
  32 #define SSH_MSG_NONE                            0       /* no message */
  33 #define SSH_MSG_DISCONNECT                      1       /* cause (string) */
  34 #define SSH_SMSG_PUBLIC_KEY                     2       /* ck,msk,srvk,hostk */
  35 #define SSH_CMSG_SESSION_KEY                    3       /* key (BIGNUM) */
  36 #define SSH_CMSG_USER                           4       /* user (string) */
  37 #define SSH_CMSG_AUTH_RHOSTS                    5       /* user (string) */
  38 #define SSH_CMSG_AUTH_RSA                       6       /* modulus (BIGNUM) */
  39 #define SSH_SMSG_AUTH_RSA_CHALLENGE             7       /* int (BIGNUM) */
  40 #define SSH_CMSG_AUTH_RSA_RESPONSE              8       /* int (BIGNUM) */
  41 #define SSH_CMSG_AUTH_PASSWORD                  9       /* pass (string) */
  42 #define SSH_CMSG_REQUEST_PTY                    10      /* TERM, tty modes */
  43 #define SSH_CMSG_WINDOW_SIZE                    11      /* row,col,xpix,ypix */
  44 #define SSH_CMSG_EXEC_SHELL                     12      /* */
  45 #define SSH_CMSG_EXEC_CMD                       13      /* cmd (string) */
  46 #define SSH_SMSG_SUCCESS                        14      /* */
  47 #define SSH_SMSG_FAILURE                        15      /* */
  48 #define SSH_CMSG_STDIN_DATA                     16      /* data (string) */
  49 #define SSH_SMSG_STDOUT_DATA                    17      /* data (string) */
  50 #define SSH_SMSG_STDERR_DATA                    18      /* data (string) */
  51 #define SSH_CMSG_EOF                            19      /* */
  52 #define SSH_SMSG_EXITSTATUS                     20      /* status (int) */
  53 #define SSH_MSG_CHANNEL_OPEN_CONFIRMATION       21      /* channel (int) */
  54 #define SSH_MSG_CHANNEL_OPEN_FAILURE            22      /* channel (int) */
  55 #define SSH_MSG_CHANNEL_DATA                    23      /* ch,data (int,str) */
  56 #define SSH_MSG_CHANNEL_CLOSE                   24      /* channel (int) */
  57 #define SSH_MSG_CHANNEL_CLOSE_CONFIRMATION      25      /* channel (int) */
  58 /*      SSH_CMSG_X11_REQUEST_FORWARDING         26         OBSOLETE */
  59 #define SSH_SMSG_X11_OPEN                       27      /* channel (int) */
  60 #define SSH_CMSG_PORT_FORWARD_REQUEST           28      /* p,host,hp (i,s,i) */
  61 #define SSH_MSG_PORT_OPEN                       29      /* ch,h,p (i,s,i) */
  62 #define SSH_CMSG_AGENT_REQUEST_FORWARDING       30      /* */
  63 #define SSH_SMSG_AGENT_OPEN                     31      /* port (int) */
  64 #define SSH_MSG_IGNORE                          32      /* string */
  65 #define SSH_CMSG_EXIT_CONFIRMATION              33      /* */
  66 #define SSH_CMSG_X11_REQUEST_FORWARDING         34      /* proto,data (s,s) */
  67 #define SSH_CMSG_AUTH_RHOSTS_RSA                35      /* user,mod (s,mpi) */
  68 #define SSH_MSG_DEBUG                           36      /* string */
  69 #define SSH_CMSG_REQUEST_COMPRESSION            37      /* level 1-9 (int) */
  70 #define SSH_CMSG_MAX_PACKET_SIZE                38      /* size 4k-1024k (int) */
  71 #define SSH_CMSG_AUTH_TIS                       39      /* we use this for s/key */
  72 #define SSH_SMSG_AUTH_TIS_CHALLENGE             40      /* challenge (string) */
  73 #define SSH_CMSG_AUTH_TIS_RESPONSE              41      /* response (string) */
  74 #define SSH_CMSG_AUTH_KERBEROS                  42      /* (KTEXT) */
  75 #define SSH_SMSG_AUTH_KERBEROS_RESPONSE         43      /* (KTEXT) */
  76 #define SSH_CMSG_HAVE_KERBEROS_TGT              44      /* credentials (s) */
  77 #define SSH_CMSG_HAVE_AFS_TOKEN                 65      /* token (s) */
  78 
  79 /* protocol version 1.5 overloads some version 1.3 message types */
  80 #define SSH_MSG_CHANNEL_INPUT_EOF       SSH_MSG_CHANNEL_CLOSE
  81 #define SSH_MSG_CHANNEL_OUTPUT_CLOSE    SSH_MSG_CHANNEL_CLOSE_CONFIRMATION
  82 
  83 /*
  84  * Authentication methods.  New types can be added, but old types should not
  85  * be removed for compatibility.  The maximum allowed value is 31.
  86  */
  87 #define SSH_AUTH_RHOSTS         1
  88 #define SSH_AUTH_RSA            2
  89 #define SSH_AUTH_PASSWORD       3
  90 #define SSH_AUTH_RHOSTS_RSA     4
  91 #define SSH_AUTH_TIS            5
  92 #define SSH_AUTH_KERBEROS       6
  93 #define SSH_PASS_KERBEROS_TGT   7
  94                                 /* 8 to 15 are reserved */
  95 #define SSH_PASS_AFS_TOKEN      21
  96 
  97 /* Protocol flags.  These are bit masks. */
  98 #define SSH_PROTOFLAG_SCREEN_NUMBER     1       /* X11 forwarding includes screen */
  99 #define SSH_PROTOFLAG_HOST_IN_FWD_OPEN  2       /* forwarding opens contain host */
 100 
 101 #ifdef __cplusplus
 102 }
 103 #endif
 104 
 105 #endif /* _SSH1_H */