/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (https://www.swig.org).
 * Version 4.3.0
 *
 * Do not make changes to this file unless you know what you are doing - modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

package com.chilkatsoft;

public class CkSsh {
  private transient long swigCPtr;
  protected transient boolean swigCMemOwn;

  protected CkSsh(long cPtr, boolean cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = cPtr;
  }

  protected static long getCPtr(CkSsh obj) {
    return (obj == null) ? 0 : obj.swigCPtr;
  }

  protected static long swigRelease(CkSsh obj) {
    long ptr = 0;
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new RuntimeException("Cannot release ownership as memory is not owned");
      ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.delete();
    }
    return ptr;
  }

  @SuppressWarnings({"deprecation", "removal"})
  protected void finalize() {
    delete();
  }

  public synchronized void delete() {
    if (swigCPtr != 0) {
      if (swigCMemOwn) {
        swigCMemOwn = false;
        chilkatJNI.delete_CkSsh(swigCPtr);
      }
      swigCPtr = 0;
    }
  }

  public CkSsh() {
    this(chilkatJNI.new_CkSsh(), true);
  }

  public void LastErrorXml(CkString str) {
    chilkatJNI.CkSsh_LastErrorXml(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public void LastErrorHtml(CkString str) {
    chilkatJNI.CkSsh_LastErrorHtml(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public void LastErrorText(CkString str) {
    chilkatJNI.CkSsh_LastErrorText(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public void put_EventCallbackObject(CkBaseProgress progress) {
    chilkatJNI.CkSsh_put_EventCallbackObject(swigCPtr, this, CkBaseProgress.getCPtr(progress), progress);
  }

  public boolean get_AbortCurrent() {
    return chilkatJNI.CkSsh_get_AbortCurrent(swigCPtr, this);
  }

  public void put_AbortCurrent(boolean newVal) {
    chilkatJNI.CkSsh_put_AbortCurrent(swigCPtr, this, newVal);
  }

  public int get_AuthFailReason() {
    return chilkatJNI.CkSsh_get_AuthFailReason(swigCPtr, this);
  }

  public boolean get_CaretControl() {
    return chilkatJNI.CkSsh_get_CaretControl(swigCPtr, this);
  }

  public void put_CaretControl(boolean newVal) {
    chilkatJNI.CkSsh_put_CaretControl(swigCPtr, this, newVal);
  }

  public int get_ChannelOpenFailCode() {
    return chilkatJNI.CkSsh_get_ChannelOpenFailCode(swigCPtr, this);
  }

  public void get_ChannelOpenFailReason(CkString str) {
    chilkatJNI.CkSsh_get_ChannelOpenFailReason(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String channelOpenFailReason() {
    return chilkatJNI.CkSsh_channelOpenFailReason(swigCPtr, this);
  }

  public void get_ClientIdentifier(CkString str) {
    chilkatJNI.CkSsh_get_ClientIdentifier(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String clientIdentifier() {
    return chilkatJNI.CkSsh_clientIdentifier(swigCPtr, this);
  }

  public void put_ClientIdentifier(String newVal) {
    chilkatJNI.CkSsh_put_ClientIdentifier(swigCPtr, this, newVal);
  }

  public void get_ClientIpAddress(CkString str) {
    chilkatJNI.CkSsh_get_ClientIpAddress(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String clientIpAddress() {
    return chilkatJNI.CkSsh_clientIpAddress(swigCPtr, this);
  }

  public void put_ClientIpAddress(String newVal) {
    chilkatJNI.CkSsh_put_ClientIpAddress(swigCPtr, this, newVal);
  }

  public int get_ClientPort() {
    return chilkatJNI.CkSsh_get_ClientPort(swigCPtr, this);
  }

  public void put_ClientPort(int newVal) {
    chilkatJNI.CkSsh_put_ClientPort(swigCPtr, this, newVal);
  }

  public int get_ConnectTimeoutMs() {
    return chilkatJNI.CkSsh_get_ConnectTimeoutMs(swigCPtr, this);
  }

  public void put_ConnectTimeoutMs(int newVal) {
    chilkatJNI.CkSsh_put_ConnectTimeoutMs(swigCPtr, this, newVal);
  }

  public void get_DebugLogFilePath(CkString str) {
    chilkatJNI.CkSsh_get_DebugLogFilePath(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String debugLogFilePath() {
    return chilkatJNI.CkSsh_debugLogFilePath(swigCPtr, this);
  }

  public void put_DebugLogFilePath(String newVal) {
    chilkatJNI.CkSsh_put_DebugLogFilePath(swigCPtr, this, newVal);
  }

  public int get_DisconnectCode() {
    return chilkatJNI.CkSsh_get_DisconnectCode(swigCPtr, this);
  }

  public void get_DisconnectReason(CkString str) {
    chilkatJNI.CkSsh_get_DisconnectReason(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String disconnectReason() {
    return chilkatJNI.CkSsh_disconnectReason(swigCPtr, this);
  }

  public boolean get_EnableCompression() {
    return chilkatJNI.CkSsh_get_EnableCompression(swigCPtr, this);
  }

  public void put_EnableCompression(boolean newVal) {
    chilkatJNI.CkSsh_put_EnableCompression(swigCPtr, this, newVal);
  }

  public void get_ForceCipher(CkString str) {
    chilkatJNI.CkSsh_get_ForceCipher(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String forceCipher() {
    return chilkatJNI.CkSsh_forceCipher(swigCPtr, this);
  }

  public void put_ForceCipher(String newVal) {
    chilkatJNI.CkSsh_put_ForceCipher(swigCPtr, this, newVal);
  }

  public int get_HeartbeatMs() {
    return chilkatJNI.CkSsh_get_HeartbeatMs(swigCPtr, this);
  }

  public void put_HeartbeatMs(int newVal) {
    chilkatJNI.CkSsh_put_HeartbeatMs(swigCPtr, this, newVal);
  }

  public void get_HostKeyAlg(CkString str) {
    chilkatJNI.CkSsh_get_HostKeyAlg(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String hostKeyAlg() {
    return chilkatJNI.CkSsh_hostKeyAlg(swigCPtr, this);
  }

  public void put_HostKeyAlg(String newVal) {
    chilkatJNI.CkSsh_put_HostKeyAlg(swigCPtr, this, newVal);
  }

  public void get_HostKeyFingerprint(CkString str) {
    chilkatJNI.CkSsh_get_HostKeyFingerprint(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String hostKeyFingerprint() {
    return chilkatJNI.CkSsh_hostKeyFingerprint(swigCPtr, this);
  }

  public void get_HttpProxyAuthMethod(CkString str) {
    chilkatJNI.CkSsh_get_HttpProxyAuthMethod(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String httpProxyAuthMethod() {
    return chilkatJNI.CkSsh_httpProxyAuthMethod(swigCPtr, this);
  }

  public void put_HttpProxyAuthMethod(String newVal) {
    chilkatJNI.CkSsh_put_HttpProxyAuthMethod(swigCPtr, this, newVal);
  }

  public void get_HttpProxyDomain(CkString str) {
    chilkatJNI.CkSsh_get_HttpProxyDomain(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String httpProxyDomain() {
    return chilkatJNI.CkSsh_httpProxyDomain(swigCPtr, this);
  }

  public void put_HttpProxyDomain(String newVal) {
    chilkatJNI.CkSsh_put_HttpProxyDomain(swigCPtr, this, newVal);
  }

  public void get_HttpProxyHostname(CkString str) {
    chilkatJNI.CkSsh_get_HttpProxyHostname(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String httpProxyHostname() {
    return chilkatJNI.CkSsh_httpProxyHostname(swigCPtr, this);
  }

  public void put_HttpProxyHostname(String newVal) {
    chilkatJNI.CkSsh_put_HttpProxyHostname(swigCPtr, this, newVal);
  }

  public void get_HttpProxyPassword(CkString str) {
    chilkatJNI.CkSsh_get_HttpProxyPassword(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String httpProxyPassword() {
    return chilkatJNI.CkSsh_httpProxyPassword(swigCPtr, this);
  }

  public void put_HttpProxyPassword(String newVal) {
    chilkatJNI.CkSsh_put_HttpProxyPassword(swigCPtr, this, newVal);
  }

  public int get_HttpProxyPort() {
    return chilkatJNI.CkSsh_get_HttpProxyPort(swigCPtr, this);
  }

  public void put_HttpProxyPort(int newVal) {
    chilkatJNI.CkSsh_put_HttpProxyPort(swigCPtr, this, newVal);
  }

  public void get_HttpProxyUsername(CkString str) {
    chilkatJNI.CkSsh_get_HttpProxyUsername(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String httpProxyUsername() {
    return chilkatJNI.CkSsh_httpProxyUsername(swigCPtr, this);
  }

  public void put_HttpProxyUsername(String newVal) {
    chilkatJNI.CkSsh_put_HttpProxyUsername(swigCPtr, this, newVal);
  }

  public int get_IdleTimeoutMs() {
    return chilkatJNI.CkSsh_get_IdleTimeoutMs(swigCPtr, this);
  }

  public void put_IdleTimeoutMs(int newVal) {
    chilkatJNI.CkSsh_put_IdleTimeoutMs(swigCPtr, this, newVal);
  }

  public boolean get_IsConnected() {
    return chilkatJNI.CkSsh_get_IsConnected(swigCPtr, this);
  }

  public boolean get_KeepSessionLog() {
    return chilkatJNI.CkSsh_get_KeepSessionLog(swigCPtr, this);
  }

  public void put_KeepSessionLog(boolean newVal) {
    chilkatJNI.CkSsh_put_KeepSessionLog(swigCPtr, this, newVal);
  }

  public void get_LastErrorHtml(CkString str) {
    chilkatJNI.CkSsh_get_LastErrorHtml(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String lastErrorHtml() {
    return chilkatJNI.CkSsh_lastErrorHtml(swigCPtr, this);
  }

  public void get_LastErrorText(CkString str) {
    chilkatJNI.CkSsh_get_LastErrorText(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String lastErrorText() {
    return chilkatJNI.CkSsh_lastErrorText(swigCPtr, this);
  }

  public void get_LastErrorXml(CkString str) {
    chilkatJNI.CkSsh_get_LastErrorXml(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String lastErrorXml() {
    return chilkatJNI.CkSsh_lastErrorXml(swigCPtr, this);
  }

  public boolean get_LastMethodSuccess() {
    return chilkatJNI.CkSsh_get_LastMethodSuccess(swigCPtr, this);
  }

  public void put_LastMethodSuccess(boolean newVal) {
    chilkatJNI.CkSsh_put_LastMethodSuccess(swigCPtr, this, newVal);
  }

  public int get_MaxPacketSize() {
    return chilkatJNI.CkSsh_get_MaxPacketSize(swigCPtr, this);
  }

  public void put_MaxPacketSize(int newVal) {
    chilkatJNI.CkSsh_put_MaxPacketSize(swigCPtr, this, newVal);
  }

  public int get_NumOpenChannels() {
    return chilkatJNI.CkSsh_get_NumOpenChannels(swigCPtr, this);
  }

  public boolean get_PasswordChangeRequested() {
    return chilkatJNI.CkSsh_get_PasswordChangeRequested(swigCPtr, this);
  }

  public boolean get_PreferIpv6() {
    return chilkatJNI.CkSsh_get_PreferIpv6(swigCPtr, this);
  }

  public void put_PreferIpv6(boolean newVal) {
    chilkatJNI.CkSsh_put_PreferIpv6(swigCPtr, this, newVal);
  }

  public int get_ReadTimeoutMs() {
    return chilkatJNI.CkSsh_get_ReadTimeoutMs(swigCPtr, this);
  }

  public void put_ReadTimeoutMs(int newVal) {
    chilkatJNI.CkSsh_put_ReadTimeoutMs(swigCPtr, this, newVal);
  }

  public void get_ReqExecCharset(CkString str) {
    chilkatJNI.CkSsh_get_ReqExecCharset(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String reqExecCharset() {
    return chilkatJNI.CkSsh_reqExecCharset(swigCPtr, this);
  }

  public void put_ReqExecCharset(String newVal) {
    chilkatJNI.CkSsh_put_ReqExecCharset(swigCPtr, this, newVal);
  }

  public void get_ServerIdentifier(CkString str) {
    chilkatJNI.CkSsh_get_ServerIdentifier(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String serverIdentifier() {
    return chilkatJNI.CkSsh_serverIdentifier(swigCPtr, this);
  }

  public void get_SessionLog(CkString str) {
    chilkatJNI.CkSsh_get_SessionLog(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String sessionLog() {
    return chilkatJNI.CkSsh_sessionLog(swigCPtr, this);
  }

  public void get_SocksHostname(CkString str) {
    chilkatJNI.CkSsh_get_SocksHostname(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String socksHostname() {
    return chilkatJNI.CkSsh_socksHostname(swigCPtr, this);
  }

  public void put_SocksHostname(String newVal) {
    chilkatJNI.CkSsh_put_SocksHostname(swigCPtr, this, newVal);
  }

  public void get_SocksPassword(CkString str) {
    chilkatJNI.CkSsh_get_SocksPassword(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String socksPassword() {
    return chilkatJNI.CkSsh_socksPassword(swigCPtr, this);
  }

  public void put_SocksPassword(String newVal) {
    chilkatJNI.CkSsh_put_SocksPassword(swigCPtr, this, newVal);
  }

  public int get_SocksPort() {
    return chilkatJNI.CkSsh_get_SocksPort(swigCPtr, this);
  }

  public void put_SocksPort(int newVal) {
    chilkatJNI.CkSsh_put_SocksPort(swigCPtr, this, newVal);
  }

  public void get_SocksUsername(CkString str) {
    chilkatJNI.CkSsh_get_SocksUsername(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String socksUsername() {
    return chilkatJNI.CkSsh_socksUsername(swigCPtr, this);
  }

  public void put_SocksUsername(String newVal) {
    chilkatJNI.CkSsh_put_SocksUsername(swigCPtr, this, newVal);
  }

  public int get_SocksVersion() {
    return chilkatJNI.CkSsh_get_SocksVersion(swigCPtr, this);
  }

  public void put_SocksVersion(int newVal) {
    chilkatJNI.CkSsh_put_SocksVersion(swigCPtr, this, newVal);
  }

  public int get_SoRcvBuf() {
    return chilkatJNI.CkSsh_get_SoRcvBuf(swigCPtr, this);
  }

  public void put_SoRcvBuf(int newVal) {
    chilkatJNI.CkSsh_put_SoRcvBuf(swigCPtr, this, newVal);
  }

  public int get_SoSndBuf() {
    return chilkatJNI.CkSsh_get_SoSndBuf(swigCPtr, this);
  }

  public void put_SoSndBuf(int newVal) {
    chilkatJNI.CkSsh_put_SoSndBuf(swigCPtr, this, newVal);
  }

  public boolean get_StderrToStdout() {
    return chilkatJNI.CkSsh_get_StderrToStdout(swigCPtr, this);
  }

  public void put_StderrToStdout(boolean newVal) {
    chilkatJNI.CkSsh_put_StderrToStdout(swigCPtr, this, newVal);
  }

  public boolean get_StripColorCodes() {
    return chilkatJNI.CkSsh_get_StripColorCodes(swigCPtr, this);
  }

  public void put_StripColorCodes(boolean newVal) {
    chilkatJNI.CkSsh_put_StripColorCodes(swigCPtr, this, newVal);
  }

  public boolean get_TcpNoDelay() {
    return chilkatJNI.CkSsh_get_TcpNoDelay(swigCPtr, this);
  }

  public void put_TcpNoDelay(boolean newVal) {
    chilkatJNI.CkSsh_put_TcpNoDelay(swigCPtr, this, newVal);
  }

  public void get_UncommonOptions(CkString str) {
    chilkatJNI.CkSsh_get_UncommonOptions(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String uncommonOptions() {
    return chilkatJNI.CkSsh_uncommonOptions(swigCPtr, this);
  }

  public void put_UncommonOptions(String newVal) {
    chilkatJNI.CkSsh_put_UncommonOptions(swigCPtr, this, newVal);
  }

  public void get_UserAuthBanner(CkString str) {
    chilkatJNI.CkSsh_get_UserAuthBanner(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String userAuthBanner() {
    return chilkatJNI.CkSsh_userAuthBanner(swigCPtr, this);
  }

  public void put_UserAuthBanner(String newVal) {
    chilkatJNI.CkSsh_put_UserAuthBanner(swigCPtr, this, newVal);
  }

  public boolean get_VerboseLogging() {
    return chilkatJNI.CkSsh_get_VerboseLogging(swigCPtr, this);
  }

  public void put_VerboseLogging(boolean newVal) {
    chilkatJNI.CkSsh_put_VerboseLogging(swigCPtr, this, newVal);
  }

  public void get_Version(CkString str) {
    chilkatJNI.CkSsh_get_Version(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String version() {
    return chilkatJNI.CkSsh_version(swigCPtr, this);
  }

  public boolean AuthenticatePk(String username, CkSshKey privateKey) {
    return chilkatJNI.CkSsh_AuthenticatePk(swigCPtr, this, username, CkSshKey.getCPtr(privateKey), privateKey);
  }

  public CkTask AuthenticatePkAsync(String username, CkSshKey privateKey) {
    long cPtr = chilkatJNI.CkSsh_AuthenticatePkAsync(swigCPtr, this, username, CkSshKey.getCPtr(privateKey), privateKey);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean AuthenticatePw(String login, String password) {
    return chilkatJNI.CkSsh_AuthenticatePw(swigCPtr, this, login, password);
  }

  public CkTask AuthenticatePwAsync(String login, String password) {
    long cPtr = chilkatJNI.CkSsh_AuthenticatePwAsync(swigCPtr, this, login, password);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean AuthenticatePwPk(String username, String password, CkSshKey privateKey) {
    return chilkatJNI.CkSsh_AuthenticatePwPk(swigCPtr, this, username, password, CkSshKey.getCPtr(privateKey), privateKey);
  }

  public CkTask AuthenticatePwPkAsync(String username, String password, CkSshKey privateKey) {
    long cPtr = chilkatJNI.CkSsh_AuthenticatePwPkAsync(swigCPtr, this, username, password, CkSshKey.getCPtr(privateKey), privateKey);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean AuthenticateSecPw(CkSecureString login, CkSecureString password) {
    return chilkatJNI.CkSsh_AuthenticateSecPw(swigCPtr, this, CkSecureString.getCPtr(login), login, CkSecureString.getCPtr(password), password);
  }

  public CkTask AuthenticateSecPwAsync(CkSecureString login, CkSecureString password) {
    long cPtr = chilkatJNI.CkSsh_AuthenticateSecPwAsync(swigCPtr, this, CkSecureString.getCPtr(login), login, CkSecureString.getCPtr(password), password);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean AuthenticateSecPwPk(CkSecureString username, CkSecureString password, CkSshKey privateKey) {
    return chilkatJNI.CkSsh_AuthenticateSecPwPk(swigCPtr, this, CkSecureString.getCPtr(username), username, CkSecureString.getCPtr(password), password, CkSshKey.getCPtr(privateKey), privateKey);
  }

  public CkTask AuthenticateSecPwPkAsync(CkSecureString username, CkSecureString password, CkSshKey privateKey) {
    long cPtr = chilkatJNI.CkSsh_AuthenticateSecPwPkAsync(swigCPtr, this, CkSecureString.getCPtr(username), username, CkSecureString.getCPtr(password), password, CkSshKey.getCPtr(privateKey), privateKey);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean ChannelIsOpen(int channelNum) {
    return chilkatJNI.CkSsh_ChannelIsOpen(swigCPtr, this, channelNum);
  }

  public int ChannelPoll(int channelNum, int pollTimeoutMs) {
    return chilkatJNI.CkSsh_ChannelPoll(swigCPtr, this, channelNum, pollTimeoutMs);
  }

  public CkTask ChannelPollAsync(int channelNum, int pollTimeoutMs) {
    long cPtr = chilkatJNI.CkSsh_ChannelPollAsync(swigCPtr, this, channelNum, pollTimeoutMs);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public int ChannelRead(int channelNum) {
    return chilkatJNI.CkSsh_ChannelRead(swigCPtr, this, channelNum);
  }

  public CkTask ChannelReadAsync(int channelNum) {
    long cPtr = chilkatJNI.CkSsh_ChannelReadAsync(swigCPtr, this, channelNum);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public int ChannelReadAndPoll(int channelNum, int pollTimeoutMs) {
    return chilkatJNI.CkSsh_ChannelReadAndPoll(swigCPtr, this, channelNum, pollTimeoutMs);
  }

  public CkTask ChannelReadAndPollAsync(int channelNum, int pollTimeoutMs) {
    long cPtr = chilkatJNI.CkSsh_ChannelReadAndPollAsync(swigCPtr, this, channelNum, pollTimeoutMs);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public int ChannelReadAndPoll2(int channelNum, int pollTimeoutMs, int maxNumBytes) {
    return chilkatJNI.CkSsh_ChannelReadAndPoll2(swigCPtr, this, channelNum, pollTimeoutMs, maxNumBytes);
  }

  public CkTask ChannelReadAndPoll2Async(int channelNum, int pollTimeoutMs, int maxNumBytes) {
    long cPtr = chilkatJNI.CkSsh_ChannelReadAndPoll2Async(swigCPtr, this, channelNum, pollTimeoutMs, maxNumBytes);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean ChannelReceivedClose(int channelNum) {
    return chilkatJNI.CkSsh_ChannelReceivedClose(swigCPtr, this, channelNum);
  }

  public boolean ChannelReceivedEof(int channelNum) {
    return chilkatJNI.CkSsh_ChannelReceivedEof(swigCPtr, this, channelNum);
  }

  public boolean ChannelReceivedExitStatus(int channelNum) {
    return chilkatJNI.CkSsh_ChannelReceivedExitStatus(swigCPtr, this, channelNum);
  }

  public boolean ChannelReceiveToClose(int channelNum) {
    return chilkatJNI.CkSsh_ChannelReceiveToClose(swigCPtr, this, channelNum);
  }

  public CkTask ChannelReceiveToCloseAsync(int channelNum) {
    long cPtr = chilkatJNI.CkSsh_ChannelReceiveToCloseAsync(swigCPtr, this, channelNum);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean ChannelReceiveUntilMatch(int channelNum, String matchPattern, String charset, boolean caseSensitive) {
    return chilkatJNI.CkSsh_ChannelReceiveUntilMatch(swigCPtr, this, channelNum, matchPattern, charset, caseSensitive);
  }

  public CkTask ChannelReceiveUntilMatchAsync(int channelNum, String matchPattern, String charset, boolean caseSensitive) {
    long cPtr = chilkatJNI.CkSsh_ChannelReceiveUntilMatchAsync(swigCPtr, this, channelNum, matchPattern, charset, caseSensitive);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean ChannelReceiveUntilMatchN(int channelNum, CkStringArray matchPatterns, String charset, boolean caseSensitive) {
    return chilkatJNI.CkSsh_ChannelReceiveUntilMatchN(swigCPtr, this, channelNum, CkStringArray.getCPtr(matchPatterns), matchPatterns, charset, caseSensitive);
  }

  public CkTask ChannelReceiveUntilMatchNAsync(int channelNum, CkStringArray matchPatterns, String charset, boolean caseSensitive) {
    long cPtr = chilkatJNI.CkSsh_ChannelReceiveUntilMatchNAsync(swigCPtr, this, channelNum, CkStringArray.getCPtr(matchPatterns), matchPatterns, charset, caseSensitive);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public void ChannelRelease(int channelNum) {
    chilkatJNI.CkSsh_ChannelRelease(swigCPtr, this, channelNum);
  }

  public boolean ChannelSendClose(int channelNum) {
    return chilkatJNI.CkSsh_ChannelSendClose(swigCPtr, this, channelNum);
  }

  public CkTask ChannelSendCloseAsync(int channelNum) {
    long cPtr = chilkatJNI.CkSsh_ChannelSendCloseAsync(swigCPtr, this, channelNum);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean ChannelSendData(int channelNum, CkByteData byteData) {
    return chilkatJNI.CkSsh_ChannelSendData(swigCPtr, this, channelNum, CkByteData.getCPtr(byteData), byteData);
  }

  public CkTask ChannelSendDataAsync(int channelNum, CkByteData byteData) {
    long cPtr = chilkatJNI.CkSsh_ChannelSendDataAsync(swigCPtr, this, channelNum, CkByteData.getCPtr(byteData), byteData);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean ChannelSendEof(int channelNum) {
    return chilkatJNI.CkSsh_ChannelSendEof(swigCPtr, this, channelNum);
  }

  public CkTask ChannelSendEofAsync(int channelNum) {
    long cPtr = chilkatJNI.CkSsh_ChannelSendEofAsync(swigCPtr, this, channelNum);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean ChannelSendString(int channelNum, String textData, String charset) {
    return chilkatJNI.CkSsh_ChannelSendString(swigCPtr, this, channelNum, textData, charset);
  }

  public CkTask ChannelSendStringAsync(int channelNum, String textData, String charset) {
    long cPtr = chilkatJNI.CkSsh_ChannelSendStringAsync(swigCPtr, this, channelNum, textData, charset);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean CheckConnection() {
    return chilkatJNI.CkSsh_CheckConnection(swigCPtr, this);
  }

  public void ClearTtyModes() {
    chilkatJNI.CkSsh_ClearTtyModes(swigCPtr, this);
  }

  public boolean Connect(String domainName, int port) {
    return chilkatJNI.CkSsh_Connect(swigCPtr, this, domainName, port);
  }

  public CkTask ConnectAsync(String domainName, int port) {
    long cPtr = chilkatJNI.CkSsh_ConnectAsync(swigCPtr, this, domainName, port);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean ConnectThroughSsh(CkSsh ssh, String hostname, int port) {
    return chilkatJNI.CkSsh_ConnectThroughSsh(swigCPtr, this, CkSsh.getCPtr(ssh), ssh, hostname, port);
  }

  public CkTask ConnectThroughSshAsync(CkSsh ssh, String hostname, int port) {
    long cPtr = chilkatJNI.CkSsh_ConnectThroughSshAsync(swigCPtr, this, CkSsh.getCPtr(ssh), ssh, hostname, port);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean ContinueKeyboardAuth(String response, CkString outStr) {
    return chilkatJNI.CkSsh_ContinueKeyboardAuth(swigCPtr, this, response, CkString.getCPtr(outStr), outStr);
  }

  public String continueKeyboardAuth(String response) {
    return chilkatJNI.CkSsh_continueKeyboardAuth(swigCPtr, this, response);
  }

  public CkTask ContinueKeyboardAuthAsync(String response) {
    long cPtr = chilkatJNI.CkSsh_ContinueKeyboardAuthAsync(swigCPtr, this, response);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public void Disconnect() {
    chilkatJNI.CkSsh_Disconnect(swigCPtr, this);
  }

  public boolean GetAuthMethods(CkString outStr) {
    return chilkatJNI.CkSsh_GetAuthMethods(swigCPtr, this, CkString.getCPtr(outStr), outStr);
  }

  public String getAuthMethods() {
    return chilkatJNI.CkSsh_getAuthMethods(swigCPtr, this);
  }

  public String authMethods() {
    return chilkatJNI.CkSsh_authMethods(swigCPtr, this);
  }

  public CkTask GetAuthMethodsAsync() {
    long cPtr = chilkatJNI.CkSsh_GetAuthMethodsAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public int GetChannelExitStatus(int channelNum) {
    return chilkatJNI.CkSsh_GetChannelExitStatus(swigCPtr, this, channelNum);
  }

  public int GetChannelNumber(int index) {
    return chilkatJNI.CkSsh_GetChannelNumber(swigCPtr, this, index);
  }

  public boolean GetChannelType(int index, CkString outStr) {
    return chilkatJNI.CkSsh_GetChannelType(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getChannelType(int index) {
    return chilkatJNI.CkSsh_getChannelType(swigCPtr, this, index);
  }

  public String channelType(int index) {
    return chilkatJNI.CkSsh_channelType(swigCPtr, this, index);
  }

  public boolean GetHostKeyFP(String hashAlg, boolean includeKeyType, boolean includeHashName, CkString outStr) {
    return chilkatJNI.CkSsh_GetHostKeyFP(swigCPtr, this, hashAlg, includeKeyType, includeHashName, CkString.getCPtr(outStr), outStr);
  }

  public String getHostKeyFP(String hashAlg, boolean includeKeyType, boolean includeHashName) {
    return chilkatJNI.CkSsh_getHostKeyFP(swigCPtr, this, hashAlg, includeKeyType, includeHashName);
  }

  public String hostKeyFP(String hashAlg, boolean includeKeyType, boolean includeHashName) {
    return chilkatJNI.CkSsh_hostKeyFP(swigCPtr, this, hashAlg, includeKeyType, includeHashName);
  }

  public void GetLastJsonData(CkJsonObject json) {
    chilkatJNI.CkSsh_GetLastJsonData(swigCPtr, this, CkJsonObject.getCPtr(json), json);
  }

  public boolean GetReceivedData(int channelNum, CkByteData outBytes) {
    return chilkatJNI.CkSsh_GetReceivedData(swigCPtr, this, channelNum, CkByteData.getCPtr(outBytes), outBytes);
  }

  public boolean GetReceivedDataN(int channelNum, int maxNumBytes, CkByteData outBytes) {
    return chilkatJNI.CkSsh_GetReceivedDataN(swigCPtr, this, channelNum, maxNumBytes, CkByteData.getCPtr(outBytes), outBytes);
  }

  public int GetReceivedNumBytes(int channelNum) {
    return chilkatJNI.CkSsh_GetReceivedNumBytes(swigCPtr, this, channelNum);
  }

  public boolean GetReceivedStderr(int channelNum, CkByteData outBytes) {
    return chilkatJNI.CkSsh_GetReceivedStderr(swigCPtr, this, channelNum, CkByteData.getCPtr(outBytes), outBytes);
  }

  public boolean GetReceivedStderrText(int channelNum, String charset, CkString outStr) {
    return chilkatJNI.CkSsh_GetReceivedStderrText(swigCPtr, this, channelNum, charset, CkString.getCPtr(outStr), outStr);
  }

  public String getReceivedStderrText(int channelNum, String charset) {
    return chilkatJNI.CkSsh_getReceivedStderrText(swigCPtr, this, channelNum, charset);
  }

  public String receivedStderrText(int channelNum, String charset) {
    return chilkatJNI.CkSsh_receivedStderrText(swigCPtr, this, channelNum, charset);
  }

  public boolean GetReceivedText(int channelNum, String charset, CkString outStr) {
    return chilkatJNI.CkSsh_GetReceivedText(swigCPtr, this, channelNum, charset, CkString.getCPtr(outStr), outStr);
  }

  public String getReceivedText(int channelNum, String charset) {
    return chilkatJNI.CkSsh_getReceivedText(swigCPtr, this, channelNum, charset);
  }

  public String receivedText(int channelNum, String charset) {
    return chilkatJNI.CkSsh_receivedText(swigCPtr, this, channelNum, charset);
  }

  public boolean GetReceivedTextS(int channelNum, String substr, String charset, CkString outStr) {
    return chilkatJNI.CkSsh_GetReceivedTextS(swigCPtr, this, channelNum, substr, charset, CkString.getCPtr(outStr), outStr);
  }

  public String getReceivedTextS(int channelNum, String substr, String charset) {
    return chilkatJNI.CkSsh_getReceivedTextS(swigCPtr, this, channelNum, substr, charset);
  }

  public String receivedTextS(int channelNum, String substr, String charset) {
    return chilkatJNI.CkSsh_receivedTextS(swigCPtr, this, channelNum, substr, charset);
  }

  public CkJsonObject LastJsonData() {
    long cPtr = chilkatJNI.CkSsh_LastJsonData(swigCPtr, this);
    return (cPtr == 0) ? null : new CkJsonObject(cPtr, true);
  }

  public boolean LoadTaskCaller(CkTask task) {
    return chilkatJNI.CkSsh_LoadTaskCaller(swigCPtr, this, CkTask.getCPtr(task), task);
  }

  public int OpenCustomChannel(String channelType) {
    return chilkatJNI.CkSsh_OpenCustomChannel(swigCPtr, this, channelType);
  }

  public CkTask OpenCustomChannelAsync(String channelType) {
    long cPtr = chilkatJNI.CkSsh_OpenCustomChannelAsync(swigCPtr, this, channelType);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public int OpenDirectTcpIpChannel(String targetHostname, int targetPort) {
    return chilkatJNI.CkSsh_OpenDirectTcpIpChannel(swigCPtr, this, targetHostname, targetPort);
  }

  public CkTask OpenDirectTcpIpChannelAsync(String targetHostname, int targetPort) {
    long cPtr = chilkatJNI.CkSsh_OpenDirectTcpIpChannelAsync(swigCPtr, this, targetHostname, targetPort);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public int OpenSessionChannel() {
    return chilkatJNI.CkSsh_OpenSessionChannel(swigCPtr, this);
  }

  public CkTask OpenSessionChannelAsync() {
    long cPtr = chilkatJNI.CkSsh_OpenSessionChannelAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean PeekReceivedText(int channelNum, String charset, CkString outStr) {
    return chilkatJNI.CkSsh_PeekReceivedText(swigCPtr, this, channelNum, charset, CkString.getCPtr(outStr), outStr);
  }

  public String peekReceivedText(int channelNum, String charset) {
    return chilkatJNI.CkSsh_peekReceivedText(swigCPtr, this, channelNum, charset);
  }

  public int QuickCmdCheck(int pollTimeoutMs) {
    return chilkatJNI.CkSsh_QuickCmdCheck(swigCPtr, this, pollTimeoutMs);
  }

  public CkTask QuickCmdCheckAsync(int pollTimeoutMs) {
    long cPtr = chilkatJNI.CkSsh_QuickCmdCheckAsync(swigCPtr, this, pollTimeoutMs);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public int QuickCmdSend(String command) {
    return chilkatJNI.CkSsh_QuickCmdSend(swigCPtr, this, command);
  }

  public CkTask QuickCmdSendAsync(String command) {
    long cPtr = chilkatJNI.CkSsh_QuickCmdSendAsync(swigCPtr, this, command);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean QuickCommand(String command, String charset, CkString outStr) {
    return chilkatJNI.CkSsh_QuickCommand(swigCPtr, this, command, charset, CkString.getCPtr(outStr), outStr);
  }

  public String quickCommand(String command, String charset) {
    return chilkatJNI.CkSsh_quickCommand(swigCPtr, this, command, charset);
  }

  public CkTask QuickCommandAsync(String command, String charset) {
    long cPtr = chilkatJNI.CkSsh_QuickCommandAsync(swigCPtr, this, command, charset);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public int QuickShell() {
    return chilkatJNI.CkSsh_QuickShell(swigCPtr, this);
  }

  public CkTask QuickShellAsync() {
    long cPtr = chilkatJNI.CkSsh_QuickShellAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean ReKey() {
    return chilkatJNI.CkSsh_ReKey(swigCPtr, this);
  }

  public CkTask ReKeyAsync() {
    long cPtr = chilkatJNI.CkSsh_ReKeyAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SendIgnore() {
    return chilkatJNI.CkSsh_SendIgnore(swigCPtr, this);
  }

  public CkTask SendIgnoreAsync() {
    long cPtr = chilkatJNI.CkSsh_SendIgnoreAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SendReqExec(int channelNum, String commandLine) {
    return chilkatJNI.CkSsh_SendReqExec(swigCPtr, this, channelNum, commandLine);
  }

  public CkTask SendReqExecAsync(int channelNum, String commandLine) {
    long cPtr = chilkatJNI.CkSsh_SendReqExecAsync(swigCPtr, this, channelNum, commandLine);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SendReqPty(int channelNum, String termType, int widthInChars, int heightInChars, int widthInPixels, int heightInPixels) {
    return chilkatJNI.CkSsh_SendReqPty(swigCPtr, this, channelNum, termType, widthInChars, heightInChars, widthInPixels, heightInPixels);
  }

  public CkTask SendReqPtyAsync(int channelNum, String termType, int widthInChars, int heightInChars, int widthInPixels, int heightInPixels) {
    long cPtr = chilkatJNI.CkSsh_SendReqPtyAsync(swigCPtr, this, channelNum, termType, widthInChars, heightInChars, widthInPixels, heightInPixels);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SendReqSetEnv(int channelNum, String name, String value) {
    return chilkatJNI.CkSsh_SendReqSetEnv(swigCPtr, this, channelNum, name, value);
  }

  public CkTask SendReqSetEnvAsync(int channelNum, String name, String value) {
    long cPtr = chilkatJNI.CkSsh_SendReqSetEnvAsync(swigCPtr, this, channelNum, name, value);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SendReqShell(int channelNum) {
    return chilkatJNI.CkSsh_SendReqShell(swigCPtr, this, channelNum);
  }

  public CkTask SendReqShellAsync(int channelNum) {
    long cPtr = chilkatJNI.CkSsh_SendReqShellAsync(swigCPtr, this, channelNum);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SendReqSignal(int channelNum, String signalName) {
    return chilkatJNI.CkSsh_SendReqSignal(swigCPtr, this, channelNum, signalName);
  }

  public CkTask SendReqSignalAsync(int channelNum, String signalName) {
    long cPtr = chilkatJNI.CkSsh_SendReqSignalAsync(swigCPtr, this, channelNum, signalName);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SendReqSubsystem(int channelNum, String subsystemName) {
    return chilkatJNI.CkSsh_SendReqSubsystem(swigCPtr, this, channelNum, subsystemName);
  }

  public CkTask SendReqSubsystemAsync(int channelNum, String subsystemName) {
    long cPtr = chilkatJNI.CkSsh_SendReqSubsystemAsync(swigCPtr, this, channelNum, subsystemName);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SendReqWindowChange(int channelNum, int widthInChars, int heightInRows, int pixWidth, int pixHeight) {
    return chilkatJNI.CkSsh_SendReqWindowChange(swigCPtr, this, channelNum, widthInChars, heightInRows, pixWidth, pixHeight);
  }

  public CkTask SendReqWindowChangeAsync(int channelNum, int widthInChars, int heightInRows, int pixWidth, int pixHeight) {
    long cPtr = chilkatJNI.CkSsh_SendReqWindowChangeAsync(swigCPtr, this, channelNum, widthInChars, heightInRows, pixWidth, pixHeight);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SendReqX11Forwarding(int channelNum, boolean singleConnection, String authProt, String authCookie, int screenNum) {
    return chilkatJNI.CkSsh_SendReqX11Forwarding(swigCPtr, this, channelNum, singleConnection, authProt, authCookie, screenNum);
  }

  public CkTask SendReqX11ForwardingAsync(int channelNum, boolean singleConnection, String authProt, String authCookie, int screenNum) {
    long cPtr = chilkatJNI.CkSsh_SendReqX11ForwardingAsync(swigCPtr, this, channelNum, singleConnection, authProt, authCookie, screenNum);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SendReqXonXoff(int channelNum, boolean clientCanDo) {
    return chilkatJNI.CkSsh_SendReqXonXoff(swigCPtr, this, channelNum, clientCanDo);
  }

  public CkTask SendReqXonXoffAsync(int channelNum, boolean clientCanDo) {
    long cPtr = chilkatJNI.CkSsh_SendReqXonXoffAsync(swigCPtr, this, channelNum, clientCanDo);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean SetAllowedAlgorithms(CkJsonObject json) {
    return chilkatJNI.CkSsh_SetAllowedAlgorithms(swigCPtr, this, CkJsonObject.getCPtr(json), json);
  }

  public boolean SetTtyMode(String ttyName, int ttyValue) {
    return chilkatJNI.CkSsh_SetTtyMode(swigCPtr, this, ttyName, ttyValue);
  }

  public boolean StartKeyboardAuth(String login, CkString outStr) {
    return chilkatJNI.CkSsh_StartKeyboardAuth(swigCPtr, this, login, CkString.getCPtr(outStr), outStr);
  }

  public String startKeyboardAuth(String login) {
    return chilkatJNI.CkSsh_startKeyboardAuth(swigCPtr, this, login);
  }

  public CkTask StartKeyboardAuthAsync(String login) {
    long cPtr = chilkatJNI.CkSsh_StartKeyboardAuthAsync(swigCPtr, this, login);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public int WaitForChannelMessage(int pollTimeoutMs) {
    return chilkatJNI.CkSsh_WaitForChannelMessage(swigCPtr, this, pollTimeoutMs);
  }

  public CkTask WaitForChannelMessageAsync(int pollTimeoutMs) {
    long cPtr = chilkatJNI.CkSsh_WaitForChannelMessageAsync(swigCPtr, this, pollTimeoutMs);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

}
