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