/*
- * Copyright (c) 1995-1999, Index Data.
+ * Copyright (c) 1995-2001, Index Data.
* See the file LICENSE for details.
- * Sebastian Hammer, Adam Dickmeiss
*
* $Log: prt-ext.c,v $
- * Revision 1.3 2000-03-14 13:52:32 ian
+ * Revision 1.7 2001-09-24 21:51:56 adam
+ * New Z39.50 OID utilities: yaz_oidval_to_z3950oid, yaz_str_to_z3950oid
+ * and yaz_z3950oid_to_str.
+ *
+ * Revision 1.6 2001/05/17 14:16:15 adam
+ * Added EXTERNAL handling for item update0 (1.0).
+ *
+ * Revision 1.5 2001/03/25 21:55:13 adam
+ * Added odr_intdup. Ztest server returns TaskPackage for ItemUpdate.
+ *
+ * Revision 1.4 2000/03/14 15:22:04 ian
+ * Added Admin external to choice table.
+ *
+ * Revision 1.3 2000/03/14 13:52:32 ian
* Added Admin Extended Service to External Choice
*
* Revision 1.2 1999/11/30 13:47:12 adam
{VAL_DBUPDATE, Z_External_update, (Odr_fun)z_IUUpdate},
{VAL_DATETIME, Z_External_dateTime, (Odr_fun)z_DateTime},
{VAL_UNIVERSE_REPORT, Z_External_universeReport, (Odr_fun)z_UniverseReport},
+#ifdef ASN_COMPILED
+ {VAL_ADMINSERVICE, Z_External_ESAdmin, (Odr_fun)z_Admin},
+#endif
{VAL_NONE, 0, 0}
};
#ifdef ASN_COMPILED
{ODR_EXPLICIT, ODR_CONTEXT, 0, Z_External_ESAdmin,
(Odr_fun)z_Admin, 0},
-#endif
- {-1, -1, -1, -1, 0, 0}
+ {ODR_EXPLICIT, ODR_CONTEXT, 0, Z_External_update0,
+ (Odr_fun)z_IU0Update, 0},
+#endif {-1, -1, -1, -1, 0, 0}
};
odr_implicit_settag(o, ODR_UNIVERSAL, ODR_EXTERNAL);
Z_External *z_ext_record(ODR o, int format, const char *buf, int len)
{
Z_External *thisext;
- oident recform;
- int oid[OID_SIZE];
thisext = (Z_External *) odr_malloc(o, sizeof(*thisext));
thisext->descriptor = 0;
thisext->indirect_reference = 0;
- recform.proto = PROTO_Z3950;
- recform.oclass = CLASS_RECSYN;
- recform.value = (enum oid_value) format;
- if (!oid_ent_to_oid(&recform, oid))
+ thisext->direct_reference =
+ yaz_oidval_to_z3950oid (o, CLASS_RECSYN, format);
+ if (!thisext->direct_reference)
return 0;
- thisext->direct_reference = odr_oiddup(o, oid);
-
+
if (len < 0) /* Structured data */
{
switch (format)
case VAL_OPAC:
thisext->which = Z_External_OPAC;
break;
+ case VAL_EXTENDED:
+ thisext->which = Z_External_extendedService;
+ break;
default:
return 0;
}