The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

use strict;
use warnings;

use Carp;
our %EXPORT_TAGS;

### CONSTANTS BELOW!!!                                        (this is a marker)

#
# The constant definitions are automatically extracted from the real
# Net::SSH2 module and inserted here by the gen_constants_ssh2.pl
# script.
#
# Do not touch by hand!!!
#

sub LIBSSH2_CALLBACK_DEBUG () { 1 }
sub LIBSSH2_CALLBACK_DISCONNECT () { 2 }
sub LIBSSH2_CALLBACK_IGNORE () { 0 }
sub LIBSSH2_CALLBACK_MACERROR () { 3 }
sub LIBSSH2_CALLBACK_X11 () { 4 }
sub LIBSSH2_CHANNEL_EXTENDED_DATA_IGNORE () { 1 }
sub LIBSSH2_CHANNEL_EXTENDED_DATA_MERGE () { 2 }
sub LIBSSH2_CHANNEL_EXTENDED_DATA_NORMAL () { 0 }
sub LIBSSH2_ERROR_ALLOC () { -6 }
sub LIBSSH2_ERROR_BANNER_NONE () { -2 }
sub LIBSSH2_ERROR_BANNER_SEND () { -3 }
sub LIBSSH2_ERROR_CHANNEL_CLOSED () { -26 }
sub LIBSSH2_ERROR_CHANNEL_EOF_SENT () { -27 }
sub LIBSSH2_ERROR_CHANNEL_FAILURE () { -21 }
sub LIBSSH2_ERROR_CHANNEL_OUTOFORDER () { -20 }
sub LIBSSH2_ERROR_CHANNEL_PACKET_EXCEEDED () { -25 }
sub LIBSSH2_ERROR_CHANNEL_REQUEST_DENIED () { -22 }
sub LIBSSH2_ERROR_CHANNEL_UNKNOWN () { -23 }
sub LIBSSH2_ERROR_CHANNEL_WINDOW_EXCEEDED () { -24 }
sub LIBSSH2_ERROR_DECRYPT () { -12 }
sub LIBSSH2_ERROR_FILE () { -16 }
sub LIBSSH2_ERROR_HOSTKEY_INIT () { -10 }
sub LIBSSH2_ERROR_HOSTKEY_SIGN () { -11 }
sub LIBSSH2_ERROR_INVAL () { -34 }
sub LIBSSH2_ERROR_INVALID_MAC () { -4 }
sub LIBSSH2_ERROR_INVALID_POLL_TYPE () { -35 }
sub LIBSSH2_ERROR_KEX_FAILURE () { -5 }
sub LIBSSH2_ERROR_KEY_EXCHANGE_FAILURE () { -8 }
sub LIBSSH2_ERROR_METHOD_NONE () { -17 }
sub LIBSSH2_ERROR_METHOD_NOT_SUPPORTED () { -33 }
sub LIBSSH2_ERROR_PASSWORD_EXPIRED () { -15 }
sub LIBSSH2_ERROR_PROTO () { -14 }
sub LIBSSH2_ERROR_PUBLICKEY_UNRECOGNIZED () { -18 }
sub LIBSSH2_ERROR_PUBLICKEY_UNVERIFIED () { -19 }
sub LIBSSH2_ERROR_REQUEST_DENIED () { -32 }
sub LIBSSH2_ERROR_SCP_PROTOCOL () { -28 }
sub LIBSSH2_ERROR_SFTP_PROTOCOL () { -31 }
sub LIBSSH2_ERROR_SOCKET_DISCONNECT () { -13 }
sub LIBSSH2_ERROR_SOCKET_NONE () { -1 }
sub LIBSSH2_ERROR_SOCKET_SEND () { -7 }
sub LIBSSH2_ERROR_SOCKET_TIMEOUT () { -30 }
sub LIBSSH2_ERROR_TIMEOUT () { -9 }
sub LIBSSH2_ERROR_ZLIB () { -29 }
sub LIBSSH2_HOSTKEY_HASH_MD5 () { 1 }
sub LIBSSH2_HOSTKEY_HASH_SHA1 () { 2 }
sub LIBSSH2_METHOD_COMP_CS () { 6 }
sub LIBSSH2_METHOD_COMP_SC () { 7 }
sub LIBSSH2_METHOD_CRYPT_CS () { 2 }
sub LIBSSH2_METHOD_CRYPT_SC () { 3 }
sub LIBSSH2_METHOD_HOSTKEY () { 1 }
sub LIBSSH2_METHOD_KEX () { 0 }
sub LIBSSH2_METHOD_LANG_CS () { 8 }
sub LIBSSH2_METHOD_LANG_SC () { 9 }
sub LIBSSH2_METHOD_MAC_CS () { 4 }
sub LIBSSH2_METHOD_MAC_SC () { 5 }
sub LIBSSH2_FX_BAD_MESSAGE () { 5 }
sub LIBSSH2_FX_CONNECTION_LOST () { 7 }
sub LIBSSH2_FX_DIR_NOT_EMPTY () { 18 }
sub LIBSSH2_FX_EOF () { 1 }
sub LIBSSH2_FX_FAILURE () { 4 }
sub LIBSSH2_FX_FILE_ALREADY_EXISTS () { 11 }
sub LIBSSH2_FX_INVALID_FILENAME () { 20 }
sub LIBSSH2_FX_INVALID_HANDLE () { 9 }
sub LIBSSH2_FX_LINK_LOOP () { 21 }
sub LIBSSH2_FX_LOCK_CONFlICT () { 17 }
sub LIBSSH2_FX_NOT_A_DIRECTORY () { 19 }
sub LIBSSH2_FX_NO_CONNECTION () { 6 }
sub LIBSSH2_FX_NO_MEDIA () { 13 }
sub LIBSSH2_FX_NO_SPACE_ON_FILESYSTEM () { 14 }
sub LIBSSH2_FX_NO_SUCH_FILE () { 2 }
sub LIBSSH2_FX_NO_SUCH_PATH () { 10 }
sub LIBSSH2_FX_OK () { 0 }
sub LIBSSH2_FX_OP_UNSUPPORTED () { 8 }
sub LIBSSH2_FX_PERMISSION_DENIED () { 3 }
sub LIBSSH2_FX_QUOTA_EXCEEDED () { 15 }
sub LIBSSH2_FX_UNKNOWN_PRINCIPLE () { 16 }
sub LIBSSH2_FX_WRITE_PROTECT () { 12 }
sub LIBSSH2_FXF_APPEND () { 4 }
sub LIBSSH2_FXF_CREAT () { 8 }
sub LIBSSH2_FXF_EXCL () { 32 }
sub LIBSSH2_FXF_READ () { 1 }
sub LIBSSH2_FXF_TRUNC () { 16 }
sub LIBSSH2_FXF_WRITE () { 2 }
sub LIBSSH2_SFTP_ATTR_ACMODTIME () { 8 }
sub LIBSSH2_SFTP_ATTR_EXTENDED () { 2147483648 }
sub LIBSSH2_SFTP_ATTR_PERMISSIONS () { 4 }
sub LIBSSH2_SFTP_ATTR_SIZE () { 1 }
sub LIBSSH2_SFTP_ATTR_UIDGID () { 2 }
sub LIBSSH2_SFTP_LSTAT () { 1 }
sub LIBSSH2_SFTP_OPENDIR () { 1 }
sub LIBSSH2_SFTP_OPENFILE () { 0 }
sub LIBSSH2_SFTP_PACKET_MAXLEN () { 40000 }
sub LIBSSH2_SFTP_READLINK () { 1 }
sub LIBSSH2_SFTP_REALPATH () { 2 }
sub LIBSSH2_SFTP_RENAME_ATOMIC () { 2 }
sub LIBSSH2_SFTP_RENAME_NATIVE () { 4 }
sub LIBSSH2_SFTP_RENAME_OVERWRITE () { 1 }
sub LIBSSH2_SFTP_SETSTAT () { 2 }
sub LIBSSH2_SFTP_STAT () { 0 }
sub LIBSSH2_SFTP_SYMLINK () { 0 }
sub LIBSSH2_SFTP_TYPE_BLOCK_DEVICE () { 8 }
sub LIBSSH2_SFTP_TYPE_CHAR_DEVICE () { 7 }
sub LIBSSH2_SFTP_TYPE_DIRECTORY () { 2 }
sub LIBSSH2_SFTP_TYPE_FIFO () { 9 }
sub LIBSSH2_SFTP_TYPE_REGULAR () { 1 }
sub LIBSSH2_SFTP_TYPE_SOCKET () { 6 }
sub LIBSSH2_SFTP_TYPE_SPECIAL () { 4 }
sub LIBSSH2_SFTP_TYPE_SYMLINK () { 3 }
sub LIBSSH2_SFTP_TYPE_UNKNOWN () { 5 }
sub LIBSSH2_SFTP_VERSION () { 3 }
sub SSH_DISCONNECT_AUTH_CANCELLED_BY_USER () { croak 'SSH_DISCONNECT_AUTH_CANCELLED_BY_USER is not a valid Net::SSH2 macro' }
sub SSH_DISCONNECT_BY_APPLICATION () { croak 'SSH_DISCONNECT_BY_APPLICATION is not a valid Net::SSH2 macro' }
sub SSH_DISCONNECT_COMPRESSION_ERROR () { croak 'SSH_DISCONNECT_COMPRESSION_ERROR is not a valid Net::SSH2 macro' }
sub SSH_DISCONNECT_CONNECTION_LOST () { croak 'SSH_DISCONNECT_CONNECTION_LOST is not a valid Net::SSH2 macro' }
sub SSH_DISCONNECT_HOST_KEY_NOT_VERIFIABLE () { croak 'SSH_DISCONNECT_HOST_KEY_NOT_VERIFIABLE is not a valid Net::SSH2 macro' }
sub SSH_DISCONNECT_HOST_NOT_ALLOWED_TO_CONNECT () { croak 'SSH_DISCONNECT_HOST_NOT_ALLOWED_TO_CONNECT is not a valid Net::SSH2 macro' }
sub SSH_DISCONNECT_ILLEGAL_USER_NAME () { croak 'SSH_DISCONNECT_ILLEGAL_USER_NAME is not a valid Net::SSH2 macro' }
sub SSH_DISCONNECT_KEY_EXCHANGE_FAILED () { croak 'SSH_DISCONNECT_KEY_EXCHANGE_FAILED is not a valid Net::SSH2 macro' }
sub SSH_DISCONNECT_MAC_ERROR () { croak 'SSH_DISCONNECT_MAC_ERROR is not a valid Net::SSH2 macro' }
sub SSH_DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE () { croak 'SSH_DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE is not a valid Net::SSH2 macro' }
sub SSH_DISCONNECT_PROTOCOL_ERROR () { croak 'SSH_DISCONNECT_PROTOCOL_ERROR is not a valid Net::SSH2 macro' }
sub SSH_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED () { croak 'SSH_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED is not a valid Net::SSH2 macro' }
sub SSH_DISCONNECT_RESERVED () { croak 'SSH_DISCONNECT_RESERVED is not a valid Net::SSH2 macro' }
sub SSH_DISCONNECT_SERVICE_NOT_AVAILABLE () { croak 'SSH_DISCONNECT_SERVICE_NOT_AVAILABLE is not a valid Net::SSH2 macro' }
sub SSH_DISCONNECT_TOO_MANY_CONNECTIONS () { croak 'SSH_DISCONNECT_TOO_MANY_CONNECTIONS is not a valid Net::SSH2 macro' }

%EXPORT_TAGS = (
                 'fx' => [
                           'LIBSSH2_FX_BAD_MESSAGE',
                           'LIBSSH2_FX_CONNECTION_LOST',
                           'LIBSSH2_FX_DIR_NOT_EMPTY',
                           'LIBSSH2_FX_EOF',
                           'LIBSSH2_FX_FAILURE',
                           'LIBSSH2_FX_FILE_ALREADY_EXISTS',
                           'LIBSSH2_FX_INVALID_FILENAME',
                           'LIBSSH2_FX_INVALID_HANDLE',
                           'LIBSSH2_FX_LINK_LOOP',
                           'LIBSSH2_FX_LOCK_CONFlICT',
                           'LIBSSH2_FX_NOT_A_DIRECTORY',
                           'LIBSSH2_FX_NO_CONNECTION',
                           'LIBSSH2_FX_NO_MEDIA',
                           'LIBSSH2_FX_NO_SPACE_ON_FILESYSTEM',
                           'LIBSSH2_FX_NO_SUCH_FILE',
                           'LIBSSH2_FX_NO_SUCH_PATH',
                           'LIBSSH2_FX_OK',
                           'LIBSSH2_FX_OP_UNSUPPORTED',
                           'LIBSSH2_FX_PERMISSION_DENIED',
                           'LIBSSH2_FX_QUOTA_EXCEEDED',
                           'LIBSSH2_FX_UNKNOWN_PRINCIPLE',
                           'LIBSSH2_FX_WRITE_PROTECT'
                         ],
                 'disconnect' => [
                                   'SSH_DISCONNECT_AUTH_CANCELLED_BY_USER',
                                   'SSH_DISCONNECT_BY_APPLICATION',
                                   'SSH_DISCONNECT_COMPRESSION_ERROR',
                                   'SSH_DISCONNECT_CONNECTION_LOST',
                                   'SSH_DISCONNECT_HOST_KEY_NOT_VERIFIABLE',
                                   'SSH_DISCONNECT_HOST_NOT_ALLOWED_TO_CONNECT',
                                   'SSH_DISCONNECT_ILLEGAL_USER_NAME',
                                   'SSH_DISCONNECT_KEY_EXCHANGE_FAILED',
                                   'SSH_DISCONNECT_MAC_ERROR',
                                   'SSH_DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE',
                                   'SSH_DISCONNECT_PROTOCOL_ERROR',
                                   'SSH_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED',
                                   'SSH_DISCONNECT_RESERVED',
                                   'SSH_DISCONNECT_SERVICE_NOT_AVAILABLE',
                                   'SSH_DISCONNECT_TOO_MANY_CONNECTIONS'
                                 ],
                 'channel' => [
                                'LIBSSH2_CHANNEL_EXTENDED_DATA_IGNORE',
                                'LIBSSH2_CHANNEL_EXTENDED_DATA_MERGE',
                                'LIBSSH2_CHANNEL_EXTENDED_DATA_NORMAL'
                              ],
                 'all' => [
                            'LIBSSH2_CALLBACK_DEBUG',
                            'LIBSSH2_CALLBACK_DISCONNECT',
                            'LIBSSH2_CALLBACK_IGNORE',
                            'LIBSSH2_CALLBACK_MACERROR',
                            'LIBSSH2_CALLBACK_X11',
                            'LIBSSH2_CHANNEL_EXTENDED_DATA_IGNORE',
                            'LIBSSH2_CHANNEL_EXTENDED_DATA_MERGE',
                            'LIBSSH2_CHANNEL_EXTENDED_DATA_NORMAL',
                            'LIBSSH2_ERROR_ALLOC',
                            'LIBSSH2_ERROR_BANNER_NONE',
                            'LIBSSH2_ERROR_BANNER_SEND',
                            'LIBSSH2_ERROR_CHANNEL_CLOSED',
                            'LIBSSH2_ERROR_CHANNEL_EOF_SENT',
                            'LIBSSH2_ERROR_CHANNEL_FAILURE',
                            'LIBSSH2_ERROR_CHANNEL_OUTOFORDER',
                            'LIBSSH2_ERROR_CHANNEL_PACKET_EXCEEDED',
                            'LIBSSH2_ERROR_CHANNEL_REQUEST_DENIED',
                            'LIBSSH2_ERROR_CHANNEL_UNKNOWN',
                            'LIBSSH2_ERROR_CHANNEL_WINDOW_EXCEEDED',
                            'LIBSSH2_ERROR_DECRYPT',
                            'LIBSSH2_ERROR_FILE',
                            'LIBSSH2_ERROR_HOSTKEY_INIT',
                            'LIBSSH2_ERROR_HOSTKEY_SIGN',
                            'LIBSSH2_ERROR_INVAL',
                            'LIBSSH2_ERROR_INVALID_MAC',
                            'LIBSSH2_ERROR_INVALID_POLL_TYPE',
                            'LIBSSH2_ERROR_KEX_FAILURE',
                            'LIBSSH2_ERROR_KEY_EXCHANGE_FAILURE',
                            'LIBSSH2_ERROR_METHOD_NONE',
                            'LIBSSH2_ERROR_METHOD_NOT_SUPPORTED',
                            'LIBSSH2_ERROR_PASSWORD_EXPIRED',
                            'LIBSSH2_ERROR_PROTO',
                            'LIBSSH2_ERROR_PUBLICKEY_UNRECOGNIZED',
                            'LIBSSH2_ERROR_PUBLICKEY_UNVERIFIED',
                            'LIBSSH2_ERROR_REQUEST_DENIED',
                            'LIBSSH2_ERROR_SCP_PROTOCOL',
                            'LIBSSH2_ERROR_SFTP_PROTOCOL',
                            'LIBSSH2_ERROR_SOCKET_DISCONNECT',
                            'LIBSSH2_ERROR_SOCKET_NONE',
                            'LIBSSH2_ERROR_SOCKET_SEND',
                            'LIBSSH2_ERROR_SOCKET_TIMEOUT',
                            'LIBSSH2_ERROR_TIMEOUT',
                            'LIBSSH2_ERROR_ZLIB',
                            'LIBSSH2_HOSTKEY_HASH_MD5',
                            'LIBSSH2_HOSTKEY_HASH_SHA1',
                            'LIBSSH2_METHOD_COMP_CS',
                            'LIBSSH2_METHOD_COMP_SC',
                            'LIBSSH2_METHOD_CRYPT_CS',
                            'LIBSSH2_METHOD_CRYPT_SC',
                            'LIBSSH2_METHOD_HOSTKEY',
                            'LIBSSH2_METHOD_KEX',
                            'LIBSSH2_METHOD_LANG_CS',
                            'LIBSSH2_METHOD_LANG_SC',
                            'LIBSSH2_METHOD_MAC_CS',
                            'LIBSSH2_METHOD_MAC_SC',
                            'LIBSSH2_FX_BAD_MESSAGE',
                            'LIBSSH2_FX_CONNECTION_LOST',
                            'LIBSSH2_FX_DIR_NOT_EMPTY',
                            'LIBSSH2_FX_EOF',
                            'LIBSSH2_FX_FAILURE',
                            'LIBSSH2_FX_FILE_ALREADY_EXISTS',
                            'LIBSSH2_FX_INVALID_FILENAME',
                            'LIBSSH2_FX_INVALID_HANDLE',
                            'LIBSSH2_FX_LINK_LOOP',
                            'LIBSSH2_FX_LOCK_CONFlICT',
                            'LIBSSH2_FX_NOT_A_DIRECTORY',
                            'LIBSSH2_FX_NO_CONNECTION',
                            'LIBSSH2_FX_NO_MEDIA',
                            'LIBSSH2_FX_NO_SPACE_ON_FILESYSTEM',
                            'LIBSSH2_FX_NO_SUCH_FILE',
                            'LIBSSH2_FX_NO_SUCH_PATH',
                            'LIBSSH2_FX_OK',
                            'LIBSSH2_FX_OP_UNSUPPORTED',
                            'LIBSSH2_FX_PERMISSION_DENIED',
                            'LIBSSH2_FX_QUOTA_EXCEEDED',
                            'LIBSSH2_FX_UNKNOWN_PRINCIPLE',
                            'LIBSSH2_FX_WRITE_PROTECT',
                            'LIBSSH2_FXF_APPEND',
                            'LIBSSH2_FXF_CREAT',
                            'LIBSSH2_FXF_EXCL',
                            'LIBSSH2_FXF_READ',
                            'LIBSSH2_FXF_TRUNC',
                            'LIBSSH2_FXF_WRITE',
                            'LIBSSH2_SFTP_ATTR_ACMODTIME',
                            'LIBSSH2_SFTP_ATTR_EXTENDED',
                            'LIBSSH2_SFTP_ATTR_PERMISSIONS',
                            'LIBSSH2_SFTP_ATTR_SIZE',
                            'LIBSSH2_SFTP_ATTR_UIDGID',
                            'LIBSSH2_SFTP_LSTAT',
                            'LIBSSH2_SFTP_OPENDIR',
                            'LIBSSH2_SFTP_OPENFILE',
                            'LIBSSH2_SFTP_PACKET_MAXLEN',
                            'LIBSSH2_SFTP_READLINK',
                            'LIBSSH2_SFTP_REALPATH',
                            'LIBSSH2_SFTP_RENAME_ATOMIC',
                            'LIBSSH2_SFTP_RENAME_NATIVE',
                            'LIBSSH2_SFTP_RENAME_OVERWRITE',
                            'LIBSSH2_SFTP_SETSTAT',
                            'LIBSSH2_SFTP_STAT',
                            'LIBSSH2_SFTP_SYMLINK',
                            'LIBSSH2_SFTP_TYPE_BLOCK_DEVICE',
                            'LIBSSH2_SFTP_TYPE_CHAR_DEVICE',
                            'LIBSSH2_SFTP_TYPE_DIRECTORY',
                            'LIBSSH2_SFTP_TYPE_FIFO',
                            'LIBSSH2_SFTP_TYPE_REGULAR',
                            'LIBSSH2_SFTP_TYPE_SOCKET',
                            'LIBSSH2_SFTP_TYPE_SPECIAL',
                            'LIBSSH2_SFTP_TYPE_SYMLINK',
                            'LIBSSH2_SFTP_TYPE_UNKNOWN',
                            'LIBSSH2_SFTP_VERSION',
                            'SSH_DISCONNECT_AUTH_CANCELLED_BY_USER',
                            'SSH_DISCONNECT_BY_APPLICATION',
                            'SSH_DISCONNECT_COMPRESSION_ERROR',
                            'SSH_DISCONNECT_CONNECTION_LOST',
                            'SSH_DISCONNECT_HOST_KEY_NOT_VERIFIABLE',
                            'SSH_DISCONNECT_HOST_NOT_ALLOWED_TO_CONNECT',
                            'SSH_DISCONNECT_ILLEGAL_USER_NAME',
                            'SSH_DISCONNECT_KEY_EXCHANGE_FAILED',
                            'SSH_DISCONNECT_MAC_ERROR',
                            'SSH_DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE',
                            'SSH_DISCONNECT_PROTOCOL_ERROR',
                            'SSH_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED',
                            'SSH_DISCONNECT_RESERVED',
                            'SSH_DISCONNECT_SERVICE_NOT_AVAILABLE',
                            'SSH_DISCONNECT_TOO_MANY_CONNECTIONS'
                          ],
                 'hash' => [
                             'LIBSSH2_HOSTKEY_HASH_MD5',
                             'LIBSSH2_HOSTKEY_HASH_SHA1'
                           ],
                 'fxf' => [
                            'LIBSSH2_FXF_APPEND',
                            'LIBSSH2_FXF_CREAT',
                            'LIBSSH2_FXF_EXCL',
                            'LIBSSH2_FXF_READ',
                            'LIBSSH2_FXF_TRUNC',
                            'LIBSSH2_FXF_WRITE'
                          ],
                 'callback' => [
                                 'LIBSSH2_CALLBACK_DEBUG',
                                 'LIBSSH2_CALLBACK_DISCONNECT',
                                 'LIBSSH2_CALLBACK_IGNORE',
                                 'LIBSSH2_CALLBACK_MACERROR',
                                 'LIBSSH2_CALLBACK_X11'
                               ],
                 'error' => [
                              'LIBSSH2_ERROR_ALLOC',
                              'LIBSSH2_ERROR_BANNER_NONE',
                              'LIBSSH2_ERROR_BANNER_SEND',
                              'LIBSSH2_ERROR_CHANNEL_CLOSED',
                              'LIBSSH2_ERROR_CHANNEL_EOF_SENT',
                              'LIBSSH2_ERROR_CHANNEL_FAILURE',
                              'LIBSSH2_ERROR_CHANNEL_OUTOFORDER',
                              'LIBSSH2_ERROR_CHANNEL_PACKET_EXCEEDED',
                              'LIBSSH2_ERROR_CHANNEL_REQUEST_DENIED',
                              'LIBSSH2_ERROR_CHANNEL_UNKNOWN',
                              'LIBSSH2_ERROR_CHANNEL_WINDOW_EXCEEDED',
                              'LIBSSH2_ERROR_DECRYPT',
                              'LIBSSH2_ERROR_FILE',
                              'LIBSSH2_ERROR_HOSTKEY_INIT',
                              'LIBSSH2_ERROR_HOSTKEY_SIGN',
                              'LIBSSH2_ERROR_INVAL',
                              'LIBSSH2_ERROR_INVALID_MAC',
                              'LIBSSH2_ERROR_INVALID_POLL_TYPE',
                              'LIBSSH2_ERROR_KEX_FAILURE',
                              'LIBSSH2_ERROR_KEY_EXCHANGE_FAILURE',
                              'LIBSSH2_ERROR_METHOD_NONE',
                              'LIBSSH2_ERROR_METHOD_NOT_SUPPORTED',
                              'LIBSSH2_ERROR_PASSWORD_EXPIRED',
                              'LIBSSH2_ERROR_PROTO',
                              'LIBSSH2_ERROR_PUBLICKEY_UNRECOGNIZED',
                              'LIBSSH2_ERROR_PUBLICKEY_UNVERIFIED',
                              'LIBSSH2_ERROR_REQUEST_DENIED',
                              'LIBSSH2_ERROR_SCP_PROTOCOL',
                              'LIBSSH2_ERROR_SFTP_PROTOCOL',
                              'LIBSSH2_ERROR_SOCKET_DISCONNECT',
                              'LIBSSH2_ERROR_SOCKET_NONE',
                              'LIBSSH2_ERROR_SOCKET_SEND',
                              'LIBSSH2_ERROR_SOCKET_TIMEOUT',
                              'LIBSSH2_ERROR_TIMEOUT',
                              'LIBSSH2_ERROR_ZLIB'
                            ],
                 'method' => [
                               'LIBSSH2_METHOD_COMP_CS',
                               'LIBSSH2_METHOD_COMP_SC',
                               'LIBSSH2_METHOD_CRYPT_CS',
                               'LIBSSH2_METHOD_CRYPT_SC',
                               'LIBSSH2_METHOD_HOSTKEY',
                               'LIBSSH2_METHOD_KEX',
                               'LIBSSH2_METHOD_LANG_CS',
                               'LIBSSH2_METHOD_LANG_SC',
                               'LIBSSH2_METHOD_MAC_CS',
                               'LIBSSH2_METHOD_MAC_SC'
                             ],
                 'sftp' => [
                             'LIBSSH2_SFTP_ATTR_ACMODTIME',
                             'LIBSSH2_SFTP_ATTR_EXTENDED',
                             'LIBSSH2_SFTP_ATTR_PERMISSIONS',
                             'LIBSSH2_SFTP_ATTR_SIZE',
                             'LIBSSH2_SFTP_ATTR_UIDGID',
                             'LIBSSH2_SFTP_LSTAT',
                             'LIBSSH2_SFTP_OPENDIR',
                             'LIBSSH2_SFTP_OPENFILE',
                             'LIBSSH2_SFTP_PACKET_MAXLEN',
                             'LIBSSH2_SFTP_READLINK',
                             'LIBSSH2_SFTP_REALPATH',
                             'LIBSSH2_SFTP_RENAME_ATOMIC',
                             'LIBSSH2_SFTP_RENAME_NATIVE',
                             'LIBSSH2_SFTP_RENAME_OVERWRITE',
                             'LIBSSH2_SFTP_SETSTAT',
                             'LIBSSH2_SFTP_STAT',
                             'LIBSSH2_SFTP_SYMLINK',
                             'LIBSSH2_SFTP_TYPE_BLOCK_DEVICE',
                             'LIBSSH2_SFTP_TYPE_CHAR_DEVICE',
                             'LIBSSH2_SFTP_TYPE_DIRECTORY',
                             'LIBSSH2_SFTP_TYPE_FIFO',
                             'LIBSSH2_SFTP_TYPE_REGULAR',
                             'LIBSSH2_SFTP_TYPE_SOCKET',
                             'LIBSSH2_SFTP_TYPE_SPECIAL',
                             'LIBSSH2_SFTP_TYPE_SYMLINK',
                             'LIBSSH2_SFTP_TYPE_UNKNOWN',
                             'LIBSSH2_SFTP_VERSION'
                           ]
               );


### CONSTANTS ABOVE!!!                                        (this is a marker)

1;