X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=include%2Fccl.h;h=beeb3247146a23ce164500e298b45c34c1e17b4f;hb=1938b1fd36e774fa9b6d11a4eb5edfcdaee0267b;hp=ce53b80da07d56cb5757686ec8c9e097bd623084;hpb=2d09f19cb79b18ccf10b0150a8b1487fde498678;p=egate.git diff --git a/include/ccl.h b/include/ccl.h index ce53b80..beeb324 100644 --- a/include/ccl.h +++ b/include/ccl.h @@ -1,8 +1,73 @@ -/* CCL - header file - * Europagate, 1995 +/* + * Copyright (c) 1995, the EUROPAGATE consortium (see below). + * + * The EUROPAGATE consortium members are: + * + * University College Dublin + * Danmarks Teknologiske Videnscenter + * An Chomhairle Leabharlanna + * Consejo Superior de Investigaciones Cientificas + * + * Permission to use, copy, modify, distribute, and sell this software and + * its documentation, in whole or in part, for any purpose, is hereby granted, + * provided that: + * + * 1. This copyright and permission notice appear in 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 EUROPAGATE or the project partners may not be used to + * endorse or promote products derived from this software without specific + * prior written permission. + * + * 3. Users of this software (implementors and gateway operators) agree to + * inform the EUROPAGATE consortium of their use of the software. This + * information will be used to evaluate the EUROPAGATE project and the + * software, and to plan further developments. The consortium may use + * the information in later publications. + * + * 4. Users of this software agree to make their best efforts, when + * documenting their use of the software, to acknowledge the EUROPAGATE + * consortium, and the role played by the software in their work. + * + * 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 THE EUROPAGATE CONSORTIUM OR ITS MEMBERS 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. + * + */ + +/* + * CCL - header file * * $Log: ccl.h,v $ - * Revision 1.2 1995/02/15 17:43:08 adam + * Revision 1.9 1995/07/20 08:15:16 adam + * Bug fix: Token value for comma and OR were the same! + * + * Revision 1.8 1995/07/11 12:28:34 adam + * New function: ccl_token_simple (split into simple tokens) and + * ccl_token_del (delete tokens). + * + * Revision 1.7 1995/05/16 09:39:38 adam + * LICENSE. + * + * Revision 1.6 1995/05/11 14:04:03 adam + * Changes in the reading of qualifier(s). New function: ccl_qual_fitem. + * New variable ccl_case_sensitive, which controls whether reserved + * words and field names are case sensitive or not. + * + * Revision 1.5 1995/02/23 08:32:11 adam + * Changed header. + * + * Revision 1.3 1995/02/16 13:20:10 adam + * Spell fix. + * + * Revision 1.2 1995/02/15 17:43:08 adam * Minor changes to the ccl interface. Bug fix in iso2709 module. * * Revision 1.1 1995/02/14 19:55:21 adam @@ -22,7 +87,7 @@ #define CCL_ERR_OP_EXPECTED 4 #define CCL_ERR_BAD_RP 5 #define CCL_ERR_UNKNOWN_QUAL 6 -#define CCL_ERR_DOBBLE_QUAL 7 +#define CCL_ERR_DOUBLE_QUAL 7 #define CCL_ERR_EQ_EXPECTED 8 #define CCL_ERR_BAD_RELATION 9 #define CCL_ERR_TRUNC_NOT_LEFT 10 @@ -108,10 +173,10 @@ typedef struct ccl_qualifiers *CCL_bibset; #define CCL_TOK_RP 6 #define CCL_TOK_COMMA 7 #define CCL_TOK_AND 8 -#define CCL_TOK_OR 7 -#define CCL_TOK_NOT 9 -#define CCL_TOK_MINUS 10 -#define CCL_TOK_SET 11 +#define CCL_TOK_OR 9 +#define CCL_TOK_NOT 10 +#define CCL_TOK_MINUS 11 +#define CCL_TOK_SET 12 struct ccl_token { char kind; @@ -128,6 +193,8 @@ struct ccl_qualifier { }; struct ccl_token *ccl_tokenize (const char *command); +struct ccl_token *ccl_token_simple (const char *command); +void ccl_token_del (struct ccl_token *list); struct ccl_rpn_node *ccl_find_str (CCL_bibset bibset, const char *str, int *error, int *pos); @@ -140,6 +207,7 @@ void ccl_pr_tree (struct ccl_rpn_node *rpn, FILE *fd_out); void ccl_qual_add (CCL_bibset b, const char *name, int no, int *attr); void ccl_qual_file (CCL_bibset bibset, FILE *inf); +void ccl_qual_fitem (CCL_bibset bibset, const char *cp, const char *qual_name); CCL_bibset ccl_qual_mk (void); void ccl_qual_rm (CCL_bibset *b); @@ -147,7 +215,11 @@ extern const char *ccl_token_and; extern const char *ccl_token_or; extern const char *ccl_token_not; extern const char *ccl_token_set; +extern int ccl_case_sensitive; +extern int (*ccl_toupper)(int c); +int ccl_stricmp (const char *s1, const char *s2); +int ccl_memicmp (const char *s1, const char *s2, size_t n); struct ccl_rpn_attr *ccl_qual_search (CCL_bibset b, const char *name, int len); #endif