X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fdoc%2Fcommand_reply_args.html;h=49b79d6a1bacda08f744a19ef8b252d816aef559;hb=a9c6c36d5712c2fa017d1e82126a7d3c6f32a05a;hp=3fad94be86a0c6109fbab21c860f6b35f97c3e2e;hpb=6a739a36442b1e91744bce09247005151c057e08;p=crypto.git diff --git a/lib/doc/command_reply_args.html b/lib/doc/command_reply_args.html index 3fad94be..49b79d6a 100644 --- a/lib/doc/command_reply_args.html +++ b/lib/doc/command_reply_args.html @@ -30,10 +30,8 @@ The 'command_reply' client operation callback function prototype is as follows:    void (*command_reply)(SilcClient client, SilcClientConnection conn,
-          -SilcCommandPayload cmd_payload, bool success, SilcCommand command,
-          -SilcStatus status, ...); + SilcCommand command, SilcStatus status,
+ SilcStatus error, va_list ap);

 
@@ -102,8 +100,8 @@ length is 20 bytes. If 'channels' is valid each entry in the list is SilcChannelPayload. If the `channel_usermodes' is valid then the table has as many entries as there are entries in the `channels' list, and the first entry in the table is the user mode on the first channel in the -`channels' list. The `channel_usermodes' is the table of the user's mdoes -no the joined channels. The 'attr' is the Requested Attributes that may +`channels' list. The `channel_usermodes' is the table of the user's modes +on the joined channels. The 'attr' is the Requested Attributes that may have been returned by the client and it can be parsed by traversing the SilcDList and using silc_attribute_get_attribute function. Each entry in the list is SilcAttribute. @@ -143,7 +141,9 @@ this command reply. The 'name' and 'info' may be NULL. Returns the new Client ID and new nickname inside the SilcClientEntry. The `old_client_id' is the old Client ID used by the client before the -nickname was changed. +nickname was changed. The `nickname' is the new nickname. Note that, +when user changes nickname SILC_NOTIFY_TYPE_NICK_CHANGE is not delivered +to application. Instead this SILC_COMMAND_NICK command reply is delivered. SilcClientEntry local_entry, char *nickname, const SilcClientID *old_client_id @@ -181,12 +181,14 @@ Returns the topic of the channel. Returns the invite list of the channel. Called also even if invite list was not modified but SILC_COMMAND_INVITE command was used to invite a user into a channel. In this case the invite list is not returned by the -server and 'invite_list' is NULL. The 'invite_list' is list of -SilcArgumentPayloads. The first 2 bytes are the number of arguments in -the list and can be parsed with SILC_GET16_MSB macro. The list can be -parsed with silc_argument_payload_parse function. +server and 'invite_list' is NULL. The 'invite_list' is SilcArgumenPayload +which contains one or more arguments, each is one invite list entry. The +entries can be retrieved with silc_argument_get_first_arg, +silc_argument_get_next_arg, silc_argument_get_arg_type and +silc_argument_get_decoded functions. -SilcChannelEntry channel, SilcBuffer invite_list +SilcChannelEntry channel, +SilcArgumentPayload invite_list @@ -195,7 +197,8 @@ parsed with silc_argument_payload_parse function. Called after killing a client. Returns the client that was killed. The `client_entry' may be NULL. The `client_entry' will become invalid -after the command reply has returned from application. +after the command reply has returned from application. The +SILC_NOTIFY_TYPE_KILLED will not be delivered for clients that you killed. SilcClientEntry client_entry @@ -243,27 +246,24 @@ to this reply. SILC_COMMAND_JOIN -Reply received when user joined a channel. The 'ignored' argument can -be ignored by the application. The 'topic' and 'hmac_name' may be NULL. -The 'key_payload' is usually ignored by the application. The 'list_count' -is the number of entries in both 'client_id_list' and 'client_mode_list'. -The 'client_id_list' is a list of clients on the channel and 'client_mode_list' -includes those clients' modes on the channel. If application likes to -resolve information about the clients on the channel it may call -silc_client_get_clients_by_list function and pass the 'client_id_list' as -argument to it. The 'client_mode_list' includes 32-bit integers one after -the other and they are in same order as clients in 'client_mode_list'. -If application resolves the information with silc_client_get_clients_by_list -parsing the 'client_mode_list' is not necessary. The 'founder_key' is the -channel founder's key and may be NULL. The 'channel_pubkeys' is Argument -List Payload containing Public Key Payloads of all added channel public -keys, it may be NULL. +Reply received when user joined a channel. The `channel_mode' contains +the current channel mode. The `user_list' is the user list on the channel +and may be traversed with silc_hash_table_get function. Each entry in the +`user_list' is SilcChannelUser structure, which contains the SilcClientEntry +and the client's mode on the channel. The library will free the list. +The `topic' is the current topic on channel or NULL if no topic is set. +The `cipher' is the encryption algorithm used on channel or NULL if it is +not available. The `hmac' is the HMAC algorithm used on channel or NULL if +it is not available. The `founder_key' is the channel founder's public key +or NULL if founder public key has not been set. The `channel_pubkeys' is +a list of channel public keys (for authentication on joining) or NULL if +they have not been set. Each entry in the list is SilcArgumentDecodedList +each containing one channel SilcPublicKey. The library will free the list. char *channel_name, SilcChannelEntry channel, -SilcUInt32 channel_mode, int ignored, SilcBuffer key_payload, NULL, NULL, -char *topic, char *hmac_name, SilcUInt32 list_count, SilcBuffer client_id_list, -SilcBuffer client_mode_list, SilcPublicKey founder_key, -SilcBuffer channel_pubkeys, SilcUint32 user_limit +SilcUInt32 channel_mode, SilcHashTableList *user_list, char *topic, +char *cipher, char *hmac, SilcPublicKey founder_key, +SilcDList channel_pubkeys, SilcUint32 user_limit @@ -293,7 +293,10 @@ founder's public key when it was set. It may also return the channel public key list when the list was altered. The 'founder_key' and 'channel_pubkeys' arguments may be NULL. The 'channel_pubkeys' is a list of SilcArgumentDecodedList contexts which each contain one channel public -key. The library will automatically free the list. +key. The library will automatically free the list. If the `founder_key' +was present it will be updated to `channel' entry by the library after +calling the command_reply callback. Application may check if the `founder_key' +is different from the key in `channel' entry to detect if it was changed. SilcChannelEntry channel, SilcUInt32 mode, SilcPublicKey founder_key, SilcDList channel_pubkeys, SilcUint32 user_limit @@ -327,17 +330,21 @@ Returns channel's ban list. The 'ban_list' may be NULL. The construction of that list is equivalent to invite list. See description of SILC_COMMAND_INVITE command reply. -SilcChannelEntry channel, SilcBuffer ban_list +SilcChannelEntry channel, SilcArgumentPayload ban_list SILC_COMMAND_DETACH -Called after being detached from the SILC network. There is no arguments -to this reply. +Called after being detached from the SILC network. The command reply delivers +the detachment data buffer `detach_data' that the application should save +for example into a file. The data will be needed when resuming back to +the network. When resuming the data is saved into SilcClientConnectionParams +structure and given as argument to silc_client_connect_to_server or +silc_client_key_exchange functions. -none +SilcBuffer detach_data @@ -379,7 +386,7 @@ silc_hash_table_get function. Each entry in the `user_list' is SilcChannelUser structure, which contains the SilcClientEntry and the client's mode on the channel. -SilcChannelEntry channel, SilcHashTableList user_list +SilcChannelEntry channel, SilcHashTableList *user_list