X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;ds=sidebyside;f=include%2Fyaz%2Fccl.h;h=14c34f34ae52457727a76a88f6e315ae3a238c97;hb=5b417578fa8bce4671d29d59201ae0ad0c7e5653;hp=1fb55036746713c38ed6082782ceaab5e6c4bb24;hpb=f0c29efc372c97a94a32118de624b31c996d7ff5;p=yaz-moved-to-github.git diff --git a/include/yaz/ccl.h b/include/yaz/ccl.h index 1fb5503..14c34f3 100644 --- a/include/yaz/ccl.h +++ b/include/yaz/ccl.h @@ -45,7 +45,7 @@ /* * CCL - header file * - * $Id: ccl.h,v 1.12 2002-06-06 13:02:01 adam Exp $ + * $Id: ccl.h,v 1.15 2003-06-24 23:03:04 adam Exp $ * * Old Europagate Log: * @@ -88,6 +88,7 @@ #include #include #include +#include YAZ_BEGIN_CDECL @@ -111,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 @@ -125,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; @@ -277,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); @@ -325,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