Index: trunk/psLib/src/sysUtils/psHash.h
===================================================================
--- trunk/psLib/src/sysUtils/psHash.h	(revision 494)
+++ trunk/psLib/src/sysUtils/psHash.h	(revision 560)
@@ -8,5 +8,22 @@
 
 /** DO WE NEED TO DEFINE HashTable? */
-typedef struct HashTable psHash; ///< Opaque type for a hash table
+//typedef struct HashTable psHash; ///< Opaque type for a hash table
+// An entire hash table
+
+// A bucket that holds an item of data
+typedef struct psHashBucket
+{
+    char *key;                          // key for this item of data
+    void *data;                         // the data itself
+    struct psHashBucket *next;          // list of other possible keys
+}
+psHashBucket;
+
+typedef struct psHash
+{
+    int nbucket;
+    psHashBucket **buckets;
+}
+psHash;
 
 /** Functions **************************************************************/
@@ -19,12 +36,12 @@
 
 /// Free hash buckets from table.
-void psHashFree(psHash *table,  ///< hash table to be freed
+void psHashFree(psHash *table,               ///< hash table to be freed
                 void (*itemFree)(void *item) ///< how to free hashed data; or NULL
                );
 
 /// Insert entry into table.
-void *psHashInsert(psHash *table, ///< table to insert in
-                   const char *key, ///< key to use
-                   void *data,  ///< data to insert
+void *psHashInsert(psHash *table,               ///< table to insert in
+                   const char *key,             ///< key to use
+                   void *data,                  ///< data to insert
                    void (*itemFree)(void *item) ///< how to free hashed data; or NULL
                   );
