Change #defines to enums when it makes sense

This commit is contained in:
Aris Adamantiadis
2009-09-23 22:42:29 +02:00
parent 496a8e12d9
commit b359229a2e
2 changed files with 65 additions and 48 deletions

View File

@@ -132,27 +132,31 @@ typedef int socket_t;
#endif #endif
/* the offsets of methods */ /* the offsets of methods */
#define SSH_KEX 0 enum ssh_kex_types_e {
#define SSH_HOSTKEYS 1 SSH_KEX=0,
#define SSH_CRYPT_C_S 2 SSH_HOSTKEYS,
#define SSH_CRYPT_S_C 3 SSH_CRYPT_C_S,
#define SSH_MAC_C_S 4 SSH_CRYPT_S_C,
#define SSH_MAC_S_C 5 SSH_MAC_C_S,
#define SSH_COMP_C_S 6 SSH_MAC_S_C,
#define SSH_COMP_S_C 7 SSH_COMP_C_S,
#define SSH_LANG_C_S 8 SSH_COMP_S_C,
#define SSH_LANG_S_C 9 SSH_LANG_C_S,
SSH_LANG_S_C
};
#define SSH_CRYPT 2 #define SSH_CRYPT 2
#define SSH_MAC 3 #define SSH_MAC 3
#define SSH_COMP 4 #define SSH_COMP 4
#define SSH_LANG 5 #define SSH_LANG 5
#define SSH_AUTH_SUCCESS 0 enum ssh_auth_e {
#define SSH_AUTH_DENIED 1 SSH_AUTH_SUCCESS=0,
#define SSH_AUTH_PARTIAL 2 SSH_AUTH_DENIED,
#define SSH_AUTH_INFO 3 SSH_AUTH_PARTIAL,
#define SSH_AUTH_ERROR -1 SSH_AUTH_INFO,
SSH_AUTH_ERROR=-1
};
/* auth flags */ /* auth flags */
#define SSH_AUTH_METHOD_UNKNOWN 0 #define SSH_AUTH_METHOD_UNKNOWN 0
@@ -163,47 +167,57 @@ typedef int socket_t;
#define SSH_AUTH_METHOD_INTERACTIVE 0x0010 #define SSH_AUTH_METHOD_INTERACTIVE 0x0010
/* messages */ /* messages */
#define SSH_REQUEST_AUTH 1 enum ssh_requests_e {
#define SSH_REQUEST_CHANNEL_OPEN 2 SSH_REQUEST_AUTH=1,
#define SSH_REQUEST_CHANNEL 3 SSH_REQUEST_CHANNEL_OPEN,
#define SSH_REQUEST_SERVICE 4 SSH_REQUEST_CHANNEL,
#define SSH_REQUEST_GLOBAL 5 SSH_REQUEST_SERVICE,
SSH_REQUEST_GLOBAL,
};
#define SSH_CHANNEL_UNKNOWN 0 enum ssh_channel_type_e {
#define SSH_CHANNEL_SESSION 1 SSH_CHANNEL_UNKNOWN=0,
#define SSH_CHANNEL_DIRECT_TCPIP 2 SSH_CHANNEL_SESSION,
#define SSH_CHANNEL_FORWARDED_TCPIP 3 SSH_CHANNEL_DIRECT_TCPIP,
#define SSH_CHANNEL_X11 4 SSH_CHANNEL_FORWARDED_TCPIP,
SSH_CHANNEL_X11
};
#define SSH_CHANNEL_REQUEST_UNKNOWN 0 enum ssh_channel_requests_e {
#define SSH_CHANNEL_REQUEST_PTY 1 SSH_CHANNEL_REQUEST_UNKNOWN=0,
#define SSH_CHANNEL_REQUEST_EXEC 2 SSH_CHANNEL_REQUEST_PTY,
#define SSH_CHANNEL_REQUEST_SHELL 3 SSH_CHANNEL_REQUEST_EXEC,
#define SSH_CHANNEL_REQUEST_ENV 4 SSH_CHANNEL_REQUEST_SHELL,
#define SSH_CHANNEL_REQUEST_SUBSYSTEM 5 SSH_CHANNEL_REQUEST_ENV,
#define SSH_CHANNEL_REQUEST_WINDOW_CHANGE 6 SSH_CHANNEL_REQUEST_SUBSYSTEM,
SSH_CHANNEL_REQUEST_WINDOW_CHANGE,
};
/* status flags */ /* status flags */
#define SSH_CLOSED (1<<0) #define SSH_CLOSED 0x01
#define SSH_READ_PENDING (1<<1) #define SSH_READ_PENDING 0x02
#define SSH_CLOSED_ERROR (1<<2) #define SSH_CLOSED_ERROR 0x04
#define SSH_SERVER_ERROR -1 enum ssh_server_known_e {
#define SSH_SERVER_NOT_KNOWN 0 SSH_SERVER_ERROR=-1,
#define SSH_SERVER_KNOWN_OK 1 SSH_SERVER_NOT_KNOWN=0,
#define SSH_SERVER_KNOWN_CHANGED 2 SSH_SERVER_KNOWN_OK,
#define SSH_SERVER_FOUND_OTHER 3 SSH_SERVER_KNOWN_CHANGED,
#define SSH_SERVER_FILE_NOT_FOUND 4 SSH_SERVER_FOUND_OTHER,
SSH_SERVER_FILE_NOT_FOUND,
};
#ifndef MD5_DIGEST_LEN #ifndef MD5_DIGEST_LEN
#define MD5_DIGEST_LEN 16 #define MD5_DIGEST_LEN 16
#endif #endif
/* errors */ /* errors */
#define SSH_NO_ERROR 0 enum ssh_error_types_e {
#define SSH_REQUEST_DENIED 1 SSH_NO_ERROR=0,
#define SSH_FATAL 2 SSH_REQUEST_DENIED,
#define SSH_EINTR 3 SSH_FATAL,
SSH_EINTR
};
/* Error return codes */ /* Error return codes */
#define SSH_OK 0 /* No error */ #define SSH_OK 0 /* No error */
@@ -264,6 +278,7 @@ enum ssh_options_e {
SSH_OPTIONS_SERVER_RSAKEY, SSH_OPTIONS_SERVER_RSAKEY,
SSH_OPTIONS_SERVER_BANNER, SSH_OPTIONS_SERVER_BANNER,
}; };
enum { enum {
/** Code is going to write/create remote files */ /** Code is going to write/create remote files */
SSH_SCP_WRITE, SSH_SCP_WRITE,

View File

@@ -53,9 +53,11 @@
#define CLIENTBANNER2 "SSH-2.0-libssh-" SSH_STRINGIFY(LIBSSH_VERSION) #define CLIENTBANNER2 "SSH-2.0-libssh-" SSH_STRINGIFY(LIBSSH_VERSION)
#define KBDINT_MAX_PROMPT 256 /* more than openssh's :) */ #define KBDINT_MAX_PROMPT 256 /* more than openssh's :) */
/* some types for public keys */ /* some types for public keys */
#define TYPE_DSS 1 enum public_key_types_e{
#define TYPE_RSA 2 TYPE_DSS=1,
#define TYPE_RSA1 3 TYPE_RSA,
TYPE_RSA1
};
/* profiling constants. Don't touch them unless you know what you do */ /* profiling constants. Don't touch them unless you know what you do */
#ifdef HAVE_LIBCRYPTO #ifdef HAVE_LIBCRYPTO