1 module libssh.dconst; 2 3 import libssh.types; 4 5 enum SSH_KEX 6 { 7 KEX = ssh_kex_types_e.SSH_KEX, 8 HOSTKEYS = ssh_kex_types_e.SSH_HOSTKEYS, 9 CRYPT_C_S = ssh_kex_types_e.SSH_CRYPT_C_S, 10 CRYPT_S_C = ssh_kex_types_e.SSH_CRYPT_S_C, 11 MAC_C_S = ssh_kex_types_e.SSH_MAC_C_S, 12 MAC_S_C = ssh_kex_types_e.SSH_MAC_S_C, 13 COMP_C_S = ssh_kex_types_e.SSH_COMP_C_S, 14 COMP_S_C = ssh_kex_types_e.SSH_COMP_S_C, 15 LANG_C_S = ssh_kex_types_e.SSH_LANG_C_S, 16 LANG_S_C = ssh_kex_types_e.SSH_LANG_S_C 17 } 18 19 enum SSH_AUTH_RESULT 20 { 21 SUCCESS = ssh_auth_e.SSH_AUTH_SUCCESS, 22 DENIED = ssh_auth_e.SSH_AUTH_DENIED, 23 PARTIAL = ssh_auth_e.SSH_AUTH_PARTIAL, 24 INFO = ssh_auth_e.SSH_AUTH_INFO, 25 AGAIN = ssh_auth_e.SSH_AUTH_AGAIN, 26 ERROR = ssh_auth_e.SSH_AUTH_ERROR 27 } 28 29 enum SSH_AUTH_METHOD 30 { 31 UNKNOWN = SSH_AUTH_METHOD_UNKNOWN, 32 NONE = SSH_AUTH_METHOD_NONE, 33 PASSWORD = SSH_AUTH_METHOD_PASSWORD, 34 PUBLICKEY = SSH_AUTH_METHOD_PUBLICKEY, 35 HOSTBASED = SSH_AUTH_METHOD_HOSTBASED, 36 INTERACTIVE = SSH_AUTH_METHOD_INTERACTIVE, 37 GSSAPI_MIC = SSH_AUTH_METHOD_GSSAPI_MIC, 38 } 39 40 enum SSH_REQUEST 41 { 42 AUTH = ssh_requests_e.SSH_REQUEST_AUTH, 43 CHANNEL_OPEN = ssh_requests_e.SSH_REQUEST_CHANNEL_OPEN, 44 CHANNEL = ssh_requests_e.SSH_REQUEST_CHANNEL, 45 SERVICE = ssh_requests_e.SSH_REQUEST_SERVICE, 46 GLOBAL = ssh_requests_e.SSH_REQUEST_GLOBAL 47 } 48 49 enum SSH_CHANNEL_TYPE 50 { 51 UNKNOWN = ssh_channel_type_e.SSH_CHANNEL_UNKNOWN, 52 SESSION = ssh_channel_type_e.SSH_CHANNEL_SESSION, 53 DIRECT_TCPIP = ssh_channel_type_e.SSH_CHANNEL_DIRECT_TCPIP, 54 FORWARDED_TCPIP = ssh_channel_type_e.SSH_CHANNEL_FORWARDED_TCPIP, 55 X11 = ssh_channel_type_e.SSH_CHANNEL_X11, 56 AUTH_AGENT = ssh_channel_type_e.SSH_CHANNEL_AUTH_AGENT 57 } 58 59 enum SSH_CHANNEL_REQUEST 60 { 61 UNKNOWN = ssh_channel_requests_e.SSH_CHANNEL_REQUEST_UNKNOWN, 62 PTY = ssh_channel_requests_e.SSH_CHANNEL_REQUEST_PTY, 63 EXEC = ssh_channel_requests_e.SSH_CHANNEL_REQUEST_EXEC, 64 SHELL = ssh_channel_requests_e.SSH_CHANNEL_REQUEST_SHELL, 65 ENV = ssh_channel_requests_e.SSH_CHANNEL_REQUEST_ENV, 66 SUBSYSTEM = ssh_channel_requests_e.SSH_CHANNEL_REQUEST_SUBSYSTEM, 67 WINDOW_CHANGE = ssh_channel_requests_e.SSH_CHANNEL_REQUEST_WINDOW_CHANGE, 68 X11 = ssh_channel_requests_e.SSH_CHANNEL_REQUEST_X11 69 } 70 71 enum SSH_PUBLICKEY_STATE 72 { 73 ERROR = ssh_publickey_state_e.SSH_PUBLICKEY_STATE_ERROR, 74 NONE = ssh_publickey_state_e.SSH_PUBLICKEY_STATE_NONE, 75 VALID = ssh_publickey_state_e.SSH_PUBLICKEY_STATE_VALID, 76 WRONG = ssh_publickey_state_e.SSH_PUBLICKEY_STATE_WRONG 77 } 78 79 enum SSH_STATUS_FLAG 80 { 81 CLOSED = SSH_CLOSED, 82 PENDIN = SSH_READ_PENDING, 83 CLOSED_ERROR = SSH_CLOSED_ERROR, 84 WRITE_PENDING = SSH_WRITE_PENDING, 85 } 86 87 enum SSH_SERVER_KNOWN 88 { 89 ERROR = ssh_server_known_e.SSH_SERVER_ERROR, 90 NOT_KNOWN = ssh_server_known_e.SSH_SERVER_NOT_KNOWN, 91 OK = ssh_server_known_e.SSH_SERVER_KNOWN_OK, 92 CHANGED = ssh_server_known_e.SSH_SERVER_KNOWN_CHANGED, 93 FOUND_OTHER = ssh_server_known_e.SSH_SERVER_FOUND_OTHER, 94 FILE_NOT_FOUND = ssh_server_known_e.SSH_SERVER_FILE_NOT_FOUND 95 } 96 97 enum SSH_KNOWN_HOSTS 98 { 99 ERROR = ssh_known_hosts_e.SSH_KNOWN_HOSTS_ERROR, 100 NOT_FOUND = ssh_known_hosts_e.SSH_KNOWN_HOSTS_NOT_FOUND, 101 UNKNOWN = ssh_known_hosts_e.SSH_KNOWN_HOSTS_UNKNOWN, 102 OK = ssh_known_hosts_e.SSH_KNOWN_HOSTS_OK, 103 CHANGED = ssh_known_hosts_e.SSH_KNOWN_HOSTS_CHANGED, 104 OTHER = ssh_known_hosts_e.SSH_KNOWN_HOSTS_OTHER, 105 } 106 107 enum SSH_ERROR_TYPE 108 { 109 NO_ERROR = ssh_error_types_e.SSH_NO_ERROR, 110 REQUEST_DENIED = ssh_error_types_e.SSH_REQUEST_DENIED, 111 FATAL = ssh_error_types_e.SSH_FATAL, 112 EINTR = ssh_error_types_e.SSH_EINTR 113 } 114 115 enum SSH_KEYTYPE 116 { 117 UNKNOWN = ssh_keytypes_e.SSH_KEYTYPE_UNKNOWN, 118 DSS = ssh_keytypes_e.SSH_KEYTYPE_DSS, 119 RSA = ssh_keytypes_e.SSH_KEYTYPE_RSA, 120 RSA1 = ssh_keytypes_e.SSH_KEYTYPE_RSA1, 121 ECDSA = ssh_keytypes_e.SSH_KEYTYPE_ECDSA, 122 ED25519 = ssh_keytypes_e.SSH_KEYTYPE_ED25519, 123 DSS_CERT01 = ssh_keytypes_e.SSH_KEYTYPE_DSS_CERT01, 124 RSA_CERT01 = ssh_keytypes_e.SSH_KEYTYPE_RSA_CERT01 125 } 126 127 enum SSH_KEYCMP 128 { 129 PUBLIC = ssh_keycmp_e.SSH_KEY_CMP_PUBLIC, 130 PRIVATE = ssh_keycmp_e.SSH_KEY_CMP_PRIVATE 131 } 132 133 enum SSH_RETCODE 134 { 135 OK = SSH_OK, 136 ERROR = SSH_ERROR, 137 AGAIN = SSH_AGAIN, 138 EOF = SSH_EOF 139 } 140 141 enum SSH_LOG 142 { 143 NOLOG = SSH_LOG_NOLOG, 144 WARNING = SSH_LOG_WARNING, 145 PROTOCOL = SSH_LOG_PROTOCOL, 146 PACKET = SSH_LOG_PACKET, 147 FUNCTIONS = SSH_LOG_FUNCTIONS, 148 149 NONE = SSH_LOG_NONE, 150 WARN = SSH_LOG_WARN, 151 INFO = SSH_LOG_INFO, 152 DEBUG = SSH_LOG_DEBUG, 153 TRACE = SSH_LOG_TRACE, 154 } 155 156 enum SSH_OPTION 157 { 158 HOST = ssh_options_e.SSH_OPTIONS_HOST, 159 PORT = ssh_options_e.SSH_OPTIONS_PORT, 160 PORT_STR = ssh_options_e.SSH_OPTIONS_PORT_STR, 161 FD = ssh_options_e.SSH_OPTIONS_FD, 162 USER = ssh_options_e.SSH_OPTIONS_USER, 163 SSH_DIR = ssh_options_e.SSH_OPTIONS_SSH_DIR, 164 IDENTITY = ssh_options_e.SSH_OPTIONS_IDENTITY, 165 ADD_IDENTITY = ssh_options_e.SSH_OPTIONS_ADD_IDENTITY, 166 KNOWNHOSTS = ssh_options_e.SSH_OPTIONS_KNOWNHOSTS, 167 TIMEOUT = ssh_options_e.SSH_OPTIONS_TIMEOUT, 168 TIMEOUT_USEC = ssh_options_e.SSH_OPTIONS_TIMEOUT_USEC, 169 SSH1 = ssh_options_e.SSH_OPTIONS_SSH1, 170 SSH2 = ssh_options_e.SSH_OPTIONS_SSH2, 171 LOG_VERBOSITY = ssh_options_e.SSH_OPTIONS_LOG_VERBOSITY, 172 LOG_VERBOSITY_STR = ssh_options_e.SSH_OPTIONS_LOG_VERBOSITY_STR, 173 CIPHERS_C_S = ssh_options_e.SSH_OPTIONS_CIPHERS_C_S, 174 CIPHERS_S_C = ssh_options_e.SSH_OPTIONS_CIPHERS_S_C, 175 COMPRESSION_C_S = ssh_options_e.SSH_OPTIONS_COMPRESSION_C_S, 176 COMPRESSION_S_C = ssh_options_e.SSH_OPTIONS_COMPRESSION_S_C, 177 PROXYCOMMAND = ssh_options_e.SSH_OPTIONS_PROXYCOMMAND, 178 BINDADDR = ssh_options_e.SSH_OPTIONS_BINDADDR, 179 STRICTHOSTKEYCHECK = ssh_options_e.SSH_OPTIONS_STRICTHOSTKEYCHECK, 180 COMPRESSION = ssh_options_e.SSH_OPTIONS_COMPRESSION, 181 COMPRESSION_LEVEL = ssh_options_e.SSH_OPTIONS_COMPRESSION_LEVEL, 182 KEY_EXCHANGE = ssh_options_e.SSH_OPTIONS_KEY_EXCHANGE, 183 HOSTKEYS = ssh_options_e.SSH_OPTIONS_HOSTKEYS, 184 GSSAPI_SERVER_IDENTITY = ssh_options_e.SSH_OPTIONS_GSSAPI_SERVER_IDENTITY, 185 GSSAPI_CLIENT_IDENTITY = ssh_options_e.SSH_OPTIONS_GSSAPI_CLIENT_IDENTITY, 186 GSSAPI_DELEGATE_CREDENTIALS = ssh_options_e.SSH_OPTIONS_GSSAPI_DELEGATE_CREDENTIALS, 187 HMAC_C_S = ssh_options_e.SSH_OPTIONS_HMAC_C_S, 188 HMAC_S_C = ssh_options_e.SSH_OPTIONS_HMAC_S_C, 189 PASSWORD_AUTH = ssh_options_e.SSH_OPTIONS_PASSWORD_AUTH, 190 PUBKEY_AUTH = ssh_options_e.SSH_OPTIONS_PUBKEY_AUTH, 191 KBDINT_AUTH = ssh_options_e.SSH_OPTIONS_KBDINT_AUTH, 192 GSSAPI_AUTH = ssh_options_e.SSH_OPTIONS_GSSAPI_AUTH, 193 GLOBAL_KNOWNHOSTS = ssh_options_e.SSH_OPTIONS_GLOBAL_KNOWNHOSTS, 194 NODELAY = ssh_options_e.SSH_OPTIONS_NODELAY, 195 PUBLICKEY_ACCEPTED_TYPES = ssh_options_e.SSH_OPTIONS_PUBLICKEY_ACCEPTED_TYPES, 196 } 197 198 enum SSH_SCP 199 { 200 WRITE = SSH_SCP_WRITE, 201 READ = SSH_SCP_READ, 202 RECURSIVE = SSH_SCP_RECURSIVE, 203 } 204 205 enum SSH_SCP_REQUEST_TYPE 206 { 207 NEWDIR = ssh_scp_request_types.SSH_SCP_REQUEST_NEWDIR, 208 NEWFILE = ssh_scp_request_types.SSH_SCP_REQUEST_NEWFILE, 209 EOF = ssh_scp_request_types.SSH_SCP_REQUEST_EOF, 210 ENDDIR = ssh_scp_request_types.SSH_SCP_REQUEST_ENDDIR, 211 WARNING = ssh_scp_request_types.SSH_SCP_REQUEST_WARNING 212 } 213 214 enum SSH_CONNECTOR_FLAG 215 { 216 STDOUT = ssh_connector_flags_e.SSH_CONNECTOR_STDOUT, 217 STDERR = ssh_connector_flags_e.SSH_CONNECTOR_STDERR, 218 BOTH = ssh_connector_flags_e.SSH_CONNECTOR_BOTH 219 } 220 221 enum SSH_PUBLICKEY_HASH_TYPE 222 { 223 SHA1 = ssh_publickey_hash_type.SSH_PUBLICKEY_HASH_SHA1, 224 MD5 = ssh_publickey_hash_type.SSH_PUBLICKEY_HASH_MD5, 225 SHA256 = ssh_publickey_hash_type.SSH_PUBLICKEY_HASH_SHA256 226 }