X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz%2Fccl.h;h=14c34f34ae52457727a76a88f6e315ae3a238c97;hb=163abf332e441c2d39cf6ee4e83bad169fa1c59c;hp=5970e4fe003e9b1ea3e36e0bf65b4b555ea7a2a2;hpb=cb9bad819f13e44d7af6753bfa1bc8274ca37b9b;p=yaz-moved-to-github.git diff --git a/include/yaz/ccl.h b/include/yaz/ccl.h index 5970e4f..14c34f3 100644 --- a/include/yaz/ccl.h +++ b/include/yaz/ccl.h @@ -45,7 +45,7 @@ /* * CCL - header file * - * $Id: ccl.h,v 1.11 2001-11-27 22:38:50 adam Exp $ + * $Id: ccl.h,v 1.15 2003-06-24 23:03:04 adam Exp $ * * Old Europagate Log: * @@ -87,6 +87,8 @@ #include #include +#include +#include YAZ_BEGIN_CDECL @@ -110,7 +112,13 @@ struct ccl_rpn_attr { struct ccl_rpn_attr *next; char *set; int type; - int value; + int kind; +#define CCL_RPN_ATTR_NUMERIC 1 +#define CCL_RPN_ATTR_STRING 2 + union { + int numeric; + char *str; + } value; }; #define CCL_RPN_AND 1 @@ -124,7 +132,7 @@ struct ccl_rpn_attr { struct ccl_rpn_node { int kind; union { - struct ccl_rpn_node *p[2]; + struct ccl_rpn_node *p[3]; struct { char *term; struct ccl_rpn_attr *attr_list; @@ -276,7 +284,8 @@ YAZ_EXPORT void ccl_qual_add (CCL_bibset b, const char *name, int no, int *attr); YAZ_EXPORT void ccl_qual_add_set (CCL_bibset b, const char *name, int no, - int *attr, char **attsets); + int *type, int *value, char **svalue, + char **attsets); YAZ_EXPORT void ccl_qual_add_special (CCL_bibset bibset, const char *n, const char *v); @@ -324,6 +333,8 @@ YAZ_EXPORT char *ccl_strdup (const char *str); YAZ_EXPORT const char *ccl_qual_search_special (CCL_bibset b, const char *name); +YAZ_EXPORT void ccl_pquery (WRBUF w, struct ccl_rpn_node *p); + #ifndef ccl_assert #define ccl_assert(x) ; #endif