X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=blobdiff_plain;f=include%2Fcharmap.h;h=da1e6ef893bacc4d465f6e40c77c31fe4bcd2dbc;hp=6b3f6ddaa3bb34de9cdf6e7b095f1b76ef9c9cc7;hb=24357780de7d01b3c3ec2c3f6715b2feee7d0e76;hpb=01ddc55fd5a59535e229c09440cfdadccadf3555 diff --git a/include/charmap.h b/include/charmap.h index 6b3f6dd..da1e6ef 100644 --- a/include/charmap.h +++ b/include/charmap.h @@ -1,91 +1,63 @@ -/* - * Copyright (c) 1995-1999, Index Data. - * - * All rights reserved. - * - * Use and redistribution in source or binary form, with or without - * modification, of any or all of this software and documentation is - * permitted, provided that the following conditions are met: - * - * 1. This copyright and permission notice appear with all copies of the - * software and its documentation. Notices of copyright or attribution - * which appear at the beginning of any file must remain unchanged. - * - * 2. The names of Index Data or the individual authors may not be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * 3. Source code or binary versions of this software and its - * documentation may be used freely in not-for-profit applications. For - * profit applications - such as providing for-pay database services, - * marketing a product based in whole or in part on this software or its - * documentation, or generally distributing this software or its - * documentation under a different license - requires a commercial - * license from Index Data. The software may be installed and used for - * evaluation purposes in conjunction with a commercial application for a - * trial period no longer than 60 days. - * - * THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND, - * EXPRESS, IMPLIED, OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY - * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - * IN NO EVENT SHALL INDEX DATA BE LIABLE FOR ANY SPECIAL, INCIDENTAL, - * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR - * NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF - * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE - * OF THIS SOFTWARE. - * - * $Log: charmap.h,v $ - * Revision 1.5 1999-09-07 07:19:21 adam - * Work on character mapping. Implemented replace rules. - * - * 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. - * - */ +/* This file is part of the Zebra server. + Copyright (C) 1994-2011 Index Data + +Zebra is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +Zebra is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +*/ #ifndef CHARMAP_H #define CHARMAP_H -#include +#include -#ifdef __cplusplus -extern "C" { -#endif +YAZ_BEGIN_CDECL YAZ_EXPORT extern const char *CHR_UNKNOWN; YAZ_EXPORT extern const char *CHR_SPACE; +YAZ_EXPORT extern const char *CHR_CUT; YAZ_EXPORT extern const char *CHR_BASE; +/* defines first char we map to (0, 1, .. are specials) */ +#define CHR_BASE_CHAR 5 + struct chr_t_entry; typedef struct chr_t_entry chr_t_entry; typedef struct chrmaptab_info *chrmaptab; YAZ_EXPORT chrmaptab chrmaptab_create(const char *tabpath, const char *name, - int map_only); + const char *tabroot); YAZ_EXPORT void chrmaptab_destroy (chrmaptab tab); -YAZ_EXPORT const char **chr_map_input(chrmaptab t, const char **from, int len); +YAZ_EXPORT const char **chr_map_input(chrmaptab t, const char **from, int len, int first); YAZ_EXPORT const char **chr_map_input_x(chrmaptab t, - const char **from, int *len); -YAZ_EXPORT const char **chr_map_input_q(chrmaptab maptab, - const char **from, int len, - const char **qmap); + const char **from, int *len, int first); +YAZ_EXPORT const char **chr_map_q_input(chrmaptab maptab, + const char **from, int len, int first); YAZ_EXPORT const char *chr_map_output(chrmaptab t, const char **from, int len); -YAZ_EXPORT unsigned char zebra_prim(char **s); +YAZ_END_CDECL -#ifdef __cplusplus -} #endif +/* + * Local variables: + * c-basic-offset: 4 + * c-file-style: "Stroustrup" + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ -#endif