Introduce type for BER BOOLEAN/INTEGER .
[yaz-moved-to-github.git] / include / yaz / srw.h
index 3ae7815..1a07418 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2008 Index Data.
+ * Copyright (C) 1995-2009 Index Data.
  * All rights reserved.
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -24,7 +24,6 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-/* $Id: srw.h,v 1.37 2008-01-28 09:51:02 adam Exp $ */
 
 /**
  * \file srw.h
@@ -55,7 +54,7 @@ typedef struct {
 #define Z_SRW_recordPacking_URL 2
     char *recordData_buf;
     int recordData_len;
-    int *recordPosition;
+    Odr_int *recordPosition;
 } Z_SRW_record;
 
 typedef struct {
@@ -85,27 +84,27 @@ typedef struct {
         char *sortKeys;
         char *xSortKeys;
     } sort;
-    int *startRecord;
-    int *maximumRecords;
+    Odr_int *startRecord;
+    Odr_int *maximumRecords;
     char *recordSchema;
     char *recordPacking;
     char *recordXPath;
     char *database;
     char *stylesheet;
-    int *resultSetTTL;
+    Odr_int *resultSetTTL;
 } Z_SRW_searchRetrieveRequest;
 
 typedef struct {
-    int * numberOfRecords;
+    Odr_int *numberOfRecords;
     char * resultSetId;
-    int * resultSetIdleTime;
+    Odr_int *resultSetIdleTime;
     
     Z_SRW_record *records;
     int num_records;
 
     Z_SRW_diagnostic *diagnostics;
     int num_diagnostics;
-    int *nextRecordPosition;
+    Odr_int *nextRecordPosition;
 
     Z_SRW_extra_record **extra_records;  /* of size num_records */
 } Z_SRW_searchRetrieveResponse;
@@ -130,15 +129,15 @@ typedef struct {
         char *xcql;
         char *pqf;
     } scanClause;
-    int *responsePosition;
-    int *maximumTerms;
+    Odr_int *responsePosition;
+    Odr_int *maximumTerms;
     char *stylesheet;
     char *database;
 } Z_SRW_scanRequest;
 
 typedef struct {
     char *value;
-    int *numberOfRecords;
+    Odr_int *numberOfRecords;
     char *displayTerm;
     char *whereInList;
 } Z_SRW_scanTerm;
@@ -239,7 +238,7 @@ YAZ_EXPORT int yaz_srw_str_to_pack(const char *str);
 
 YAZ_EXPORT char *yaz_uri_val(const char *path, const char *name, ODR o);
 YAZ_EXPORT void yaz_uri_val_int(const char *path, const char *name,
-                                ODR o, int **intp);
+                                ODR o, Odr_int **intp);
 YAZ_EXPORT int yaz_srw_decode(Z_HTTP_Request *hreq, Z_SRW_PDU **srw_pdu,
                               Z_SOAP **soap_package, ODR decode, char **charset);
 YAZ_EXPORT int yaz_sru_decode(Z_HTTP_Request *hreq, Z_SRW_PDU **srw_pdu,
@@ -293,6 +292,9 @@ int sru_decode_surrogate_diagnostics(const char *buf, size_t len,
                                      Z_SRW_diagnostic **diag,
                                      int *num, ODR odr);
 
+YAZ_EXPORT
+void yaz_mk_sru_surrogate(ODR o, Z_SRW_record *record, int pos,
+                          int code, const char *details);
     
 
 YAZ_END_CDECL
@@ -301,6 +303,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