#define CHASH_PARAM_NAME NCDMethodIndex__Hash #define CHASH_PARAM_ENTRY NCDMethodIndex__hashentry #define CHASH_PARAM_LINK int #define CHASH_PARAM_KEY NCDMethodIndex__hashkey #define CHASH_PARAM_ARG NCDMethodIndex__hasharg #define CHASH_PARAM_NULL ((int)-1) #define CHASH_PARAM_DEREF(arg, link) (&(arg)[(link)]) #define CHASH_PARAM_ENTRYHASH(arg, entry) (badvpn_djb2_hash((const uint8_t *)(entry).ptr->method_name)) #define CHASH_PARAM_KEYHASH(arg, key) (badvpn_djb2_hash((const uint8_t *)(key))) #define CHASH_PARAM_COMPARE_ENTRIES(arg, entry1, entry2) (!strcmp((entry1).ptr->method_name, (entry2).ptr->method_name)) #define CHASH_PARAM_COMPARE_KEY_ENTRY(arg, key1, entry2) (!strcmp((key1), (entry2).ptr->method_name)) #define CHASH_PARAM_ENTRY_NEXT hash_next