8 /* original in mysql, strings/strnlen.c.
9 uint strnlen(register const char *s, register uint maxlen)
11 const char *end= (const char *)memchr(s, '\0', maxlen);
12 return end ? (uint) (end - s) : maxlen;
17 strnlen (register const char *s, register int maxlen)
19 const char *end= (const char *)memchr(s, '\0', maxlen);
20 return end ? (int) (end - s) : maxlen;
26 typedef enum CHISE_DS_Type
32 typedef struct CHISE_DS
38 int chise_open_data_source (CHISE_DS *ds, CHISE_DS_Type type,
41 int chise_close_data_source (CHISE_DS *ds);
44 typedef int CHISE_Char_ID;
47 typedef DBT CHISE_Value;
50 chise_value_size (const CHISE_Value *s)
56 chise_value_data (const CHISE_Value *s)
62 chise_value_to_c_string (const CHISE_Value *s)
68 typedef DB CHISE_Attribute_Table;
71 typedef CHISE_Attribute_Table CHISE_Decoding_Table;
73 int chise_open_decoding_table (CHISE_Decoding_Table **db,
74 CHISE_DS *ds, const char *ccs,
76 u_int32_t accessmask, int modemask);
78 int chise_close_decoding_table (CHISE_Decoding_Table *db);
80 CHISE_Char_ID chise_dt_get_char (CHISE_Decoding_Table *db, int code_point);
83 typedef CHISE_Attribute_Table CHISE_Feature_Table;
85 int chise_open_feature_table (CHISE_Feature_Table **db,
86 CHISE_DS *ds, const char *feature,
88 u_int32_t accessmask, int modemask);
90 int chise_close_feature_table (CHISE_Feature_Table *db);
92 int chise_ft_get_value (CHISE_Feature_Table *db,
93 CHISE_Char_ID cid, CHISE_Value *valdatum);
97 CHISE_Char_ID chise_decode_char (CHISE_DS *ds, char *ccs, int code_point);
99 int chise_get_feature (CHISE_DS *ds, CHISE_Char_ID cid,
100 char *key, CHISE_Value *valdatum);
103 int chise_open_attribute_table (CHISE_Attribute_Table **db,
105 const char *encoding, const char *feature,
107 u_int32_t accessmask, int modemask);
109 int chise_close_attribute_table (CHISE_Attribute_Table *db);
111 int chise_get_attribute_table (CHISE_Attribute_Table *db,
112 char *key, CHISE_Value *valdatum);
114 #endif /* !_CHISE_H */