guint
addr_info_hash(gconstpointer k)
{
	addr_info_t addr;

	memcpy(&addr, k, sizeof(addr_info_t));
	/*forces a NULL's padding if the address if ipv4 */
	if (addr.type == TADDR_V4)
		memset(
		    ((guint8 *) & (addr.addr.v4)) + sizeof(addr.addr.v4),
		    0x00, sizeof(addr.addr.v6) - sizeof(addr.addr.v4));

	return djb_hash_buf((guint8 *) &addr, sizeof(addr_info_t));
}
Esempio n. 2
0
hashstr_t*
hashstr_create_len(const gchar *s, gsize l)
{
	if (unlikely(NULL == s))
		return NULL;

	guint32 h = djb_hash_buf((guint8 *) s, l);
	hashstr_t *result = g_malloc0(HASHSTR_PREFIX + l + 1);

	result->hl.h = h;
	result->hl.l = l;
	memcpy(result->s0, s, l);
	return result;
}
Esempio n. 3
0
static guint
hash_service_id(gconstpointer p)
{
	return djb_hash_buf(p, sizeof(struct conscience_srvid_s));
}
Esempio n. 4
0
static guint
func_hash_prefix(gconstpointer k)
{
    return djb_hash_buf(((meta0_info_t *) k)->prefixes,
                        ((meta0_info_t *) k)->prefixes_size);
}