Initial commit
[yaz4j-moved-to-github.git] / dependencies / yaz_3.0.14 / include / yaz / z-espec1.h
1 /** \file z-espec1.h
2     \brief ASN.1 Module ElementSpecificationFormat-eSpec-1
3
4     Generated automatically by YAZ ASN.1 Compiler 0.4
5 */
6
7 #ifndef z_espec1_H
8 #define z_espec1_H
9
10 #include <yaz/odr.h>
11 #include <yaz/z-grs.h>
12 #include <yaz/z-core.h>
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16
17 typedef struct Z_Espec1 Z_Espec1;
18 YAZ_EXPORT int z_Espec1 (ODR o, Z_Espec1 **p, int opt, const char *name);
19
20 typedef struct Z_ElementRequestCompositeElementPrimitives Z_ElementRequestCompositeElementPrimitives;
21 YAZ_EXPORT int z_ElementRequestCompositeElementPrimitives (ODR o, Z_ElementRequestCompositeElementPrimitives **p, int opt, const char *name);
22
23 typedef struct Z_ElementRequestCompositeElementSpecs Z_ElementRequestCompositeElementSpecs;
24 YAZ_EXPORT int z_ElementRequestCompositeElementSpecs (ODR o, Z_ElementRequestCompositeElementSpecs **p, int opt, const char *name);
25
26 typedef struct Z_ElementRequestCompositeElement Z_ElementRequestCompositeElement;
27 YAZ_EXPORT int z_ElementRequestCompositeElement (ODR o, Z_ElementRequestCompositeElement **p, int opt, const char *name);
28
29 typedef struct Z_ElementRequest Z_ElementRequest;
30 YAZ_EXPORT int z_ElementRequest (ODR o, Z_ElementRequest **p, int opt, const char *name);
31
32 typedef struct Z_SimpleElement Z_SimpleElement;
33 YAZ_EXPORT int z_SimpleElement (ODR o, Z_SimpleElement **p, int opt, const char *name);
34
35 typedef struct Z_SpecificTag Z_SpecificTag;
36 YAZ_EXPORT int z_SpecificTag (ODR o, Z_SpecificTag **p, int opt, const char *name);
37
38 typedef struct Z_ETagUnit Z_ETagUnit;
39 YAZ_EXPORT int z_ETagUnit (ODR o, Z_ETagUnit **p, int opt, const char *name);
40
41 typedef struct Z_ETagPath Z_ETagPath;
42 YAZ_EXPORT int z_ETagPath (ODR o, Z_ETagPath **p, int opt, const char *name);
43
44 typedef struct Z_OccurValues Z_OccurValues;
45 YAZ_EXPORT int z_OccurValues (ODR o, Z_OccurValues **p, int opt, const char *name);
46
47 typedef struct Z_Occurrences Z_Occurrences;
48 YAZ_EXPORT int z_Occurrences (ODR o, Z_Occurrences **p, int opt, const char *name);
49 #ifdef __cplusplus
50 }
51 #endif
52 #ifdef __cplusplus
53 extern "C" {
54 #endif
55 struct Z_Espec1 {
56         int num_elementSetNames;
57         Z_InternationalString **elementSetNames; /* OPT */
58         Odr_oid *defaultVariantSetId; /* OPT */
59         Z_Variant *defaultVariantRequest; /* OPT */
60         int *defaultTagType; /* OPT */
61         int num_elements;
62         Z_ElementRequest **elements; /* OPT */
63 };
64
65 struct Z_ElementRequestCompositeElementPrimitives {
66         int num;
67         Z_InternationalString **elements;
68 };
69
70 struct Z_ElementRequestCompositeElementSpecs {
71         int num;
72         Z_SimpleElement **elements;
73 };
74
75 struct Z_ElementRequestCompositeElement {
76         int which;
77         union {
78                 Z_ElementRequestCompositeElementPrimitives *primitives;
79                 Z_ElementRequestCompositeElementSpecs *specs;
80 #define Z_ElementRequestCompositeElement_primitives 1
81 #define Z_ElementRequestCompositeElement_specs 2
82         } u;
83         Z_ETagPath *deliveryTag;
84         Z_Variant *variantRequest; /* OPT */
85 };
86
87 struct Z_ElementRequest {
88         int which;
89         union {
90                 Z_SimpleElement *simpleElement;
91                 Z_ElementRequestCompositeElement *compositeElement;
92 #define Z_ERequest_simpleElement 1
93 #define Z_ERequest_compositeElement 2
94         } u;
95 };
96
97 struct Z_SimpleElement {
98         Z_ETagPath *path;
99         Z_Variant *variantRequest; /* OPT */
100 };
101
102 struct Z_SpecificTag {
103         int *tagType; /* OPT */
104         Z_StringOrNumeric *tagValue;
105         Z_Occurrences *occurrences; /* OPT */
106 };
107
108 struct Z_ETagUnit {
109         int which;
110         union {
111                 Z_SpecificTag *specificTag;
112                 Z_Occurrences *wildThing;
113                 Odr_null *wildPath;
114 #define Z_ETagUnit_specificTag 1
115 #define Z_ETagUnit_wildThing 2
116 #define Z_ETagUnit_wildPath 3
117         } u;
118 };
119
120 struct Z_ETagPath {
121         int num_tags;
122         Z_ETagUnit **tags;
123 };
124
125 struct Z_OccurValues {
126         int *start;
127         int *howMany; /* OPT */
128 };
129
130 struct Z_Occurrences {
131         int which;
132         union {
133                 Odr_null *all;
134                 Odr_null *last;
135                 Z_OccurValues *values;
136 #define Z_Occurrences_all 1
137 #define Z_Occurrences_last 2
138 #define Z_Occurrences_values 3
139         } u;
140 };
141
142 #ifdef __cplusplus
143 }
144 #endif
145 #endif