summaryrefslogtreecommitdiff
path: root/src/egl/main/eglhash.h
blob: 1d6db9598ce52febcac92dcefc9356488876d788 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/**
 * \file eglhash.h
 * Generic hash table. 
 */


#ifndef EGLHASH_INCLUDED
#define EGLHASH_INCLUDED


/* XXX move this? */
typedef unsigned int EGLuint;


typedef struct _egl_hashtable _EGLHashtable;


extern _EGLHashtable *_eglNewHashTable(void);

extern void _eglDeleteHashTable(_EGLHashtable *table);

extern void *_eglHashLookup(const _EGLHashtable *table, EGLuint key);

extern void _eglHashInsert(_EGLHashtable *table, EGLuint key, void *data);

extern void _eglHashRemove(_EGLHashtable *table, EGLuint key);

extern EGLuint _eglHashFirstEntry(_EGLHashtable *table);

extern EGLuint _eglHashNextEntry(const _EGLHashtable *table, EGLuint key);

extern void _eglHashPrint(const _EGLHashtable *table);

extern EGLuint _eglHashGenKey(_EGLHashtable *table);

extern void _egltest_hash_functions(void);


#endif /* EGLHASH_INCLUDED */