+ return (char *)s->data;
+}
+
+
+typedef struct CHISE_Feature_Table CHISE_Feature_Table;
+typedef CHISE_Feature_Table* CHISE_Feature;
+
+CHISE_Feature
+chise_ds_get_feature (CHISE_DS *ds, const unsigned char *name);
+
+static inline int
+chise_ds_load_char_feature_value (CHISE_DS *ds,
+ CHISE_Char_ID cid,
+ const unsigned char *name,
+ CHISE_Value *valdatum);
+
+int chise_feature_setup_db (CHISE_Feature feature, int writable);
+
+int chise_feature_sync (CHISE_Feature feature);
+
+int chise_char_set_feature_value (CHISE_Char_ID cid,
+ CHISE_Feature feature,
+ unsigned char *value);
+
+int chise_char_load_feature_value (CHISE_Char_ID cid,
+ CHISE_Feature feature,
+ CHISE_Value *valdatum);
+
+static inline int
+chise_ds_load_char_feature_value (CHISE_DS *ds,
+ CHISE_Char_ID cid,
+ const unsigned char *name,
+ CHISE_Value *valdatum)
+{
+ return
+ chise_char_load_feature_value (cid, chise_ds_get_feature (ds, name),
+ valdatum);