+
+
+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;
+
+ |
+