00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00026 #ifndef CACHE_HASH_H
00027 #define CACHE_HASH_H
00028
00029 #ifdef __cplusplus
00030 extern "C" {
00031 #endif
00032
00033 #include "mod_cache.h"
00034
00045 #define CACHE_HASH_KEY_STRING (-1)
00046
00050 typedef struct cache_hash_t cache_hash_t;
00051
00055 typedef struct cache_hash_index_t cache_hash_index_t;
00056
00062 cache_hash_t* cache_hash_make(apr_size_t size);
00063
00073 void cache_hash_free(cache_hash_t *ht);
00074
00075
00085 void* cache_hash_set(cache_hash_t *ht, const void *key,
00086 apr_ssize_t klen, const void *val);
00087
00095 void* cache_hash_get(cache_hash_t *ht, const void *key,
00096 apr_ssize_t klen);
00097
00124 cache_hash_index_t* cache_hash_first(cache_hash_t *ht);
00125
00132 cache_hash_index_t* cache_hash_next(cache_hash_index_t *hi);
00133
00143 void cache_hash_this(cache_hash_index_t *hi, const void **key,
00144 apr_ssize_t *klen, void **val);
00145
00151 int cache_hash_count(cache_hash_t *ht);
00152
00153
00155 #ifdef __cplusplus
00156 }
00157 #endif
00158
00159 #endif