-typedef struct chrmaptab
-{
- chr_t_entry *input; /* mapping table for input data */
- chr_t_entry *query_equiv; /* mapping table for queries */
- unsigned char *output[256]; /* return mapping - for display of registers */
- int base_uppercase; /* Start of upper-case ordinals */
-} chrmaptab, *CHRMAPTAB;
-
-chrmaptab *chr_read_maptab(char *name);
-int chr_map_chrs(chr_t_entry *t, char **from, int len, int *read, char **to,
- int max);
-char **chr_map_input(chr_t_entry *t, char **from, int len);
+typedef struct chrmaptab_info *chrmaptab;
+
+chrmaptab chrmaptab_create(const char *tabpath, const char *name,
+ int map_only);
+void chrmaptab_destroy (chrmaptab tab);
+
+const char **chr_map_input(chrmaptab t, const char **from, int len);
+
+const char *chr_map_output(chrmaptab t, const char **from, int len);
+
+#ifdef __cplusplus
+}
+#endif