Function silc_client_file_send
SYNOPSIS
SilcClientFileError
silc_client_file_send(SilcClient client,
SilcClientConnection conn,
SilcClientEntry client_entry,
SilcClientConnectionParams *params,
SilcPublicKey public_key,
SilcPrivateKey private_key,
SilcClientFileMonitor monitor,
void *monitor_context,
const char *filepath,
SilcUInt32 *session_id);
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 to the
`session_id' pointer. 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.
If `params' is non-NULL and it has the `local_ip' and `local_port' set
the caller will provide the connection endpoint for the key agreement
connection. The `bind_ip' can be used to bind to that IP instead of
`local_ip'. Caller may also set the `repository', `verify_notfound'
and `timeout_secs' fields in `params'. Other fields are ignored.
If `params' is NULL, then the `client_entry' is expected to provide
the connection endpoint for us. It is recommended the `timeout_secs'
is specified in case the remote client does not reply anything to
the request.
The `public_key' and `private_key' is our identity in the key agreement.
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.
|