--- /dev/null
+/* YC 0.2 Tue Feb 29 16:45:07 CET 2000 */
+/* Module-C: ESFormat-ExportSpecification */
+
+#include <yaz/zes-exps.h>
+
+int z_ESExportSpecificationEsRequest (ODR o, Z_ESExportSpecificationEsRequest **p, int opt, const char *name)
+{
+ if (!odr_sequence_begin (o, p, sizeof(**p), name))
+ return opt && odr_ok (o);
+ return
+ odr_explicit_tag (o, z_ESOriginPartToKeep,
+ &(*p)->toKeep, ODR_CONTEXT, 1, 0, "toKeep") &&
+ odr_implicit_tag (o, odr_null,
+ &(*p)->notToKeep, ODR_CONTEXT, 2, 0, "notToKeep") &&
+ odr_sequence_end (o);
+}
+
+int z_ESExportSpecificationTaskPackage (ODR o, Z_ESExportSpecificationTaskPackage **p, int opt, const char *name)
+{
+ if (!odr_sequence_begin (o, p, sizeof(**p), name))
+ return opt && odr_ok (o);
+ return
+ odr_explicit_tag (o, z_ESOriginPartToKeep,
+ &(*p)->originPart, ODR_CONTEXT, 1, 0, "originPart") &&
+ odr_implicit_tag (o, odr_null,
+ &(*p)->targetPart, ODR_CONTEXT, 2, 0, "targetPart") &&
+ odr_sequence_end (o);
+}
+
+int z_ESExportSpecification (ODR o, Z_ESExportSpecification **p, int opt, const char *name)
+{
+ static Odr_arm arm[] = {
+ {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_ESExportSpecification_esRequest,
+ (Odr_fun) z_ESExportSpecificationEsRequest, "esRequest"},
+ {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_ESExportSpecification_taskPackage,
+ (Odr_fun) z_ESExportSpecificationTaskPackage, "taskPackage"},
+ {-1, -1, -1, -1, (Odr_fun) 0, 0}
+ };
+ if (!odr_initmember(o, p, sizeof(**p)))
+ return opt && odr_ok(o);
+ if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
+ return 1;
+ *p = 0;
+ return opt && odr_ok(o);
+}
+
+int z_ESOriginPartToKeep (ODR o, Z_ESOriginPartToKeep **p, int opt, const char *name)
+{
+ if (!odr_sequence_begin (o, p, sizeof(**p), name))
+ return opt && odr_ok (o);
+ return
+ odr_implicit_tag (o, z_CompSpec,
+ &(*p)->composition, ODR_CONTEXT, 1, 0, "composition") &&
+ odr_explicit_tag (o, z_ESDestination,
+ &(*p)->exportDestination, ODR_CONTEXT, 2, 0, "exportDestination") &&
+ odr_sequence_end (o);
+}
+
+int z_ESDestinationOther (ODR o, Z_ESDestinationOther **p, int opt, const char *name)
+{
+ if (!odr_sequence_begin (o, p, sizeof(**p), name))
+ return opt && odr_ok (o);
+ return
+ odr_implicit_tag (o, z_InternationalString,
+ &(*p)->vehicle, ODR_CONTEXT, 1, 1, "vehicle") &&
+ odr_implicit_tag (o, z_InternationalString,
+ &(*p)->destination, ODR_CONTEXT, 2, 0, "destination") &&
+ odr_sequence_end (o);
+}
+
+int z_ESDestination (ODR o, Z_ESDestination **p, int opt, const char *name)
+{
+ static Odr_arm arm[] = {
+ {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_ESDestination_phoneNumber,
+ (Odr_fun) z_InternationalString, "phoneNumber"},
+ {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_ESDestination_faxNumber,
+ (Odr_fun) z_InternationalString, "faxNumber"},
+ {ODR_IMPLICIT, ODR_CONTEXT, 3, Z_ESDestination_x400address,
+ (Odr_fun) z_InternationalString, "x400address"},
+ {ODR_IMPLICIT, ODR_CONTEXT, 4, Z_ESDestination_emailAddress,
+ (Odr_fun) z_InternationalString, "emailAddress"},
+ {ODR_IMPLICIT, ODR_CONTEXT, 5, Z_ESDestination_pagerNumber,
+ (Odr_fun) z_InternationalString, "pagerNumber"},
+ {ODR_IMPLICIT, ODR_CONTEXT, 6, Z_ESDestination_ftpAddress,
+ (Odr_fun) z_InternationalString, "ftpAddress"},
+ {ODR_IMPLICIT, ODR_CONTEXT, 7, Z_ESDestination_ftamAddress,
+ (Odr_fun) z_InternationalString, "ftamAddress"},
+ {ODR_IMPLICIT, ODR_CONTEXT, 8, Z_ESDestination_printerAddress,
+ (Odr_fun) z_InternationalString, "printerAddress"},
+ {ODR_IMPLICIT, ODR_CONTEXT, 100, Z_ESDestination_other,
+ (Odr_fun) z_ESDestinationOther, "other"},
+ {-1, -1, -1, -1, (Odr_fun) 0, 0}
+ };
+ if (!odr_initmember(o, p, sizeof(**p)))
+ return opt && odr_ok(o);
+ if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
+ return 1;
+ *p = 0;
+ return opt && odr_ok(o);
+}