Initial commit
[yaz4j-moved-to-github.git] / dependencies / yaz_3.0.14 / src / zes-expi.c
1 /** \file zes-expi.c
2     \brief ASN.1 Module ESFormat-ExportInvocation
3
4     Generated automatically by YAZ ASN.1 Compiler 0.4
5 */
6
7 #include <yaz/zes-expi.h>
8
9 int z_EIExportInvocationEsRequest (ODR o, Z_EIExportInvocationEsRequest **p, int opt, const char *name)
10 {
11         if (!odr_sequence_begin (o, p, sizeof(**p), name))
12                 return odr_missing(o, opt, name) && odr_ok (o);
13         return
14                 odr_explicit_tag (o, z_EIOriginPartToKeep,
15                         &(*p)->toKeep, ODR_CONTEXT, 1, 0, "toKeep") &&
16                 odr_explicit_tag (o, z_EIOriginPartNotToKeep,
17                         &(*p)->notToKeep, ODR_CONTEXT, 2, 0, "notToKeep") &&
18                 odr_sequence_end (o);
19 }
20
21 int z_EIExportInvocationTaskPackage (ODR o, Z_EIExportInvocationTaskPackage **p, int opt, const char *name)
22 {
23         if (!odr_sequence_begin (o, p, sizeof(**p), name))
24                 return odr_missing(o, opt, name) && odr_ok (o);
25         return
26                 odr_explicit_tag (o, z_EIOriginPartToKeep,
27                         &(*p)->originPart, ODR_CONTEXT, 1, 0, "originPart") &&
28                 odr_explicit_tag (o, z_EITargetPart,
29                         &(*p)->targetPart, ODR_CONTEXT, 2, 1, "targetPart") &&
30                 odr_sequence_end (o);
31 }
32
33 int z_EIExportInvocation (ODR o, Z_EIExportInvocation **p, int opt, const char *name)
34 {
35         static Odr_arm arm[] = {
36                 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_EIExportInvocation_esRequest,
37                 (Odr_fun) z_EIExportInvocationEsRequest, "esRequest"},
38                 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_EIExportInvocation_taskPackage,
39                 (Odr_fun) z_EIExportInvocationTaskPackage, "taskPackage"},
40                 {-1, -1, -1, -1, (Odr_fun) 0, 0}
41         };
42         if (!odr_initmember(o, p, sizeof(**p)))
43                 return odr_missing(o, opt, name);
44         if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
45                 return 1;
46         if(o->direction == ODR_DECODE)
47                 *p = 0;
48         return odr_missing(o, opt, name);
49 }
50
51 int z_EIOriginPartToKeep (ODR o, Z_EIOriginPartToKeep **p, int opt, const char *name)
52 {
53         static Odr_arm arm[] = {
54                 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_EIOriginPartToKeep_packageName,
55                 (Odr_fun) z_InternationalString, "packageName"},
56                 {ODR_EXPLICIT, ODR_CONTEXT, 2, Z_EIOriginPartToKeep_packageSpec,
57                 (Odr_fun) z_ESExportSpecification, "packageSpec"},
58                 {-1, -1, -1, -1, (Odr_fun) 0, 0}
59         };
60         if (!odr_sequence_begin (o, p, sizeof(**p), name))
61                 return odr_missing(o, opt, name) && odr_ok (o);
62         return
63                 odr_constructed_begin (o, &(*p)->u, ODR_CONTEXT, 1, "exportSpec") &&
64                 odr_choice (o, arm, &(*p)->u, &(*p)->which, 0) &&
65                 odr_constructed_end (o) &&
66                 odr_implicit_tag (o, odr_integer,
67                         &(*p)->numberOfCopies, ODR_CONTEXT, 2, 0, "numberOfCopies") &&
68                 odr_sequence_end (o);
69 }
70
71 int z_EIOriginPartNotToKeepRanges_s (ODR o, Z_EIOriginPartNotToKeepRanges_s **p, int opt, const char *name)
72 {
73         if (!odr_sequence_begin (o, p, sizeof(**p), name))
74                 return odr_missing(o, opt, name) && odr_ok (o);
75         return
76                 odr_implicit_tag (o, odr_integer,
77                         &(*p)->start, ODR_CONTEXT, 1, 0, "start") &&
78                 odr_implicit_tag (o, odr_integer,
79                         &(*p)->count, ODR_CONTEXT, 2, 1, "count") &&
80                 odr_sequence_end (o);
81 }
82
83 int z_EIOriginPartNotToKeepRanges (ODR o, Z_EIOriginPartNotToKeepRanges **p, int opt, const char *name)
84 {
85         if (!odr_initmember (o, p, sizeof(**p)))
86                 return odr_missing(o, opt, name);
87         if (odr_sequence_of (o, (Odr_fun) z_EIOriginPartNotToKeepRanges_s, &(*p)->elements,
88                 &(*p)->num, name))
89                 return 1;
90         if(o->direction == ODR_DECODE)
91                 *p = 0;
92         return odr_missing(o, opt, name);
93 }
94
95 int z_EIOriginPartNotToKeep (ODR o, Z_EIOriginPartNotToKeep **p, int opt, const char *name)
96 {
97         static Odr_arm arm[] = {
98                 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_EIOriginPartNotToKeep_all,
99                 (Odr_fun) odr_null, "all"},
100                 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_EIOriginPartNotToKeep_ranges,
101                 (Odr_fun) z_EIOriginPartNotToKeepRanges, "ranges"},
102                 {-1, -1, -1, -1, (Odr_fun) 0, 0}
103         };
104         if (!odr_sequence_begin (o, p, sizeof(**p), name))
105                 return odr_missing(o, opt, name) && odr_ok (o);
106         return
107                 odr_implicit_tag (o, z_InternationalString,
108                         &(*p)->resultSetId, ODR_CONTEXT, 1, 0, "resultSetId") &&
109                 odr_constructed_begin (o, &(*p)->u, ODR_CONTEXT, 2, "records") &&
110                 odr_choice (o, arm, &(*p)->u, &(*p)->which, 0) &&
111                 odr_constructed_end (o) &&
112                 odr_sequence_end (o);
113 }
114
115 int z_EITargetPart (ODR o, Z_EITargetPart **p, int opt, const char *name)
116 {
117         if (!odr_sequence_begin (o, p, sizeof(**p), name))
118                 return odr_missing(o, opt, name) && odr_ok (o);
119         return
120                 odr_implicit_tag (o, z_IntUnit,
121                         &(*p)->estimatedQuantity, ODR_CONTEXT, 1, 1, "estimatedQuantity") &&
122                 odr_implicit_tag (o, z_IntUnit,
123                         &(*p)->quantitySoFar, ODR_CONTEXT, 2, 1, "quantitySoFar") &&
124                 odr_implicit_tag (o, z_IntUnit,
125                         &(*p)->estimatedCost, ODR_CONTEXT, 3, 1, "estimatedCost") &&
126                 odr_implicit_tag (o, z_IntUnit,
127                         &(*p)->costSoFar, ODR_CONTEXT, 4, 1, "costSoFar") &&
128                 odr_sequence_end (o);
129 }