public static extern int libssh2_userauth_publickey( SshSessionHandle session, [MarshalAs(UnmanagedType.LPStr)] string username, [MarshalAs(UnmanagedType.LPArray)] byte[] publicKey, IntPtr pemPublicKeyLength, SignCallback callback, IntPtr context);
public static extern SshChannelHandle libssh2_channel_open_ex( SshSessionHandle session, [MarshalAs(UnmanagedType.LPStr)] string channelType, uint channelTypeLength, uint windowSize, uint packetSize, [MarshalAs(UnmanagedType.LPStr)] string message, uint messageLength);
public SshSession() { this.sessionHandle = UnsafeNativeMethods.libssh2_session_init_ex( Alloc, Free, Realloc, IntPtr.Zero); // Use blocking I/O by default. this.IsBlocking = true; }
public static extern void libssh2_session_set_timeout( SshSessionHandle session, int timeout);
public static extern int libssh2_session_get_timeout( SshSessionHandle session);
public static extern void libssh2_trace( SshSessionHandle session, LIBSSH2_TRACE bitmask);
public static extern int libssh2_session_last_errno( SshSessionHandle session);
public static extern void libssh2_keepalive_config( SshSessionHandle session, int wantReply, uint interval);
public static extern Int32 libssh2_session_method_pref( SshSessionHandle session, LIBSSH2_METHOD methodType, [MarshalAs(UnmanagedType.LPStr)] string prefs);
public static extern Int32 libssh2_session_supported_algs( SshSessionHandle session, LIBSSH2_METHOD methodType, [Out] out IntPtr algorithmsPtrPtr);
public static extern IntPtr libssh2_session_methods( SshSessionHandle session, LIBSSH2_METHOD methodType);
public static extern void libssh2_session_set_blocking( SshSessionHandle session, Int32 blocking);
public static extern Int32 libssh2_session_get_blocking( SshSessionHandle session);
public static extern Int32 libssh2_session_disconnect_ex( SshSessionHandle session, SSH_DISCONNECT reason, [MarshalAs(UnmanagedType.LPStr)] string description, [MarshalAs(UnmanagedType.LPStr)] string lang);
public static extern Int32 libssh2_free( SshSessionHandle session, IntPtr ptr);
public static extern Int32 libssh2_userauth_authenticated( SshSessionHandle session);
public static extern IntPtr libssh2_userauth_list( SshSessionHandle session, [MarshalAs(UnmanagedType.LPStr)] string username, int usernameLength);
public static extern IntPtr libssh2_session_banner_get( SshSessionHandle session);
public static extern Int32 libssh2_session_banner_set( SshSessionHandle session, [MarshalAs(UnmanagedType.LPStr)] string banner);
public static extern Int32 libssh2_session_handshake( SshSessionHandle session, IntPtr socket);
public static extern int libssh2_keepalive_send( SshSessionHandle session, out int secondsToNext);
public static extern IntPtr libssh2_session_hostkey( SshSessionHandle session, out IntPtr length, out LIBSSH2_HOSTKEY_TYPE type);
public static extern int libssh2_session_last_error( SshSessionHandle session, out IntPtr errorMessage, out int errorMessageLength, int allocateBuffer);
public static extern IntPtr libssh2_hostkey_hash( SshSessionHandle session, LIBSSH2_HOSTKEY_HASH hashType);
public static extern void libssh2_trace_sethandler( SshSessionHandle session, IntPtr context, TraceHandler callback);
public static extern int libssh2_userauth_keyboard_interactive_ex( SshSessionHandle session, [MarshalAs(UnmanagedType.LPStr)] string username, int usernameLength, KeyboardInteractiveCallback callback, IntPtr context);