cctools
|
00001 /* 00002 Copyright (C) 2003-2004 Douglas Thain and the University of Wisconsin 00003 Copyright (C) 2005- The University of Notre Dame 00004 This software is distributed under the GNU General Public License. 00005 See the file COPYING for details. 00006 */ 00007 00008 #ifndef ITABLE_H 00009 #define ITABLE_H 00010 00011 #include "int_sizes.h" 00012 00047 struct itable *itable_create(int buckets); 00048 00054 void itable_delete(struct itable *h); 00055 00061 int itable_size(struct itable *h); 00062 00073 int itable_insert(struct itable *h, UINT64_T key, const void *value); 00074 00081 void *itable_lookup(struct itable *h, UINT64_T key); 00082 00089 void *itable_remove(struct itable *h, UINT64_T key); 00090 00098 void itable_firstkey(struct itable *h); 00099 00108 int itable_nextkey(struct itable *h, UINT64_T * key, void **value); 00109 00110 #endif