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_file_send SYNOPSIS
        uint32 silc_client_file_send(SilcClient client,
                                     SilcClientConnection conn,
                                     SilcClientFileMonitor monitor,
                                     void *monitor_context,
                                     const char *local_ip,
                                     uint32 local_port,
                                     SilcClientEntry client_entry,
                                     const char *filepath);
DESCRIPTION
        Sends a file indicated by the `filepath' to the remote client
        indicated by the `client_entry'.  This will negotiate a secret key
        with the remote client before actually starting the transmission of
        the file.  The `monitor' callback will be called to monitor the
        transmission of the file.

        This returns a file session ID for the file transmission.  It can
        be used to close the session (and abort the file transmission) by
        calling the silc_client_file_close function.  The session ID is
        also returned in the `monitor' callback. This returns 0 if the
        file indicated by the `filepath' is being transmitted to the remote
        client indicated by the `client_entry', already.

        If the `local_ip' is provided then this will try to bind the
        listener for key exchange protocol to that IP.  If `local_port' is
        non-zero that port is used.  If `local_ip' is NULL then this will
        automatically attempt to bind it to local IP address of the machine.
        If that fails then this does not bind to any address and port, and
        assume that the remote client will provide the listener for the
        key exchange protocol.

        If error will occur during the file transfer process the error
        status will be returned in the monitor callback.  In this case
        the application must call silc_client_file_close to close the
        session.
>> 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