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