(coded-charset-entity-reference-alist): Add setting for
[chise/xemacs-chise.git.1] / src / elhash.h
index e780626..7c4fe9c 100644 (file)
@@ -20,12 +20,14 @@ Boston, MA 02111-1307, USA.  */
 
 /* Synched up with: Not in FSF. */
 
-#ifndef _XEMACS_ELHASH_H_
-#define _XEMACS_ELHASH_H_
+#ifndef INCLUDED_elhash_h_
+#define INCLUDED_elhash_h_
 
-DECLARE_LRECORD (hash_table, struct Lisp_Hash_Table);
+typedef struct Lisp_Hash_Table Lisp_Hash_Table;
 
-#define XHASH_TABLE(x) XRECORD (x, hash_table, struct Lisp_Hash_Table)
+DECLARE_LRECORD (hash_table, Lisp_Hash_Table);
+
+#define XHASH_TABLE(x) XRECORD (x, hash_table, Lisp_Hash_Table)
 #define XSETHASH_TABLE(x, p) XSETRECORD (x, p, hash_table)
 #define HASH_TABLEP(x) RECORDP (x, hash_table)
 #define CHECK_HASH_TABLE(x) CHECK_RECORD (x, hash_table)
@@ -36,8 +38,10 @@ enum hash_table_weakness
   HASH_TABLE_NON_WEAK,
   HASH_TABLE_KEY_WEAK,
   HASH_TABLE_VALUE_WEAK,
+  HASH_TABLE_KEY_VALUE_WEAK,
   HASH_TABLE_KEY_CAR_WEAK,
   HASH_TABLE_VALUE_CAR_WEAK,
+  HASH_TABLE_KEY_CAR_VALUE_WEAK,
   HASH_TABLE_WEAK
 };
 
@@ -63,9 +67,14 @@ typedef unsigned long (*hash_table_hash_function_t) (Lisp_Object obj);
 typedef int (*maphash_function_t) (Lisp_Object key, Lisp_Object value,
                                   void* extra_arg);
 
-struct Lisp_Hash_Table;
+Lisp_Object make_standard_lisp_hash_table (enum hash_table_test test,
+                                          size_t size,
+                                          double rehash_size,
+                                          double rehash_threshold,
+                                          enum hash_table_weakness weakness);
 
-Lisp_Object make_general_lisp_hash_table (enum hash_table_test test,
+Lisp_Object make_general_lisp_hash_table (hash_table_hash_function_t hash_function,
+                                         hash_table_test_function_t test_function,
                                          size_t size,
                                          double rehash_size,
                                          double rehash_threshold,
@@ -84,6 +93,6 @@ void elisp_map_remhash (maphash_function_t predicate,
 int finish_marking_weak_hash_tables (void);
 void prune_weak_hash_tables (void);
 
-void reorganize_hash_table (struct Lisp_Hash_Table *ht);
+void pdump_reorganize_hash_table (Lisp_Object);
 
-#endif /* _XEMACS_ELHASH_H_ */
+#endif /* INCLUDED_elhash_h_ */