Merge branch 'icu_refactor' into yaz4
[yaz-moved-to-github.git] / include / yaz / backend.h
index e06bc76..5eac060 100644 (file)
@@ -61,7 +61,7 @@ typedef struct {
     bend_request request;
     bend_association association;
     int *fd;
-    int hits;                  /* number of hits */
+    Odr_int hits;                  /* number of hits */
     int errcode;               /* 0==OK */
     char *errstring;           /* system error string or NULL */
     Z_OtherInformation *search_info; /* additional search info */
@@ -70,6 +70,8 @@ typedef struct {
     int *srw_setnameIdleTime;  /* holds SRU/SRW life-time */
     int estimated_hit_count;   /* if hit count is estimated */
     int partial_resultset;     /* if result set is partial */
+    Z_SRW_extra_arg *extra_args; /* extra URL arguments */
+    char *extra_response_data;   /* extra XML response. */
 } bend_search_rr;
 
 /** \brief Information for present handler. Does not replace bend_fetch. */
@@ -85,7 +87,6 @@ typedef struct {
     bend_request request;
     bend_association association;
 
-    int hits;                  /* number of hits */
     int errcode;               /* 0==OK */
     char *errstring;           /* system error string or NULL */
 } bend_present_rr;
@@ -114,7 +115,7 @@ typedef struct bend_fetch_rr {
 /** \brief Information for scan entry */
 struct scan_entry {
     char *term;         /* the returned scan term */
-    int occurrences;    /* no of occurrences or -1 if error (see below) */
+    Odr_int occurrences;/* no of occurrences or -1 if error (see below) */
     int errcode;        /* Bib-1 diagnostic code; only used when occur.= -1 */
     char *errstring;    /* Additional string */
     char *display_term;
@@ -135,8 +136,8 @@ typedef struct bend_scan_rr {
     ODR stream;         /* encoding stream - memory source if required */
     ODR print;          /* printing stream */
 
-    int *step_size;     /* step size */
-    int term_position;  /* desired index of term in result list/returned */
+    Odr_int *step_size;     /* step size */
+    Odr_int term_position;  /* desired index of term in result list/returned */
     int num_entries;    /* number of entries requested/returned */
 
     /* scan term entries. The called handler does not have
@@ -178,8 +179,8 @@ typedef struct bend_delete_rr {
     int num_setnames;
     char **setnames;
     Z_ReferenceId *referenceId;
-    int delete_status;      /* status for the whole operation */
-    int *statuses;          /* status each set - indexed as setnames */
+    int delete_status;    /* status for the whole operation */
+    Odr_int *statuses;    /* status each set - indexed as setnames */
     ODR stream;
     ODR print; 
 } bend_delete_rr;
@@ -308,6 +309,8 @@ typedef struct bend_initrequest
     /** \brief SRU record update handler */
     int (*bend_srw_update)(void *handle, bend_update_rr *rr);
 
+    /** \brief whether named result sets are supported (0=disable, 1=enable) */
+    int named_result_sets;
 } bend_initrequest;
 
 /** \brief result for init handler (must be filled by handler) */
@@ -385,6 +388,7 @@ YAZ_END_CDECL
 /*
  * Local variables:
  * c-basic-offset: 4
+ * c-file-style: "Stroustrup"
  * indent-tabs-mode: nil
  * End:
  * vim: shiftwidth=4 tabstop=8 expandtab