silcclient.html
Client Library Interface Header: silcclient.h
DESCRIPTION
This interface defines the SILC Client Library API for the application.
The Client Library is a full featured SILC client without user interface.
A simple interface called SILC Client Operations (SilcClientOperations)
is provided for applications to implmeent the necessary functions to use
the client library. The silcclient.h header file includes client library
API, such as command handling and message sending. The silcclient_entry.h
header file includes entry handling, such as channel and user entry
handling.
Practically all functions in the Client Library API accepts SilcClient
and SilcClientConnection as their first two argument. The first argument
is the actual SilcClient context and the second is the SilcClientConnection
context of the connection in question. Application may create and handle
multiple connections in one SilcClient. Connections can be created to
servers and other clients.
The Client Library support multiple threads and is threads safe if used
correctly. Messages can be sent from multiple threads without any
locking. Messages however are always received only in one thread unless
message waiting (see silc_client_private_message_wait as an example) is
used. The threads can be turned on and off by giving a parameter to the
SilcClient. When turned on, each new connection to remote host is always
executed in an own thread. All tasks related to that connection are then
executed in that thread. This means that client operation callbacks for
that connections may be called from threads and application will need to
employ concurrency control if the callbacks need to access shared data
in the application. Messages are also received in that thread.
SilcClientConnectionStatus
SilcClientRunning
SilcClientStopped
SilcClientConnectCallback
SilcClient
SilcClientConnection
SilcChannelUser
SilcClientStats
SilcKeyAgreementStatus
SilcKeyAgreementCallback
SilcPrivateMessageKeys
SilcChannelPrivateKey
SilcAskPassphrase
SilcVerifyPublicKey
SilcGetAuthMeth
SilcClientMessageType
SilcClientOperations
SilcClientParams
silc_client_alloc
silc_client_free
silc_client_init
silc_client_run
silc_client_run_one
silc_client_stop
SilcClientConnectionParams
silc_client_connect_to_server
silc_client_connect_to_client
silc_client_key_exchange
silc_client_close_connection
silc_client_send_channel_message
silc_client_send_private_message
silc_client_private_message_wait_init
silc_client_private_message_wait_uninit
silc_client_private_message_wait
silc_client_on_channel
silc_client_command_call
SilcClientCommandReply
silc_client_command_send
silc_client_command_pending
silc_client_add_private_message_key
silc_client_add_private_message_key_ske
silc_client_del_private_message_key
silc_client_list_private_message_keys
silc_client_free_private_message_keys
silc_client_private_message_key_is_set
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_current_channel_private_key
silc_client_send_key_agreement
silc_client_perform_key_agreement
silc_client_perform_key_agreement_stream
silc_client_abort_key_agreement
silc_client_set_away_message
SilcClientMonitorStatus
SilcClientFileError
SilcClientFileMonitor
SilcClientFileName
SilcClientFileAskName
silc_client_file_send
silc_client_file_receive
silc_client_file_close
silc_client_attribute_add
silc_client_attribute_del
silc_client_attributes_get
silc_client_attributes_request
silc_client_nickname_format
silc_client_nickname_parse
|