-uint64_t enum_quark_to_uint(size_t len, int byte_order, GQuark q)
-{
- gconstpointer v = g_hash_table_lookup(table->quark_to_value,
- (gconstpointer) (unsigned long) q);
- return *(const uint64_t *) v;
-}
-
-int64_t enum_quark_to_int(size_t len, int byte_order, GQuark q)
-{
- gconstpointer v = g_hash_table_lookup(table->quark_to_value,
- (gconstpointer) (unsigned long) q);
- return *(const int64_t *) v;
-}
-
-guint enum_val_hash(gconstpointer key)
-{
- return g_direct_hash(key);
-}
-
-gboolean enum_val_equal(gconstpointer a, gconstpointer b)
-{
- return g_direct_equal(a, b);
-}
-
-void enum_val_free(void *ptr)
-{
-}
-
-void enum_signed_insert(struct enum_table *table, int64_t v, GQuark q)
-{
- g_hash_table_insert(table->value_to_quark, (gpointer) v,
- (gpointer) (unsigned long) q);
- g_hash_table_insert(table->quark_to_value, (gpointer) (unsigned long) q,
- valuep);
-}
-
-void enum_unsigned_insert(struct enum_table *table, uint64_t v, GQuark q)
-{
- g_hash_table_insert(table->value_to_quark, (gpointer) v,
- (gpointer) (unsigned long) q);
- g_hash_table_insert(table->quark_to_value, (gpointer) (unsigned long) q,
- valuep);
-}
-#endif /* __WORDSIZE != 32 */
-
-struct enum_table *enum_new(void)
-{
- struct enum_table *table;
-
- table = g_new(struct enum_table, 1);
- table->value_to_quark = g_hash_table(enum_val_hash, enum_val_equal);
- table->quark_to_value = g_hash_table_new_full(g_direct_hash,
- g_direct_equal,
- NULL, enum_val_free);
-}
-
-void enum_destroy(struct enum_table *table)
-{
- g_hash_table_destroy(table->value_to_quark);
- g_hash_table_destroy(table->quark_to_value);
- g_free(table);