Copyright © 2001 - 2007 SILC Project SILC Project Website | SILC Toolkit Reference Manual Index

SILC Toolkit Reference Manual SILC Crypto Library Introduction to SILC RNG SILC RNG Interface SILC Cipher API SILC PKCS API SILC Public Key API SILC PKCS #1 API SILC Hash Interface SILC HMAC Interface SILC Core Library SILC Authentication Interface SILC Message Interface SILC Channel Interface SILC Command Interface SILC Notify Interface SILC Status Types SILC Modes SILC ID Interface SILC Argument Interface SILC Attributes Interface Packet Engine Interface SILC Public Key Payload Interface SILC Key Exchange Library SILC SKE Interface SILC Connection Authentication Interface SILC VCard Library SILC VCard Interface SILC Math Library SILC MP Interface SILC Math Interface SILC Client Library Using SILC Client Library Tutorial Arguments for command_reply Client Operation SilcStatus Error Arguments in command_reply Client Operation Arguments for notify Client Operation Unicode and UTF-8 Strings in Client Library Client Library Interface Reference Client Entry Interface Reference SILC ASN.1 Library SILC ASN.1 Interface SILC BER interface SILC HTTP Library SILC HTTP Server Interface SILC HTTP PHP Translator SILC Utility Library Basic Types and Definitions Data Buffer Interface Data Buffer Format Interface Hash Table Interface Memory Allocation Interface Data Stack (memory pool) Interface Finite State Machine Interface Thread Interface Mutual Exclusion Lock Interface Condition Variable Interface Atomic Operations Interface Network (TCP and UDP) Interface Scheduler Interface Asynchronous Operation Interface Abstract Stream Interface Socket Stream Interface File Descriptor Stream Interface File Utility Functions String Utility Interface Snprintf Interface UTF-8 String Interface Stringprep Interface Utility Functions List Interface Dynamic List Interface MIME Interface Time Utility Functions Logging Interface Config File Interface SILC Key Repository Library SILC SKR Interface SILC Application Utility Library SILC Application Utilities SILC ID Cache Interface SILC SFTP Library SILC SFTP Interface SFTP Filesystems Interface Resource Links SILC Project Website SILC Protocol Documentation SILC White Paper SILC FAQs
Structure SilcClientParams NAME
        typedef struct { ... } SilcClientParams;
DESCRIPTION
        Client parameters. This can be filled with proper values and
        given as argument to the silc_client_alloc function. The structure
        hold various parameters which affects the function of the client.
SOURCE
        typedef struct SilcClientParamsStruct {
          /* If this boolean is set to TRUE then the client library will use
             threads.  Any of the callback functions in the SilcClientOperations
             and other callbacks may be called at any time in a thread.  The
             application may need to employ appropriate concurrency control
             in the callbacks to protect application specific data. */
          SilcBool threads;

          /* Nickname format string. This can be used to order the client library
             to save the nicknames in the library in a certain format. Since
             nicknames are not unique in SILC it is possible to have multiple same
             nicknames. Using this format string it is possible to order the library
             to separate the multiple same nicknames from each other. If this is
             empty then default format is used which is the default nickname
             without anything else. The string MUST be NULL terminated.

             Following format types are available:

             %n  nickname      - the real nickname returned by the server (mandatory)
             %a  number        - ascending number in case there are several
                                 same nicknames (fe. nick#2 and nick#3)
             %h  hostname      - the stripped hostname of the client
             %H  full hostname - the full hostname of the client

             Example format strings: "%n#%a"     (fe. nick#2, nick#3)
                                     "%n#%h%a"   (fe. nick#host, nick#host2)
                                     "%a!%n#%h"  (fe. nick#host, 2!nick#host)

             Note that there must always be some separator characters around '%n'
             format.  It is not possible to put format characters before or after
             '%n' without separators (such ash '#').  Also note that the separator
             character should be a character that cannot be part of normal nickname.
             Note that, using '@' as a separator is not recommended as the nickname
             string may contain it to separate a server name from the nickname (eg.
             nickname@silcnet.org).
          */
          char nickname_format[32];

          /* If this is set to TRUE then the `nickname_format' is employed to all
             saved nicknames even if there are no multiple same nicknames in the
             cache. By default this is FALSE, which means that the `nickname_format'
             is employed only if the library will receive a nickname that is
             already saved in the cache. It is recommended to leave this to FALSE
             value. */
          SilcBool nickname_force_format;

          /* If this is set to TRUE then all nickname strings returned by the library
             and stored by the library are in the format of 'nickname@server', eg.
             nickname@silcnet.org.  If this is FALSE then the server name of the
             nickname is available only from the SilcClientEntry structure.  When this
             is TRUE the server name is still parsed to SilcClientEntry. */
          SilcBool full_nicknames;

          /* If this is set to TRUE then all channel name strings returned by the
             library and stored by the library are in the format of 'channel@server',
             eg. silc@silcnet.org.  If this is FALSE then the server name of the
             channel is available only from the SilcChannelEntry structure.  When this
             is TRUE the server name is still parsed to SilcChannelEntry.  Note that,
             not all SILC server versions return such channel name strings. */
          SilcBool full_channel_names;

          /* If this is set to TRUE, the silcclient library will not register and
             deregister the cipher, pkcs, hash and hmac algorithms. The application
             itself will need to handle that. */
          SilcBool dont_register_crypto_library;

          /* If this is set to TRUE, the silcclient library will not automatically
             negotiate private message keys using SKE over the SILC network but will
             use normal session keys to protect private messages. */
          SilcBool dont_autoneg_prvmsg_keys;
        } SilcClientParams;
Client Library Interface 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

Copyright © 2001 - 2007 SILC Project SILC Project Website | SILC Toolkit Reference Manual Index