X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fcharmap.h;h=54a90d93b06c0d6f66de724313e5af18306dd38d;hb=c0a1c79e55f706009113b2de3c11a6f13d4a0e7d;hp=a4b08d5aaa576c0072765e3547a51e9dfd88131c;hpb=de4ada45ce039553f8322e620cc047d8cf4a065e;p=idzebra-moved-to-github.git diff --git a/include/charmap.h b/include/charmap.h index a4b08d5..54a90d9 100644 --- a/include/charmap.h +++ b/include/charmap.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, Index Data. + * Copyright (c) 1995-1997, Index Data. * * All rights reserved. * @@ -35,11 +35,26 @@ * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE * OF THIS SOFTWARE. * + * $Log: charmap.h,v $ + * Revision 1.4 1997-10-27 14:33:04 adam + * Moved towards generic character mapping depending on "structure" + * field in abstract syntax file. Fixed a few memory leaks. Fixed + * bug with negative integers when doing searches with relational + * operators. + * + * Revision 1.3 1997/09/05 15:29:59 adam + * Changed prototype for chr_map_input - added const. + * Added support for C++, headers uses extern "C" for public definitions. + * */ #ifndef CHARMAP_H #define CHARMAP_H +#ifdef __cplusplus +extern "C" { +#endif + extern const char *CHR_UNKNOWN; extern const char *CHR_SPACE; extern const char *CHR_BASE; @@ -47,17 +62,18 @@ extern const char *CHR_BASE; struct chr_t_entry; typedef struct chr_t_entry chr_t_entry; -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(const char *tabpath, const 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 #endif