/* Description: Look through the domain hash table searching for an entry to match @domain and @addr, return a pointer to a copy of the entry or NULL. The caller is responsible for ensuring that rcu_read_lock() is called.  */
struct netlbl_domaddr4_map* netlbl_domhsh_getentry_af4(const char *domain, __be32 addr)
/* Description: Look through the domain hash table searching for an entry to match @domain and @addr, return a pointer to a copy of the entry or NULL. The caller is responsible for ensuring that rcu_read_lock() is called.  */
struct netlbl_domaddr4_map* netlbl_domhsh_getentry_af4(const char *domain, __be32 addr)
{
	struct netlbl_dom_map *dom_iter;
	struct netlbl_af4list *addr_iter;
	dom_iter = netlbl_domhsh_search_def(domain);
	if (dom_iter == NULL)
		return NULL;
	if (dom_iter->type != NETLBL_NLTYPE_ADDRSELECT)
		return NULL;
	addr_iter = netlbl_af4list_search(addr,
					  &dom_iter->type_def.addrsel->list4);
	if (addr_iter == NULL)
		return NULL;
	return netlbl_domhsh_addr4_entry(addr_iter);
}