X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fmain%2Fhash.h;h=d18db76abe1b3cc294c5090dbe1877e4c67ce78f;hb=727b2d747e13fed78bf62cfbf4a31427eed0ef29;hp=07bdef46c1801c8855ae1163b2c5d087fed4e392;hpb=9ac51f57efe07ed43a1e4224a7f5daddec401b36;p=mesa.git diff --git a/src/mesa/main/hash.h b/src/mesa/main/hash.h index 07bdef46c18..d18db76abe1 100644 --- a/src/mesa/main/hash.h +++ b/src/mesa/main/hash.h @@ -1,9 +1,13 @@ +/** + * \file hash.h + * Generic hash table. + */ /* * Mesa 3-D graphics library - * Version: 4.1 + * Version: 6.5.1 * - * Copyright (C) 1999-2002 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -31,13 +35,6 @@ #include "glheader.h" -/** - * Opaque hash table type. - */ -struct HashTable; - - - extern struct _mesa_HashTable *_mesa_NewHashTable(void); extern void _mesa_DeleteHashTable(struct _mesa_HashTable *table); @@ -48,11 +45,25 @@ extern void _mesa_HashInsert(struct _mesa_HashTable *table, GLuint key, void *da extern void _mesa_HashRemove(struct _mesa_HashTable *table, GLuint key); +extern void +_mesa_HashDeleteAll(struct _mesa_HashTable *table, + void (*callback)(GLuint key, void *data, void *userData), + void *userData); + +extern void +_mesa_HashWalk(const struct _mesa_HashTable *table, + void (*callback)(GLuint key, void *data, void *userData), + void *userData); + extern GLuint _mesa_HashFirstEntry(struct _mesa_HashTable *table); +extern GLuint _mesa_HashNextEntry(const struct _mesa_HashTable *table, GLuint key); + extern void _mesa_HashPrint(const struct _mesa_HashTable *table); extern GLuint _mesa_HashFindFreeKeyBlock(struct _mesa_HashTable *table, GLuint numKeys); +extern void _mesa_test_hash_functions(void); + #endif