X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=apps%2Fsilcd%2Fidlist.h;h=25705a9873d20bcda1fd76e17096ae062a7f6052;hb=52e57c880aba9c5e89f59d962eb9af75670b76e0;hp=e6d1ce47514c0851fedb143cd210ee7524d94397;hpb=f9f6dfe319b9ee24fd24963003a230fa0ab11d47;p=silc.git diff --git a/apps/silcd/idlist.h b/apps/silcd/idlist.h index e6d1ce47..25705a98 100644 --- a/apps/silcd/idlist.h +++ b/apps/silcd/idlist.h @@ -162,6 +162,9 @@ struct SilcServerEntryStruct { /* Connection data */ void *connection; + + void *backup_proto; + unsigned int backup : 1; /* Set when executing backup protocol */ }; /* @@ -543,6 +546,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 +579,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 +592,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 +613,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,