Remove assignment to variables not in use.
[yaz-moved-to-github.git] / src / prt-ext.c
index 2cadf2e..f170994 100644 (file)
@@ -1,14 +1,14 @@
-/*
- * Copyright (C) 1995-2007, Index Data ApS
+/* This file is part of the YAZ toolkit.
+ * Copyright (C) 1995-2011 Index Data
  * See the file LICENSE for details.
- *
- * $Id: prt-ext.c,v 1.11 2007-04-25 13:49:52 adam Exp $
  */
-
 /**
  * \file prt-ext.c
  * \brief Implements handling of various Z39.50 Externals
  */
+#if HAVE_CONFIG_H
+#include <config.h>
+#endif
 
 #include <yaz/proto.h>
 
@@ -26,8 +26,8 @@
  */
 static Z_ext_typeent type_table[] =
 {
-    {{1, 2, 830, 10003, 5, 101,-1}, Z_External_sutrs, (Odr_fun) z_SUTRS},
-    {{1, 2, 830, 10003, 5, 100,-1}, Z_External_explainRecord, (Odr_fun)z_ExplainRecord},
+    {{1, 2, 840, 10003, 5, 101,-1}, Z_External_sutrs, (Odr_fun) z_SUTRS},
+    {{1, 2, 840, 10003, 5, 100,-1}, Z_External_explainRecord, (Odr_fun)z_ExplainRecord},
     {{1, 2, 840, 10003, 7, 1,-1}, Z_External_resourceReport1, (Odr_fun)z_ResourceReport1},
     {{1, 2, 840, 10003, 7, 2,-1}, Z_External_resourceReport2, (Odr_fun)z_ResourceReport2},
     {{1, 2, 840, 10003, 8, 1,-1}, Z_External_promptObject1, (Odr_fun)z_PromptObject1 },
@@ -46,6 +46,7 @@ static Z_ext_typeent type_table[] =
     {{1, 2, 840, 10003, 7, 1000, 81, 1,-1}, Z_External_universeReport,(Odr_fun)z_UniverseReport},
     {{1, 2, 840, 10003, 9, 1000, 81, 1,-1}, Z_External_ESAdmin, (Odr_fun)z_Admin},
     {{1, 2, 840, 10003, 10, 3,-1}, Z_External_userInfo1, (Odr_fun) z_OtherInformation},
+    {{1, 2, 840, 10003, 10, 1000, 81, 5,-1}, Z_External_userFacets, (Odr_fun) z_FacetList},
     {{1, 2, 840, 10003, 15, 3,-1}, Z_External_charSetandLanguageNegotiation, (Odr_fun)
                   z_CharSetandLanguageNegotiation},
     {{1, 2, 840, 10003, 8, 1,-1}, Z_External_acfPrompt1, (Odr_fun) z_PromptObject1},
@@ -53,10 +54,15 @@ static Z_ext_typeent type_table[] =
     {{1, 2, 840, 10003, 8, 3,-1}, Z_External_acfKrb1, (Odr_fun) z_KRBObject},
     {{1, 2, 840, 10003, 10, 5,-1}, Z_External_multisrch2, (Odr_fun) z_MultipleSearchTerms_2},
     {{1, 2, 840, 10003, 16,  2, -1}, Z_External_CQL, (Odr_fun) z_InternationalString},
+    {{1, 2, 840, 10003, 9, 1,-1}, Z_External_persistentResultSet, (Odr_fun)z_PRPersistentResultSet},
+    {{1, 2, 840, 10003, 9, 2,-1}, Z_External_persistentQuery, (Odr_fun)z_PQueryPersistentQuery},
+    {{1, 2, 840, 10003, 9, 3,-1}, Z_External_periodicQuerySchedule, (Odr_fun)z_PQSPeriodicQuerySchedule},
+    {{1, 2, 840, 10003, 9, 6,-1}, Z_External_exportSpecification, (Odr_fun)z_ESExportSpecification},
+    {{1, 2, 840, 10003, 9, 7,-1}, Z_External_exportInvocation, (Odr_fun)z_EIExportInvocation},
     {{-1}, 0, 0}
 };
 
-Z_ext_typeent *z_ext_getentbyref(const int *oid)
+Z_ext_typeent *z_ext_getentbyref(const Odr_oid *oid)
 {
     Z_ext_typeent *p;
 
@@ -139,6 +145,8 @@ int z_External(ODR o, Z_External **p, int opt, const char *name)
          (Odr_fun)z_IU0Update, 0},
         {ODR_EXPLICIT, ODR_CONTEXT, 0, Z_External_userInfo1,
          (Odr_fun)z_OtherInformation, 0},
+        {ODR_EXPLICIT, ODR_CONTEXT, 0, Z_External_userFacets,
+         (Odr_fun)z_FacetList, "FacetList" },
         {ODR_EXPLICIT, ODR_CONTEXT, 0, Z_External_charSetandLanguageNegotiation,
          (Odr_fun)z_CharSetandLanguageNegotiation, 0},
         {ODR_EXPLICIT, ODR_CONTEXT, 0, Z_External_acfPrompt1,
@@ -154,6 +162,17 @@ int z_External(ODR o, Z_External **p, int opt, const char *name)
          (Odr_fun)z_InternationalString, 0},
         {ODR_EXPLICIT, ODR_CONTEXT, 0, Z_External_OCLCUserInfo,
          (Odr_fun)z_OCLC_UserInformation, 0},
+        {ODR_EXPLICIT, ODR_CONTEXT, 0, Z_External_persistentResultSet,
+         (Odr_fun)z_PRPersistentResultSet, 0},
+
+        {ODR_EXPLICIT, ODR_CONTEXT, 0, Z_External_persistentQuery,
+         (Odr_fun)z_PQueryPersistentQuery, 0},
+        {ODR_EXPLICIT, ODR_CONTEXT, 0, Z_External_periodicQuerySchedule,
+         (Odr_fun)z_PQSPeriodicQuerySchedule, 0},
+        {ODR_EXPLICIT, ODR_CONTEXT, 0, Z_External_exportSpecification,
+         (Odr_fun)z_ESExportSpecification, 0},
+        {ODR_EXPLICIT, ODR_CONTEXT, 0, Z_External_exportInvocation,
+         (Odr_fun)z_EIExportInvocation, 0},
         {-1, -1, -1, -1, 0, 0}
     };
 
@@ -239,21 +258,15 @@ int z_External(ODR o, Z_External **p, int opt, const char *name)
         odr_sequence_end(o);
 }
 
-Z_External *z_ext_record_oid(ODR o, const int *oid, const char *buf, int len)
+Z_External *z_ext_record_oid(ODR o, const Odr_oid *oid, const char *buf, int len)
 {
     Z_External *thisext;
-    char oid_str_buf[OID_STR_MAX];
-    const char *oid_str;
-    int oclass;
 
     if (!oid)
         return 0;
     thisext = (Z_External *) odr_malloc(o, sizeof(*thisext));
     thisext->descriptor = 0;
     thisext->indirect_reference = 0;
-
-    oid_str = yaz_oid_to_string_buf(oid, &oclass, oid_str_buf);
-
     thisext->direct_reference = odr_oiddup(o, oid);
 
     if (len < 0) /* Structured data */
@@ -320,6 +333,31 @@ Z_External *z_ext_record_oid(ODR o, const int *oid, const char *buf, int len)
     return thisext;
 }
 
+Z_External *z_ext_record_oid_any(ODR o, const Odr_oid *oid,
+                                 const char *buf, int len)
+{
+    Z_External *thisext;
+
+    if (!oid)
+        return 0;
+    thisext = (Z_External *) odr_malloc(o, sizeof(*thisext));
+    thisext->descriptor = 0;
+    thisext->indirect_reference = 0;
+    thisext->direct_reference = odr_oiddup(o, oid);
+
+    thisext->which = Z_External_single;
+    thisext->u.single_ASN1_type = (Odr_any *) odr_malloc(o, sizeof(Odr_any));
+    if (!thisext->u.single_ASN1_type)
+        return 0;
+    thisext->u.single_ASN1_type->buf = (unsigned char *) odr_malloc(o, len);
+    if (!thisext->u.single_ASN1_type->buf)
+        return 0;
+    memcpy(thisext->u.single_ASN1_type->buf, buf, len);
+    thisext->u.single_ASN1_type->len = thisext->u.single_ASN1_type->size = len;
+
+    return thisext;
+}
+
 Z_External *z_ext_record_xml(ODR o, const char *buf, int len)
 {
     return z_ext_record_oid(o, yaz_oid_recsyn_xml, buf, len);
@@ -338,6 +376,7 @@ Z_External *z_ext_record_usmarc(ODR o, const char *buf, int len)
 /*
  * Local variables:
  * c-basic-offset: 4
+ * c-file-style: "Stroustrup"
  * indent-tabs-mode: nil
  * End:
  * vim: shiftwidth=4 tabstop=8 expandtab