updates.
[silc.git] / apps / silcd / idlist.h
index d018bd10b6d29c5b52013b140f0614244a5cdc54..9d29d74fdfc02a0c0f054673981b31099ffd4ddb 100644 (file)
@@ -241,24 +241,21 @@ typedef struct SilcChannelClientEntryStruct {
        not allow any command to be exeucted more than once in about
        2 seconds. This is result of normal time().
 
+   char fast_command
+
+       Counter to check command bursts.  By default, up to 5 commands
+       are allowed before limiting the execution.  See command flags
+       for more detail.
+
    SilcServerEntry router
 
        This is a pointer to the server list. This is the router server whose 
        cell this client is coming from. This is used to route messages to 
        this client.
 
-   SilcCipher session_key
-
-       The actual session key established by key exchange protcol between
-       connecting parties. This is used for both encryption and decryption.
-
-   SilcPKCS pkcs
-
-       PKCS of the client. This maybe NULL.
-
-   SilcHmac hmac
+   SilcList channels
 
-       MAC key used to compute MAC's for packets. 
+       List of channels this client has joined.
 
    void *connection
 
@@ -279,6 +276,7 @@ struct SilcClientEntryStruct {
   int mode;
 
   long last_command;
+  char fast_command;
 
   /* Pointer to the router */
   SilcServerEntry router;
@@ -502,6 +500,8 @@ silc_idlist_find_client_by_id(SilcIDList id_list, SilcClientID *id,
 SilcClientEntry
 silc_idlist_replace_client_id(SilcIDList id_list, SilcClientID *old_id,
                              SilcClientID *new_id);
+void silc_idlist_client_destructor(SilcIDCache cache,
+                                  SilcIDCacheEntry entry);
 SilcChannelEntry
 silc_idlist_add_channel(SilcIDList id_list, char *channel_name, int mode,
                        SilcChannelID *id, SilcServerEntry router,