Merged silc_1_0_branch to trunk.
[silc.git] / lib / silccore / silcidcache.h
index 69c5290f1bdb8a639d2a74c0f56f6b8a9bbca88a..e445b0a4035e9bda852ef0893efd2e40a7fc60fc 100644 (file)
@@ -8,8 +8,7 @@
 
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  the Free Software Foundation; version 2 of the License.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -111,7 +110,8 @@ typedef struct SilcIDCacheListStruct *SilcIDCacheList;
  * SYNOPSIS
  *
  *    typedef void (*SilcIDCacheDestructor)(SilcIDCache cache,
- *                                          SilcIDCacheEntry entry);
+ *                                          SilcIDCacheEntry entry,
+ *                                          void *context);
  *
  * DESCRIPTION
  *
@@ -122,7 +122,8 @@ typedef struct SilcIDCacheListStruct *SilcIDCacheList;
  *
  ***/
 typedef void (*SilcIDCacheDestructor)(SilcIDCache cache,
-                                     SilcIDCacheEntry entry);
+                                     SilcIDCacheEntry entry,
+                                     void *context);
 
 #define SILC_ID_CACHE_EXPIRE 3600
 #define SILC_ID_CACHE_EXPIRE_DEF (time(NULL) + SILC_ID_CACHE_EXPIRE)
@@ -134,7 +135,9 @@ typedef void (*SilcIDCacheDestructor)(SilcIDCache cache,
  * SYNOPSIS
  *
  *    SilcIDCache silc_idcache_alloc(SilcUInt32 count, SilcIdType id_type,
- *                                   SilcIDCacheDestructor destructor);
+ *                                   SilcIDCacheDestructor destructor,
+ *                                   void *destructor_context,
+ *                                   bool delete_id, bool delete_name);
  *
  * DESCRIPTION
  *
@@ -150,6 +153,7 @@ typedef void (*SilcIDCacheDestructor)(SilcIDCache cache,
  ***/
 SilcIDCache silc_idcache_alloc(SilcUInt32 count, SilcIdType id_type,
                               SilcIDCacheDestructor destructor,
+                              void *destructor_context,
                               bool delete_id, bool delete_name);
 
 /****f* silccore/SilcIDCacheAPI/silc_idcache_free