--- /dev/null
+/*****************************************************************
+ * SQUID - a library of functions for biological sequence analysis
+ * Copyright (C) 1992-2002 Washington University School of Medicine
+ *
+ * This source code is freely distributed under the terms of the
+ * GNU General Public License. See the files COPYRIGHT and LICENSE
+ * for details.
+ *****************************************************************/
+
+#ifndef SQUID_GKI_INCLUDED
+#define SQUID_GKI_INCLUDED
+
+/* gki.h
+ * SRE, Sat May 1 15:07:22 1999
+ *
+ * Declarations of structures, functions for generic key index
+ * module: emulation of Perl hashes. See gki.c.
+ *
+ * RCS $Id: gki.h 217 2011-03-19 10:27:10Z andreas $ (Original squid RCS Id: gki.h,v 1.2 1999/07/15 22:30:45 eddy Exp)
+ */
+
+/* gki_elem:
+ * key, array index pairs are kept in linked list structures.
+ */
+struct gki_elem {
+ char *key;
+ int idx;
+ struct gki_elem *nxt;
+};
+
+/* gki:
+ * a dynamically resized hash structure;
+ * contains a hash table and associated data
+ */
+typedef struct {
+ struct gki_elem **table;
+
+ int primelevel;
+ int nhash;
+ int nkeys;
+} GKI;
+
+GKI *GKIInit(void);
+void GKIFree(GKI *hash);
+int GKIHashValue(GKI *hash, char *key);
+int GKIStoreKey(GKI *hash, char *key);
+int GKIKeyIndex(GKI *hash, char *key);
+void GKIStatus(GKI *hash);
+
+#endif /* SQUID_GKI_INCLUDED */