Added compiled ASN.1 C files.
[yaz-moved-to-github.git] / z39.50 / zes-exps.c
diff --git a/z39.50/zes-exps.c b/z39.50/zes-exps.c
new file mode 100644 (file)
index 0000000..4da0edf
--- /dev/null
@@ -0,0 +1,100 @@
+/* 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);
+}