Added compiled ASN.1 C files.
[yaz-moved-to-github.git] / include / yaz / z-espec1.h
diff --git a/include/yaz/z-espec1.h b/include/yaz/z-espec1.h
new file mode 100644 (file)
index 0000000..a470b00
--- /dev/null
@@ -0,0 +1,142 @@
+/* YC 0.2: Tue Feb 29 16:45:07 CET 2000 */
+/* Module-H ElementSpecificationFormat-eSpec-1 */
+
+#ifndef z_espec1_H
+#define z_espec1_H
+
+#include <yaz/odr.h>
+#include <yaz/z-grs.h>
+#include <yaz/z-core.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct Z_Espec1 Z_Espec1;
+YAZ_EXPORT int z_Espec1 (ODR o, Z_Espec1 **p, int opt, const char *name);
+
+typedef struct Z_ElementRequestCompositeElementPrimitives Z_ElementRequestCompositeElementPrimitives;
+YAZ_EXPORT int z_ElementRequestCompositeElementPrimitives (ODR o, Z_ElementRequestCompositeElementPrimitives **p, int opt, const char *name);
+
+typedef struct Z_ElementRequestCompositeElementSpecs Z_ElementRequestCompositeElementSpecs;
+YAZ_EXPORT int z_ElementRequestCompositeElementSpecs (ODR o, Z_ElementRequestCompositeElementSpecs **p, int opt, const char *name);
+
+typedef struct Z_ElementRequestCompositeElement Z_ElementRequestCompositeElement;
+YAZ_EXPORT int z_ElementRequestCompositeElement (ODR o, Z_ElementRequestCompositeElement **p, int opt, const char *name);
+
+typedef struct Z_ElementRequest Z_ElementRequest;
+YAZ_EXPORT int z_ElementRequest (ODR o, Z_ElementRequest **p, int opt, const char *name);
+
+typedef struct Z_SimpleElement Z_SimpleElement;
+YAZ_EXPORT int z_SimpleElement (ODR o, Z_SimpleElement **p, int opt, const char *name);
+
+typedef struct Z_SpecificTag Z_SpecificTag;
+YAZ_EXPORT int z_SpecificTag (ODR o, Z_SpecificTag **p, int opt, const char *name);
+
+typedef struct Z_ETagUnit Z_ETagUnit;
+YAZ_EXPORT int z_ETagUnit (ODR o, Z_ETagUnit **p, int opt, const char *name);
+
+typedef struct Z_ETagPath Z_ETagPath;
+YAZ_EXPORT int z_ETagPath (ODR o, Z_ETagPath **p, int opt, const char *name);
+
+typedef struct Z_OccurValues Z_OccurValues;
+YAZ_EXPORT int z_OccurValues (ODR o, Z_OccurValues **p, int opt, const char *name);
+
+typedef struct Z_Occurrences Z_Occurrences;
+YAZ_EXPORT int z_Occurrences (ODR o, Z_Occurrences **p, int opt, const char *name);
+#ifdef __cplusplus
+}
+#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+struct Z_Espec1 {
+       int num_elementSetNames;
+       Z_InternationalString **elementSetNames; /* OPT */
+       Odr_oid *defaultVariantSetId; /* OPT */
+       Z_Variant *defaultVariantRequest; /* OPT */
+       int *defaultTagType; /* OPT */
+       int num_elements;
+       Z_ElementRequest **elements; /* OPT */
+};
+
+struct Z_ElementRequestCompositeElementPrimitives {
+       int num;
+       Z_InternationalString **elements;
+};
+
+struct Z_ElementRequestCompositeElementSpecs {
+       int num;
+       Z_SimpleElement **elements;
+};
+
+struct Z_ElementRequestCompositeElement {
+       int which;
+       union {
+               Z_ElementRequestCompositeElementPrimitives *primitives;
+               Z_ElementRequestCompositeElementSpecs *specs;
+#define Z_ElementRequestCompositeElement_primitives 1
+#define Z_ElementRequestCompositeElement_specs 2
+       } u;
+       Z_ETagPath *deliveryTag;
+       Z_Variant *variantRequest; /* OPT */
+};
+
+struct Z_ElementRequest {
+       int which;
+       union {
+               Z_SimpleElement *simpleElement;
+               Z_ElementRequestCompositeElement *compositeElement;
+#define Z_ERequest_simpleElement 1
+#define Z_ERequest_compositeElement 2
+       } u;
+};
+
+struct Z_SimpleElement {
+       Z_ETagPath *path;
+       Z_Variant *variantRequest; /* OPT */
+};
+
+struct Z_SpecificTag {
+       int *tagType; /* OPT */
+       Z_StringOrNumeric *tagValue;
+       Z_Occurrences *occurrences; /* OPT */
+};
+
+struct Z_ETagUnit {
+       int which;
+       union {
+               Z_SpecificTag *specificTag;
+               Z_Occurrences *wildThing;
+               Odr_null *wildPath;
+#define Z_ETagUnit_specificTag 1
+#define Z_ETagUnit_wildThing 2
+#define Z_ETagUnit_wildPath 3
+       } u;
+};
+
+struct Z_ETagPath {
+       int num_tags;
+       Z_ETagUnit **tags;
+};
+
+struct Z_OccurValues {
+       int *start;
+       int *howMany; /* OPT */
+};
+
+struct Z_Occurrences {
+       int which;
+       union {
+               Odr_null *all;
+               Odr_null *last;
+               Z_OccurValues *values;
+#define Z_Occurrences_all 1
+#define Z_Occurrences_last 2
+#define Z_Occurrences_values 3
+       } u;
+};
+
+#ifdef __cplusplus
+}
+#endif
+#endif