Change return values for yaz_retrieval_request a bit and improve
[yaz-moved-to-github.git] / include / yaz / retrieval.h
index dc4a1fe..46ab103 100644 (file)
@@ -23,7 +23,7 @@
  * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
  * OF THIS SOFTWARE.
  *
- * $Id: retrieval.h,v 1.2 2006-05-05 18:37:08 adam Exp $
+ * $Id: retrieval.h,v 1.4 2006-05-08 19:48:26 adam Exp $
  */
 /**
  * \file retrieval.h
@@ -86,15 +86,26 @@ int yaz_retrieval_configure(yaz_retrieval_t p, const void *node);
 
 /** performs retrieval request based on schema and format
     \param p retrieval handle
-    \param schema record schema / element set name (Z39.50)
+    \param schema record schema (SRU) / element set name (Z39.50)
     \param syntax record syntax (format)
-    \param rc record conversion reference (holds conversion upon success)
-    \retval 0 success
-    \retval -1 falure
+    \param match_schema matched schema (if conversion was successful)
+    \param match_syntax matced syntax OID  if conversion was successful)
+    \param rc record conversion reference (if conversion was successful)
+    \param backend_schema backend scchema (if conversion was successful)
+    \param backend_syntax backend syntax (if conversion was successful)
+    \retval 0 success, schema and syntax matches
+    \retval -1 failure, use yaz_retrieval_get_error() for reason
+    \retval 1 schema does not match
+    \retval 2 syntax does not match
+    \retval 3 both match but not together
 */
 YAZ_EXPORT
-int yaz_retrieval_request(yaz_retrieval_t p, const char *schema,
-                          const char *syntax, yaz_record_conv_t *rc);
+int yaz_retrieval_request(yaz_retrieval_t p,
+                          const char *schema, int *syntax,
+                          const char **match_schema, int **match_syntax,
+                          yaz_record_conv_t *rc,
+                          const char **backend_schema,
+                          int **backend_syntax);
 
 /** returns error string (for last error)
     \param p record conversion handle