Added CCL facility r=r "range" which is similar to r=o "ordered"
[yaz-moved-to-github.git] / include / yaz / ccl.h
index 175a37b..7724ace 100644 (file)
@@ -45,7 +45,7 @@
 /*
  * CCL - header file
  *
- * $Id: ccl.h,v 1.14 2003-06-23 10:22:21 adam Exp $
+ * $Id: ccl.h,v 1.18 2004-09-29 20:37:50 adam Exp $
  *
  * Old Europagate Log:
  *
@@ -88,6 +88,7 @@
 #include <yaz/yconfig.h>
 #include <stdio.h>
 #include <yaz/xmalloc.h>
+#include <yaz/wrbuf.h>
 
 YAZ_BEGIN_CDECL
     
@@ -181,6 +182,7 @@ typedef struct ccl_qualifiers *CCL_bibset;
 #define CCL_BIB1_STR_AND_LIST (-2)
 #define CCL_BIB1_STR_OR_LIST (-3)
 #define CCL_BIB1_REL_ORDER (-1)
+#define CCL_BIB1_REL_PORDER (-2)
 
 #define CCL_BIB1_TRU_CAN_LEFT (-1)
 #define CCL_BIB1_TRU_CAN_RIGHT (-2)
@@ -250,6 +252,9 @@ YAZ_EXPORT struct ccl_token *ccl_token_simple (const char *command);
 /* Delete token list */
 YAZ_EXPORT void ccl_token_del (struct ccl_token *list);
 
+/* Add single token after node at */
+YAZ_EXPORT struct ccl_token *ccl_token_add (struct ccl_token *at);
+
 /* Parse CCL Find command - NULL-terminated string */
 YAZ_EXPORT struct ccl_rpn_node *ccl_find_str (CCL_bibset bibset,
                                    const char *str, int *error, int *pos);
@@ -298,8 +303,14 @@ YAZ_EXPORT void ccl_qual_file (CCL_bibset bibset, FILE *inf);
 /* Read CCL qualifier list spec from file inf */
 YAZ_EXPORT int ccl_qual_fname (CCL_bibset bibset, const char *fname);
 
-/* Add CCL qualifier by using single-line spec */
-YAZ_EXPORT void ccl_qual_fitem (CCL_bibset bibset, const char *cp,
+/* Add CCL qualifier as buf spec (multiple lines). */
+YAZ_EXPORT void ccl_qual_buf(CCL_bibset bibset, const char *buf);
+
+/* Add CCL qualifier as line spec. Note: line is _modified_ */
+YAZ_EXPORT void ccl_qual_line(CCL_bibset bibset, char *line);
+
+/* Add CCL qualifier by using qual_name + value pair */
+YAZ_EXPORT void ccl_qual_fitem (CCL_bibset bibset, const char *value,
                                 const char *qual_name);
 
 /* Make CCL qualifier set */
@@ -332,6 +343,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