hash_name
h = hash_name(svcname) & SVC_HASH_MASK;
h = hash_name(sn) & SVC_HASH_MASK;
return insert_hash(ident, hash_name(ident->name, ident->len));
return create_hashed_ident(name, len, hash_name(name, len));
#define exp_hash_unlink(exi, hash_name) \
if (*(exi)->hash_name.bckt == (exi)) \
*(exi)->hash_name.bckt = (exi)->hash_name.next; \
if ((exi)->hash_name.prev) \
(exi)->hash_name.prev->hash_name.next = (exi)->hash_name.next; \
if ((exi)->hash_name.next) \
(exi)->hash_name.next->hash_name.prev = (exi)->hash_name.prev; \
(exi)->hash_name.bckt = NULL;
#define exp_hash_link(exi, hash_name, bucket) \
(exi)->hash_name.bckt = (bucket); \
(exi)->hash_name.prev = NULL; \
(exi)->hash_name.next = *(bucket); \
if ((exi)->hash_name.next) \
(exi)->hash_name.next->hash_name.prev = (exi); \