SILC Core Library
    SILC Auth API
    SILC Channel API
    SILC Command API
    SILC ID API
    SILC ID Cache API
    SILC Modes
    SILC Notify API
    SILC Packet API
    SILC Argument API
    SILC Private API
SILC Math Library
    SILC Math API
    SILC MP API
SILC SFTP Library
    SILC SFTP API
    SILC SFTP Filesystems
SILC Utility Library
    SILC Buffer API
    SILC Buffer Format API
    SILC Buffer Utility API
    SILC Hash Table API
    SILC Log and Debug API
    SILC Memory API
    SILC Mutex API
    SILC Thread API
    SILC Net API
    SILC Schedule API
    SILC Socket Connection API
    SILC Protocol API
    SILC Util API
    SILC Zip API
    SILC List API
    SILC Dynamic List API
SILC Key Exchange Library
    SILC SKE API
    SILC SKE Status
SILC Client Library
    SILC Client API
SILC Crypto Library
    SILC Cipher API
    SILC Hash API
    SILC HMAC API
    SILC PKCS API
    SILC RNG API
Function silc_client_perform_key_agreement

SYNOPSIS

    void 
    silc_client_perform_key_agreement(SilcClient client,
                                      SilcClientConnection conn,
                                      SilcClientEntry client_entry,
                                      char *hostname,
                                      int port,
                                      SilcKeyAgreementCallback completion,
                                      void *context);

DESCRIPTION

    Performs the actual key agreement protocol. Application may use this
    to initiate the key agreement protocol. This can be called for example
    after the application has received the `key_agreement' client operation,
    and did not return TRUE from it.

    The `hostname' is the remote hostname (or IP address) and the `port'
    is the remote port. The `completion' callback with the `context' will
    be called after the key agreement protocol.

NOTES
 
    NOTE: If the application returns TRUE in the `key_agreement' client
    operation the library will automatically start the key agreement. In this
    case the application must not call this function. However, application
    may choose to just ignore the `key_agreement' client operation (and
    merely just print information about it on the screen) and call this
    function when the user whishes to do so (by, for example, giving some
    specific command). Thus, the API provides both, automatic and manual
    initiation of the key agreement. Calling this function is the manual
    initiation and returning TRUE in the `key_agreement' client operation
    is the automatic initiation. 

>> SilcClientAPI
>> SilcKeyAgreementStatus
>> SilcKeyAgreementCallback
>> SilcPrivateMessageKeys
>> SilcAskPassphrase
>> SilcVerifyPublicKey
>> SilcGetAuthMeth
>> SilcClientMessageType
>> SilcClientOperations
>> SilcNicknameFormatParse
>> SilcClientParams
>> silc_client_alloc
>> silc_client_free
>> silc_client_init
>> silc_client_run
>> silc_client_run_one
>> silc_client_stop
>> silc_client_connect_to_server
>> silc_client_add_connection
>> silc_client_del_connection
>> silc_client_add_socket
>> silc_client_del_socket
>> silc_client_start_key_exchange
>> silc_client_close_connection
>> silc_client_send_channel_message
>> silc_client_send_private_message
>> SilcGetClientCallback
>> silc_client_get_clients
>> silc_client_get_clients_local
>> silc_client_get_clients_by_list
>> silc_client_get_client_by_id
>> silc_client_get_client_by_id_resolve
>> silc_client_del_client
>> SilcGetChannelCallback
>> silc_client_get_channel
>> silc_client_get_channel_id_resolve
>> silc_client_get_channel_by_id_resolve
>> silc_client_del_channel
>> silc_client_get_server
>> silc_client_get_server_by_id
>> silc_client_del_server
>> silc_client_command_alloc
>> silc_client_command_free
>> silc_client_command_dup
>> silc_client_command_find
>> silc_client_command_call
>> silc_client_command_send
>> silc_client_command_pending
>> silc_client_add_private_message_key
>> silc_client_add_private_message_key_ske
>> silc_client_send_private_message_key
>> silc_client_del_private_message_key
>> silc_client_list_private_message_keys
>> silc_client_free_private_message_keys
>> silc_client_add_channel_private_key
>> silc_client_del_channel_private_keys
>> silc_client_del_channel_private_key
>> silc_client_list_channel_private_keys
>> silc_client_free_channel_private_keys
>> silc_client_send_key_agreement
>> silc_client_perform_key_agreement
>> silc_client_perform_key_agreement_fd
>> silc_client_abort_key_agreement
>> silc_client_set_away_message
>> SilcConnectionAuthRequest
>> silc_client_request_authentication_method
>> SilcClientMonitorStatus
>> SilcClientFileError
>> SilcClientFileMonitor
>> silc_client_file_send
>> silc_client_file_receive
>> silc_client_file_close