NCDStringIndex_hash.h 966 B

12345678910111213
  1. #define CHASH_PARAM_NAME NCDStringIndex__Hash
  2. #define CHASH_PARAM_ENTRY struct NCDStringIndex__entry
  3. #define CHASH_PARAM_LINK NCD_string_id_t
  4. #define CHASH_PARAM_KEY NCDStringIndex_hash_key
  5. #define CHASH_PARAM_ARG NCDStringIndex_hash_arg
  6. #define CHASH_PARAM_NULL ((NCD_string_id_t)-1)
  7. #define CHASH_PARAM_DEREF(arg, link) (&(arg)[(link)])
  8. #define CHASH_PARAM_ENTRYHASH(arg, entry) badvpn_djb2_hash_bin((const uint8_t *)(entry).ptr->str, (entry).ptr->str_len)
  9. #define CHASH_PARAM_KEYHASH(arg, key) badvpn_djb2_hash_bin((const uint8_t *)(key).str, (key).len)
  10. #define CHASH_PARAM_ENTRYHASH_IS_CHEAP 0
  11. #define CHASH_PARAM_COMPARE_ENTRIES(arg, entry1, entry2) ((entry1).ptr->str_len == (entry2).ptr->str_len && !memcmp((entry1).ptr->str, (entry2).ptr->str, (entry1).ptr->str_len))
  12. #define CHASH_PARAM_COMPARE_KEY_ENTRY(arg, key1, entry2) ((key1).len == (entry2).ptr->str_len && !memcmp((key1).str, (entry2).ptr->str, (key1).len))
  13. #define CHASH_PARAM_ENTRY_NEXT hash_next