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