45 lines
1.2 KiB
C
45 lines
1.2 KiB
C
|
/* SPDX-License-Identifier: GPL-2.0 */
|
||
|
/*
|
||
|
* Copyright (c) 2019 MediaTek Inc.
|
||
|
*/
|
||
|
|
||
|
#ifndef __GED_HASH_TABLE_H__
|
||
|
#define __GED_HASH_TABLE_H__
|
||
|
|
||
|
#include "ged_type.h"
|
||
|
|
||
|
//typedef void *GED_HASHTABLE_HANDLE;
|
||
|
#define GED_HASHTABLE_HANDLE void*
|
||
|
|
||
|
|
||
|
GED_HASHTABLE_HANDLE ged_hashtable_create(unsigned int ui32Bits);
|
||
|
|
||
|
void ged_hashtable_destroy(GED_HASHTABLE_HANDLE hHashTable);
|
||
|
|
||
|
GED_ERROR ged_hashtable_insert(GED_HASHTABLE_HANDLE hHashTable, void *pvoid,
|
||
|
unsigned long *pulID);
|
||
|
|
||
|
void ged_hashtable_remove(GED_HASHTABLE_HANDLE hHashTable, unsigned long ulID);
|
||
|
|
||
|
void *ged_hashtable_find(GED_HASHTABLE_HANDLE hHashTable, unsigned long ulID);
|
||
|
|
||
|
GED_ERROR ged_hashtable_set(GED_HASHTABLE_HANDLE hHashTable,
|
||
|
unsigned long ulID, void *pvoid);
|
||
|
|
||
|
void ged_hashtable_iterator(GED_HASHTABLE_HANDLE hHashTable,
|
||
|
GED_BOOL (*iterator)(unsigned long ulID, void *pvoid, void *pvParam),
|
||
|
void *pvParam);
|
||
|
|
||
|
void *ged_hashtable_search(GED_HASHTABLE_HANDLE hHashTable,
|
||
|
void* (*pFunc)(unsigned long ulID, void *pvoid, void *pvParam),
|
||
|
void *pvParam);
|
||
|
|
||
|
void ged_hashtable_iterator_delete(GED_HASHTABLE_HANDLE hHashTable,
|
||
|
GED_BOOL (*pFunc)(unsigned long ulID, void *pvoid, void *pvParam,
|
||
|
GED_BOOL *pbDeleted),
|
||
|
void *pvParam);
|
||
|
|
||
|
unsigned long ged_hashtable_get_count(GED_HASHTABLE_HANDLE hHashTable);
|
||
|
|
||
|
#endif
|