diff options
Diffstat (limited to 'ecp/src/ecp/htable/htable.c')
-rw-r--r-- | ecp/src/ecp/htable/htable.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/ecp/src/ecp/htable/htable.c b/ecp/src/ecp/htable/htable.c new file mode 100644 index 0000000..104d2aa --- /dev/null +++ b/ecp/src/ecp/htable/htable.c @@ -0,0 +1,28 @@ +#include <core.h> +#include <ht.h> +#include <cr.h> + +#include "hashtable.h" + +void *ecp_ht_create(ECPContext *ctx) { + return hashtable_create(1000, (unsigned int (*)(void *))ecp_cr_dh_pub_hash_fn, (int (*)(void *, void *))ecp_cr_dh_pub_hash_eq); +} + +void ecp_ht_destroy(void *h) { + hashtable_destroy(h, 0); +} + +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; +} + +ECPConnection *ecp_ht_remove(void *h, unsigned char *k) { + return hashtable_remove(h, k); +} + +ECPConnection *ecp_ht_search(void *h, unsigned char *k) { + return hashtable_search(h, k); +} + |