diff options
Diffstat (limited to 'code/ecp/htable/htable.c')
-rw-r--r-- | code/ecp/htable/htable.c | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/code/ecp/htable/htable.c b/code/ecp/htable/htable.c index 77f5a35..a46291b 100644 --- a/code/ecp/htable/htable.c +++ b/code/ecp/htable/htable.c @@ -1,37 +1,28 @@ #include <core.h> +#include <ht.h> +#include <cr.h> #include "hashtable.h" -static void *h_create(ECPContext *ctx) { - return create_hashtable(1000, (unsigned int (*)(void *))ctx->cr.dh_pub_hash_fn, (int (*)(void *, void *))ctx->cr.dh_pub_hash_eq, NULL, NULL, NULL); +void *ecp_ht_create(ECPContext *ctx) { + return create_hashtable(1000, (unsigned int (*)(void *))ecp_cr_dh_pub_hash_fn, (int (*)(void *, void *))ecp_cr_dh_pub_hash_eq, NULL, NULL, NULL); } -static void h_destroy(void *h) { +void ecp_ht_destroy(void *h) { hashtable_destroy(h); } -static int h_insert(void *h, unsigned char *k, ECPConnection *v) { +int ecp_ht_insert(void *h, unsigned char *k, ECPConnection *v) { int rv = hashtable_insert(h, k, v); if (!rv) return ECP_ERR; return ECP_OK; } -static ECPConnection *h_remove(void *h, unsigned char *k) { +ECPConnection *ecp_ht_remove(void *h, unsigned char *k) { return hashtable_remove(h, k); } -static ECPConnection *h_search(void *h, unsigned char *k) { +ECPConnection *ecp_ht_search(void *h, unsigned char *k) { return hashtable_search(h, k); } -#ifdef ECP_WITH_HTABLE -int ecp_htable_init(ECPHTableIface *h) { - h->init = 1; - h->create = h_create; - h->destroy = h_destroy; - h->insert = h_insert; - h->remove = h_remove; - h->search = h_search; - return ECP_OK; -} -#endif
\ No newline at end of file |