Bump year
[yaz-moved-to-github.git] / include / yaz / zoom.h
index 5775453..748b82d 100644 (file)
@@ -1,8 +1,15 @@
 /*
- * Public header for ZOOM C.
- * $Id: zoom.h,v 1.13 2002-06-02 21:27:17 adam Exp $
+ * Copyright (C) 1995-2005, Index Data ApS
+ * See the file LICENSE for details.
+ *
+ * $Id: zoom.h,v 1.25 2005-01-15 19:47:10 adam Exp $
+ */
+/**
+ * \file zoom.h
+ * \brief Header for ZOOM
  */
 
+#include <stdlib.h>
 #include <yaz/yconfig.h>
 
 #define ZOOM_BEGIN_CDECL YAZ_BEGIN_CDECL
@@ -59,6 +66,10 @@ ZOOM_API(void)
 ZOOM_connection_option_set (ZOOM_connection c, const char *key,
                             const char *val);
 
+ZOOM_API(void)
+ZOOM_connection_option_setl (ZOOM_connection c, const char *key,
+                            const char *val, int len);
+
 /* return error code (0 == success, failure otherwise). cp
    holds error string on failure, addinfo holds addititional info (if any)
 */
@@ -66,6 +77,10 @@ ZOOM_API(int)
 ZOOM_connection_error (ZOOM_connection c, const char **cp,
                            const char **addinfo);
 
+ZOOM_API(int)
+ZOOM_connection_error_x (ZOOM_connection c, const char **cp,
+                         const char **addinfo, const char **diagset);
+
 /* returns error code */
 ZOOM_API(int)
 ZOOM_connection_errcode (ZOOM_connection c);
@@ -75,6 +90,9 @@ ZOOM_connection_errmsg (ZOOM_connection c);
 /* returns additional info */
 ZOOM_API(const char *)
 ZOOM_connection_addinfo (ZOOM_connection c);
+/* translates error code into human-readable string */
+ZOOM_API(const char *)
+ZOOM_diag_str (int error);
 
 #define ZOOM_ERROR_NONE 0
 #define ZOOM_ERROR_CONNECT 10000
@@ -85,6 +103,9 @@ ZOOM_connection_addinfo (ZOOM_connection c);
 #define ZOOM_ERROR_INIT 10005
 #define ZOOM_ERROR_INTERNAL 10006
 #define ZOOM_ERROR_TIMEOUT 10007
+#define ZOOM_ERROR_UNSUPPORTED_PROTOCOL 10008
+#define ZOOM_ERROR_UNSUPPORTED_QUERY 10009
+#define ZOOM_ERROR_INVALID_QUERY 10010
 
 ZOOM_API(int)
 ZOOM_connection_last_event(ZOOM_connection cs);
@@ -97,6 +118,8 @@ ZOOM_connection_last_event(ZOOM_connection cs);
 #define ZOOM_EVENT_UNKNOWN 5
 #define ZOOM_EVENT_SEND_APDU 6
 #define ZOOM_EVENT_RECV_APDU 7
+#define ZOOM_EVENT_RECV_RECORD 8
+#define ZOOM_EVENT_RECV_SEARCH 9
 
 /* ----------------------------------------------------------- */
 /* result sets */
@@ -135,6 +158,10 @@ ZOOM_resultset_record (ZOOM_resultset s, size_t pos);
 ZOOM_API(ZOOM_record)
 ZOOM_resultset_record_immediate (ZOOM_resultset s, size_t pos);
 
+/* reset record cache for result set */
+ZOOM_API(void)
+ZOOM_resultset_cache_reset(ZOOM_resultset r);
+
 /* ----------------------------------------------------------- */
 /* records */
 
@@ -159,7 +186,10 @@ ZOOM_query_create(void);
 /* destroy it */
 ZOOM_API(void)
 ZOOM_query_destroy(ZOOM_query s);
-/* specify prefix query for search */
+/* CQL */
+ZOOM_API(int)
+ZOOM_query_cql(ZOOM_query s, const char *str);
+/* PQF */
 ZOOM_API(int)
 ZOOM_query_prefix(ZOOM_query s, const char *str);
 /* specify sort criteria for search */
@@ -175,6 +205,10 @@ ZOOM_API(const char *)
 ZOOM_scanset_term(ZOOM_scanset scan, size_t pos,
                   int *occ, int *len);
 
+ZOOM_API(const char *)
+ZOOM_scanset_display_term(ZOOM_scanset scan, size_t pos,
+                         int *occ, int *len);
+
 ZOOM_API(size_t)
 ZOOM_scanset_size(ZOOM_scanset scan);
 
@@ -207,6 +241,12 @@ ZOOM_API(void)
                              const char *val);
 
 /* ----------------------------------------------------------- */
+/* Sort */
+ZOOM_API(void)
+    ZOOM_resultset_sort(ZOOM_resultset r,
+                       const char *sort_type, const char *sort_spec);
+
+/* ----------------------------------------------------------- */
 /* options */
 
 ZOOM_API(ZOOM_options_callback)