Implemented bug #635: YAZ/ZOOM layer should include non SRU options in the
[yaz-moved-to-github.git] / include / yaz / srw.h
index 4e37f45..a82b775 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright (C) 1995-2005, Index Data ApS
  * See the file LICENSE for details.
  *
- * $Id: srw.h,v 1.23 2005-11-08 15:08:02 adam Exp $
+ * $Id: srw.h,v 1.28 2006-08-16 22:47:09 adam Exp $
  */
 /**
  * \file srw.h
@@ -178,6 +178,9 @@ typedef struct {
         Z_SRW_updateResponse *update_response;
     } u;
     char *srw_version;
+    char *username; /* From HTTP header or request */
+    char *password; /* From HTTP header or request  */
+    char *extra_args; /* For SRU GET/POST only */
 } Z_SRW_PDU;
 
 YAZ_EXPORT int yaz_srw_codec(ODR o, void * pptr,
@@ -186,6 +189,7 @@ YAZ_EXPORT int yaz_srw_codec(ODR o, void * pptr,
 YAZ_EXPORT int yaz_ucp_codec(ODR o, void * pptr,
                              Z_SRW_PDU **handler_data,
                              void *client_data, const char *ns);
+YAZ_EXPORT Z_SRW_PDU *yaz_srw_get_core_v_1_1(ODR o);
 YAZ_EXPORT Z_SRW_PDU *yaz_srw_get(ODR o, int which);
 YAZ_EXPORT Z_SRW_extra_record *yaz_srw_get_extra_record(ODR o);
 
@@ -207,8 +211,26 @@ YAZ_EXPORT void yaz_add_srw_diagnostic(ODR o, Z_SRW_diagnostic **d,
                                        int *num, int code,
                                        const char *addinfo);
     
+
 YAZ_EXPORT void yaz_mk_std_diagnostic(ODR o, Z_SRW_diagnostic *d, 
                                       int code, const char *details);
+
+YAZ_EXPORT void yaz_add_srw_diagnostic_uri(ODR o, Z_SRW_diagnostic **d,
+                                           int *num, const char *uri,
+                                           const char *message,
+                                           const char *details);
+
+YAZ_EXPORT void yaz_mk_srw_diagnostic(ODR o, Z_SRW_diagnostic *d, 
+                                      const char *uri, const char *message,
+                                      const char *details);
+
+YAZ_EXPORT int yaz_sru_get_encode(Z_HTTP_Request *hreq, Z_SRW_PDU *srw_pdu,
+                                  ODR encode, const char *charset);
+YAZ_EXPORT int yaz_sru_post_encode(Z_HTTP_Request *hreq, Z_SRW_PDU *srw_pdu,
+                                   ODR encode, const char *charset);
+YAZ_EXPORT int yaz_sru_soap_encode(Z_HTTP_Request *hreq, Z_SRW_PDU *srw_pdu,
+                                   ODR odr, const char *charset);
+
 YAZ_END_CDECL
 
 #endif