typedef struct ll list_t;
list_t * ll_alloc (void);
-uint64_t ll_lookup (list_t *ll, uint64_t key);
-uint64_t ll_add (list_t *ll, uint64_t key, uint64_t value);
-uint64_t ll_remove (list_t *ll, uint64_t key);
+uint64_t ll_lookup (list_t *ll, const void *key_data, uint32_t key_len);
+uint64_t ll_add (list_t *ll, const void *key_data, uint32_t key_len, uint64_t value);
+uint64_t ll_remove (list_t *ll, const void *key_data, uint32_t key_len);
void ll_print (list_t *ll);
typedef struct sl skiplist_t;
skiplist_t * sl_alloc (void);
-uint64_t sl_lookup (skiplist_t *sl, uint64_t key);
-uint64_t sl_add (skiplist_t *sl, uint64_t key, uint64_t value);
-uint64_t sl_remove (skiplist_t *sl, uint64_t key);
+uint64_t sl_lookup (skiplist_t *sl, const void *key_data, uint32_t key_len);
+uint64_t sl_add (skiplist_t *sl, const void *key_data, uint32_t key_len, uint64_t value);
+uint64_t sl_remove (skiplist_t *sl, const void *key_data, uint32_t key_len);
void sl_print (skiplist_t *sl);
#endif//STRUCT_H