XK      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None@Block the current thread until data is available to read on the # given file descriptor (GHC only). This will throw an # if the file descriptor was closed C while this thread was blocked. To safely close a file descriptor  that has been used with , use  . :Block the current thread until data can be written to the # given file descriptor (GHC only).  This will throw an # if the file descriptor was closed C while this thread was blocked. To safely close a file descriptor  that has been used with , use  . NoneSession directions #      None.Exception to throw when null pointer received  from libssh2. !Error codes returned by libssh2. KGet last error information. L-Throw an exception if negative value passed,  or return unchanged value. N+Throw an exception if null pointer passed, $ or return it casted to right type. O!Get currently blocked directions F !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP:HGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! KLMNJIOP.HGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! IJKLMNOPNonet3Initialize libssh2. Pass True to enable encryption  or False to disable it. uDeinitialize libssh2. vCreate Session object wFree Session object' s memory x,Disconnect session (but do not free memory) z%Run SSH handshake on network socket. {,Create KnownHosts object for given session. |Free KnownHosts object' s memory }Read known hosts from file ~Get remote host public key %Check host data against known hosts. #Perform public key authentication. Open a channel for session. Execute command Execute shell command Read data from channel. Write data to channel. 'Write all data to channel from handle. % Returns amount of transferred data. &Read all data from channel to handle. % Returns amount of transferred data. 'Close channel (but do not free memory) Free channel object' s memory Get channel exit status "Get channel exit signal. Returns: Z (possibly error code, exit signal name, possibly error message, possibly language code). Create SCP file send channel. !Create SCP file receive channel. ! TODO: receive struct stat also. |QRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxGoodbye message yz{|}Path to known_hosts file ~ Host name Port number (usually 22) Host public key 'Host flags (see libssh2 documentation) Session  Username Path to public key Path to private key  Passphrase Amount of data to read EQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Ebfedcgsrqponmlkjih[\]^_`atuvwxzy{|}~QZYXWVUTSR]Q ZYXWVUTSR[\]^_`abfedcg srqponmlkjihtuvwxyz{|}~None ;Similar to Network.connectTo, but does not socketToHandle. -Execute some actions within SSH2 connection. ! Uses public key authentication. )Execute some actions within SSH2 session *Execute some actions withing SSH2 channel  Read all data from the channel >Although this function returns a lazy bytestring, the data is not read  lazily. 'Write a lazy bytestring to the channel $Send a file to remote host via SCP.  Returns size of sent data. 'Receive file from remote host via SCP.  Returns size of received data. Generalization of  Path to known_hosts file Path to public key file Path to private key file  Passphrase Remote user name Remote host name  Remote port number (usually 22) Actions to perform on session Remote host name  Remote port number (usually 22) )Actions to perform on handle and session Remote host name  Remote port number (usually 22) Path to known_hosts file (File creation mode (0o777, for example) Path to local file Remote file path Remote file path Path to local file ,Create a channel (and possibly other stuff) Extract the channel from  other stuff #Actions to execute on the channel %Channel exit status and return value        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abccdefghijklmnopqrstuvwxyz{|}~ !libssh2-0.2.0.1%Network.SSH.Client.LibSSH2.WaitSocket Network.SSH.Client.LibSSH2.Types!Network.SSH.Client.LibSSH2.Errors"Network.SSH.Client.LibSSH2.ForeignNetwork.SSH.Client.LibSSH2GHC.Conc closeFdWiththreadWaitReadthreadWaitWrite DirectionOUTBOUNDINBOUNDChannelchannelSession KnownHostsSession ToPointer toPointer CStringCLenSSizeSizewithCStringLenIntConvpeekCStringPtrpeekMaybeCStringPtrsessionFromPointersessionGetSocketsessionSetSocketknownHostsFromPointerchannelFromPointerint2dir IntResult intResult NULL_POINTER ErrorCode BAD_SOCKETENCRYPT SOCKET_RECVAGENT_PROTOCOLOUT_OF_BOUNDARYCOMPRESSBAD_USEBUFFER_TOO_SMALLEAGAINPUBLICKEY_PROTOCOLINVALID_POLL_TYPEINVALMETHOD_NOT_SUPPORTEDREQUEST_DENIED SFTP_PROTOCOLSOCKET_TIMEOUTZLIB SCP_PROTOCOLCHANNEL_EOF_SENTCHANNEL_CLOSEDCHANNEL_PACKET_EXCEEDEDCHANNEL_WINDOW_EXCEEDEDCHANNEL_UNKNOWNCHANNEL_REQUEST_DENIEDCHANNEL_FAILURECHANNEL_OUTOFORDERPUBLICKEY_UNVERIFIEDAUTHENTICATION_FAILED METHOD_NONEFILEPASSWORD_EXPIREDPROTOSOCKET_DISCONNECTDECRYPT HOSTKEY_SIGN HOSTKEY_INITTIMEOUTKEY_EXCHANGE_FAILURE SOCKET_SENDALLOC KEX_FALIURE INVALID_MAC BANNER_SEND BANNER_RECV SOCKET_NONENONE error2int int2error getLastError handleInt handleBool handleNullPtrblockedDirectionsthreadWaitSession TraceFlagT_SOCKET T_PUBLICKEYT_ERRORT_SFTPT_SCPT_CONNT_AUTHT_KEXT_TRANS KnownHostkhMagickhNodekhNamekhKey khTypeMaskKnownHostResultFAILURENOTFOUNDMISMATCHMATCH KnownHostType KEY_SSHDSS KEY_SSHRSAKEY_RSA1 KEY_SHIFTKEY_MASK KEYENC_BASE64 KEYENC_RAW KEYENC_MASK TYPE_CUSTOM TYPE_SHA1 TYPE_PLAIN TYPE_MASK initializeexit initSession freeSessiondisconnectSession setBlocking handshakeinitKnownHostsfreeKnownHostsknownHostsReadFile getHostKeycheckKnownHostpublicKeyAuthFileopenChannelSessionchannelProcesschannelExecute channelShell requestPTYEx requestPTY readChannel writeChannelchannelSendEOFchannelWaitEOF setTraceModewriteChannelFromHandlereadChannelToHandle channelIsEOF closeChannel freeChannelchannelExitStatuschannelExitSignalscpSendChannelscpReceiveChannel socketConnectwithSSH2 withSession checkHost withChannelreadAllChannelwriteAllChannelrunShellCommands execCommands scpSendFilescpReceiveFile withChannelBythreadWaitRead_baseGHC.IO.ExceptionIOErrorthreadWaitWrite_ channelPtrCChannel sessionPtrsessionSocketRefCSession$fToPointerChannel $fShowChannel$fToPointerKnownHosts$fShowKnownHosts$fToPointerSession $fShowSessionblockedDirections'_getLastError_'_ getLastError_$fIntResultCLong$fIntResultCInt$fIntResult(,,,)$fIntResult(,,)$fIntResult(,)$fIntResultInt$fExceptionNULL_POINTER$fExceptionErrorCodeOffsetlibssh2_scp_recvscpSendChannel_'_channelExitSignal_'_channelExitStatus'_freeChannel_'_closeChannel_'_channelIsEOF'_libssh2_channel_eofsetTraceMode'_channelWaitEOF_'_channelSendEOF_'_libssh2_channel_write_exlibssh2_channel_read_exrequestPTYEx'_channelProcessStartup_'_openSessionChannelEx'_publicKeyAuthFile_'_checkKnownHost_'_ getHostKey'_knownHostsReadFile_'_freeKnownHosts'_initKnownHosts_'_ handshake_'_ setBlocking'_disconnectSessionEx'_freeSession_'_libssh2_session_init_exexit'_ initialize_'_kht2int typemask2int int2khresult init_crypto ssh2socket initialize_ freeSession_disconnectSessionExbool2int handshake_initKnownHosts_knownHostsReadFile_checkKnownHost_publicKeyAuthFile_openSessionChannelExchannelProcessStartup_ readChannelExchannelSendEOF_channelWaitEOF_tf2int trace2int readChannelCB closeChannel_ freeChannel_channelExitSignal_scpSendChannel_