7 typedef enum CHISE_DS_Type
13 typedef struct CHISE_DS
16 unsigned char *location;
19 CHISE_DS* chise_open_data_source (CHISE_DS_Type type, char *location);
21 int chise_ds_close (CHISE_DS *ds);
24 typedef int CHISE_Char_ID;
27 typedef DBT CHISE_Value;
30 chise_value_size (const CHISE_Value *s)
36 chise_value_data (const CHISE_Value *s)
42 chise_value_to_c_string (const CHISE_Value *s)
48 typedef struct CHISE_Attribute_Table
52 } CHISE_Attribute_Table;
55 typedef CHISE_Attribute_Table CHISE_Decoding_Table;
58 chise_ds_open_decoding_table (CHISE_DS *ds, const char *ccs,
60 u_int32_t accessmask, int modemask);
62 int chise_dt_close (CHISE_Decoding_Table *table);
64 CHISE_Char_ID chise_dt_get_char (CHISE_Decoding_Table *table, int code_point);
66 int chise_dt_put_char (CHISE_Decoding_Table *table,
67 int code_point, CHISE_Char_ID cid);
70 typedef CHISE_Attribute_Table CHISE_Feature_Table;
73 chise_ds_open_feature_table (CHISE_DS *ds, const char *feature,
75 u_int32_t accessmask, int modemask);
77 int chise_ft_close (CHISE_Feature_Table *table);
79 int chise_ft_get_value (CHISE_Feature_Table *table,
80 CHISE_Char_ID cid, CHISE_Value *valdatum);
83 chise_ft_iterate (CHISE_Feature_Table *table,
84 int (*func) (CHISE_Feature_Table *table,
85 CHISE_Char_ID cid, CHISE_Value *valdatum));
88 CHISE_Char_ID chise_decode_char (CHISE_DS *ds, char *ccs, int code_point);
90 int chise_get_feature (CHISE_DS *ds, CHISE_Char_ID cid,
91 char *key, CHISE_Value *valdatum);
94 CHISE_Attribute_Table*
95 chise_open_attribute_table (CHISE_DS *ds,
96 const char *encoding, const char *feature,
98 u_int32_t accessmask, int modemask);
100 int chise_close_attribute_table (CHISE_Attribute_Table *at);
102 int chise_get_attribute_table (CHISE_Attribute_Table *at,
103 char *key, CHISE_Value *valdatum);
105 #endif /* !_CHISE_H */