Merge branch 'new-frag-attribs'
[mesa.git] / src / egl / main / eglhash.h
1 /**
2 * \file eglhash.h
3 * Generic hash table.
4 */
5
6
7 #ifndef EGLHASH_INCLUDED
8 #define EGLHASH_INCLUDED
9
10
11 /* XXX move this? */
12 typedef unsigned int EGLuint;
13
14
15 typedef struct _egl_hashtable _EGLHashtable;
16
17
18 extern _EGLHashtable *_eglNewHashTable(void);
19
20 extern void _eglDeleteHashTable(_EGLHashtable *table);
21
22 extern void *_eglHashLookup(const _EGLHashtable *table, EGLuint key);
23
24 extern void _eglHashInsert(_EGLHashtable *table, EGLuint key, void *data);
25
26 extern void _eglHashRemove(_EGLHashtable *table, EGLuint key);
27
28 extern EGLuint _eglHashFirstEntry(_EGLHashtable *table);
29
30 extern EGLuint _eglHashNextEntry(const _EGLHashtable *table, EGLuint key);
31
32 extern void _eglHashPrint(const _EGLHashtable *table);
33
34 extern EGLuint _eglHashGenKey(_EGLHashtable *table);
35
36 extern void _egltest_hash_functions(void);
37
38
39 #endif /* EGLHASH_INCLUDED */