16280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Luna/*
26280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Luna * gh.h
36280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Luna *
46280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Luna * DSP-BIOS Bridge driver support functions for TI OMAP processors.
56280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Luna *
66280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Luna * Copyright (C) 2005-2006 Texas Instruments, Inc.
76280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Luna *
86280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Luna * This package is free software; you can redistribute it and/or modify
96280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Luna * it under the terms of the GNU General Public License version 2 as
106280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Luna * published by the Free Software Foundation.
116280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Luna *
126280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Luna * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
136280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Luna * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
146280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Luna * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
156280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Luna */
166280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Luna
176280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Luna#ifndef GH_
186280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Luna#define GH_
196280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Luna#include <dspbridge/host_os.h>
206280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Luna
216280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Lunaextern struct gh_t_hash_tab *gh_create(u16 max_bucket, u16 val_size,
226280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Luna				       u16(*hash) (void *, u16),
236280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Luna				       bool(*match) (void *, void *),
246280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Luna				       void (*delete) (void *));
256280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Lunaextern void gh_delete(struct gh_t_hash_tab *hash_tab);
266280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Lunaextern void *gh_find(struct gh_t_hash_tab *hash_tab, void *key);
276280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Lunaextern void *gh_insert(struct gh_t_hash_tab *hash_tab, void *key, void *value);
284f551c8f6b89902a83328fbf50585ec7ee03ed5aFelipe Contreras#ifdef CONFIG_TIDSPBRIDGE_BACKTRACE
296280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Lunavoid gh_iterate(struct gh_t_hash_tab *hash_tab,
306280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Luna	void (*callback)(void *, void *), void *user_data);
314f551c8f6b89902a83328fbf50585ec7ee03ed5aFelipe Contreras#endif
326280238c13e16a105fe658e1b6e68380cbc9f055Omar Ramirez Luna#endif /* GH_ */
33