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 Payload 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_send_command
>> SilcClientPendingDestructor
>> 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
>> silc_client_file_receive(1)
>> silc_client_file_send
>> silc_client_file_receive
>> silc_client_file_close