Added dynamic server connection support with WHOIS and IDENTIFY
[silc.git] / apps / silcd / idlist.h
index e6d1ce47514c0851fedb143cd210ee7524d94397..6af4a9eb99f561cc841cfdd23330dd1d05e71e66 100644 (file)
@@ -543,6 +543,7 @@ struct SilcIDListStruct {
 typedef struct {
   /* Generic data structure. DO NOT add anything before this! */
   SilcIDListDataStruct data;
+  SilcAsyncOperation op;
   SilcServerConfigRef cconfig;
   SilcServerConfigRef sconfig;
   SilcServerConfigRef rconfig;
@@ -575,6 +576,10 @@ SilcServerEntry
 silc_idlist_replace_server_id(SilcIDList id_list, SilcServerID *old_id,
                              SilcServerID *new_id);
 int silc_idlist_del_server(SilcIDList id_list, SilcServerEntry entry);
+void silc_idlist_server_destructor(SilcIDCache cache,
+                                  SilcIDCacheEntry entry,
+                                  void *dest_context,
+                                  void *app_context);
 SilcClientEntry
 silc_idlist_add_client(SilcIDList id_list, char *nickname, char *username,
                       char *userinfo, SilcClientID *id,
@@ -584,7 +589,8 @@ int silc_idlist_get_clients_by_nickname(SilcIDList id_list, char *nickname,
                                        char *server,
                                        SilcClientEntry **clients,
                                        SilcUInt32 *clients_count);
-int silc_idlist_get_clients_by_hash(SilcIDList id_list, char *nickname,
+int silc_idlist_get_clients_by_hash(SilcIDList id_list,
+                                   char *nickname, char *server,
                                    SilcHash md5hash,
                                    SilcClientEntry **clients,
                                    SilcUInt32 *clients_count);
@@ -604,6 +610,10 @@ silc_idlist_add_channel(SilcIDList id_list, char *channel_name, int mode,
                        SilcChannelID *id, SilcServerEntry router,
                        SilcCipher send_key, SilcCipher receive_key,
                        SilcHmac hmac);
+void silc_idlist_channel_destructor(SilcIDCache cache,
+                                   SilcIDCacheEntry entry,
+                                   void *dest_context,
+                                   void *app_context);
 int silc_idlist_del_channel(SilcIDList id_list, SilcChannelEntry entry);
 SilcChannelEntry
 silc_idlist_find_channel_by_name(SilcIDList id_list, char *name,