Use option -fPIC for g++
[yaz4j-moved-to-github.git] / dependencies / yaz_3.0.14 / src / z-charneg.c
1 /** \file z-charneg.c
2     \brief ASN.1 Module NegotiationRecordDefinition-charSetandLanguageNegotiation-3
3
4     Generated automatically by YAZ ASN.1 Compiler 0.4
5 */
6
7 #include <yaz/z-charneg.h>
8
9 int z_CharSetandLanguageNegotiation (ODR o, Z_CharSetandLanguageNegotiation **p, int opt, const char *name)
10 {
11         static Odr_arm arm[] = {
12                 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_CharSetandLanguageNegotiation_proposal,
13                 (Odr_fun) z_OriginProposal, "proposal"},
14                 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_CharSetandLanguageNegotiation_response,
15                 (Odr_fun) z_TargetResponse, "response"},
16                 {-1, -1, -1, -1, (Odr_fun) 0, 0}
17         };
18         if (!odr_initmember(o, p, sizeof(**p)))
19                 return odr_missing(o, opt, name);
20         if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
21                 return 1;
22         if(o->direction == ODR_DECODE)
23                 *p = 0;
24         return odr_missing(o, opt, name);
25 }
26
27 int z_OriginProposal_0 (ODR o, Z_OriginProposal_0 **p, int opt, const char *name)
28 {
29         static Odr_arm arm[] = {
30                 {ODR_EXPLICIT, ODR_CONTEXT, 1, Z_OriginProposal_0_iso2022,
31                 (Odr_fun) z_Iso2022, "iso2022"},
32                 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_OriginProposal_0_iso10646,
33                 (Odr_fun) z_Iso10646, "iso10646"},
34                 {ODR_EXPLICIT, ODR_CONTEXT, 3, Z_OriginProposal_0_private,
35                 (Odr_fun) z_PrivateCharacterSet, "zprivate"},
36                 {-1, -1, -1, -1, (Odr_fun) 0, 0}
37         };
38         if (!odr_initmember(o, p, sizeof(**p)))
39                 return odr_missing(o, opt, name);
40         if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
41                 return 1;
42         if(o->direction == ODR_DECODE)
43                 *p = 0;
44         return odr_missing(o, opt, name);
45 }
46
47 int z_OriginProposal (ODR o, Z_OriginProposal **p, int opt, const char *name)
48 {
49         if (!odr_sequence_begin (o, p, sizeof(**p), name))
50                 return odr_missing(o, opt, name) && odr_ok (o);
51         return
52                 odr_implicit_settag (o, ODR_CONTEXT, 1) &&
53                 (odr_sequence_of(o, (Odr_fun) z_OriginProposal_0, &(*p)->proposedCharSets,
54                   &(*p)->num_proposedCharSets, "proposedCharSets") || odr_ok(o)) &&
55                 odr_implicit_settag (o, ODR_CONTEXT, 2) &&
56                 (odr_sequence_of(o, (Odr_fun) z_LanguageCode, &(*p)->proposedlanguages,
57                   &(*p)->num_proposedlanguages, "proposedlanguages") || odr_ok(o)) &&
58                 odr_implicit_tag (o, odr_bool,
59                         &(*p)->recordsInSelectedCharSets, ODR_CONTEXT, 3, 1, "recordsInSelectedCharSets") &&
60                 odr_sequence_end (o);
61 }
62
63 int z_TargetResponse (ODR o, Z_TargetResponse **p, int opt, const char *name)
64 {
65         static Odr_arm arm[] = {
66                 {ODR_EXPLICIT, ODR_CONTEXT, 1, Z_TargetResponse_iso2022,
67                 (Odr_fun) z_Iso2022, "iso2022"},
68                 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_TargetResponse_iso10646,
69                 (Odr_fun) z_Iso10646, "iso10646"},
70                 {ODR_EXPLICIT, ODR_CONTEXT, 3, Z_TargetResponse_private,
71                 (Odr_fun) z_PrivateCharacterSet, "zprivate"},
72                 {ODR_IMPLICIT, ODR_CONTEXT, 4, Z_TargetResponse_none,
73                 (Odr_fun) odr_null, "none"},
74                 {-1, -1, -1, -1, (Odr_fun) 0, 0}
75         };
76         if (!odr_sequence_begin (o, p, sizeof(**p), name))
77                 return odr_missing(o, opt, name) && odr_ok (o);
78         return
79                 ((odr_constructed_begin (o, &(*p)->u, ODR_CONTEXT, 1, "selectedCharSets") &&
80                 odr_choice (o, arm, &(*p)->u, &(*p)->which, 0) &&
81                 odr_constructed_end (o)) || odr_ok(o)) &&
82                 odr_implicit_tag (o, z_LanguageCode,
83                         &(*p)->selectedLanguage, ODR_CONTEXT, 2, 1, "selectedLanguage") &&
84                 odr_implicit_tag (o, odr_bool,
85                         &(*p)->recordsInSelectedCharSets, ODR_CONTEXT, 3, 1, "recordsInSelectedCharSets") &&
86                 odr_sequence_end (o);
87 }
88
89 int z_PrivateCharacterSetViaOid (ODR o, Z_PrivateCharacterSetViaOid **p, int opt, const char *name)
90 {
91         if (!odr_initmember (o, p, sizeof(**p)))
92                 return odr_missing(o, opt, name);
93         if (odr_sequence_of (o, (Odr_fun) odr_oid, &(*p)->elements,
94                 &(*p)->num, name))
95                 return 1;
96         if(o->direction == ODR_DECODE)
97                 *p = 0;
98         return odr_missing(o, opt, name);
99 }
100
101 int z_PrivateCharacterSet (ODR o, Z_PrivateCharacterSet **p, int opt, const char *name)
102 {
103         static Odr_arm arm[] = {
104                 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_PrivateCharacterSet_viaOid,
105                 (Odr_fun) z_PrivateCharacterSetViaOid, "viaOid"},
106                 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_PrivateCharacterSet_externallySpecified,
107                 (Odr_fun) z_External, "externallySpecified"},
108                 {ODR_IMPLICIT, ODR_CONTEXT, 3, Z_PrivateCharacterSet_previouslyAgreedUpon,
109                 (Odr_fun) odr_null, "previouslyAgreedUpon"},
110                 {-1, -1, -1, -1, (Odr_fun) 0, 0}
111         };
112         if (!odr_initmember(o, p, sizeof(**p)))
113                 return odr_missing(o, opt, name);
114         if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
115                 return 1;
116         if(o->direction == ODR_DECODE)
117                 *p = 0;
118         return odr_missing(o, opt, name);
119 }
120
121 int z_Iso2022OriginProposal (ODR o, Z_Iso2022OriginProposal **p, int opt, const char *name)
122 {
123         if (!odr_sequence_begin (o, p, sizeof(**p), name))
124                 return odr_missing(o, opt, name) && odr_ok (o);
125         return
126                 odr_explicit_tag (o, z_Environment,
127                         &(*p)->proposedEnvironment, ODR_CONTEXT, 0, 1, "proposedEnvironment") &&
128                 odr_implicit_settag (o, ODR_CONTEXT, 1) &&
129                 odr_sequence_of(o, (Odr_fun) odr_integer, &(*p)->proposedSets,
130                   &(*p)->num_proposedSets, "proposedSets") &&
131                 odr_implicit_settag (o, ODR_CONTEXT, 2) &&
132                 odr_sequence_of(o, (Odr_fun) z_InitialSet, &(*p)->proposedInitialSets,
133                   &(*p)->num_proposedInitialSets, "proposedInitialSets") &&
134                 odr_implicit_tag (o, z_LeftAndRight,
135                         &(*p)->proposedLeftAndRight, ODR_CONTEXT, 3, 0, "proposedLeftAndRight") &&
136                 odr_sequence_end (o);
137 }
138
139 int z_Iso2022TargetResponse (ODR o, Z_Iso2022TargetResponse **p, int opt, const char *name)
140 {
141         if (!odr_sequence_begin (o, p, sizeof(**p), name))
142                 return odr_missing(o, opt, name) && odr_ok (o);
143         return
144                 odr_explicit_tag (o, z_Environment,
145                         &(*p)->selectedEnvironment, ODR_CONTEXT, 0, 0, "selectedEnvironment") &&
146                 odr_implicit_settag (o, ODR_CONTEXT, 1) &&
147                 odr_sequence_of(o, (Odr_fun) odr_integer, &(*p)->selectedSets,
148                   &(*p)->num_selectedSets, "selectedSets") &&
149                 odr_implicit_tag (o, z_InitialSet,
150                         &(*p)->selectedinitialSet, ODR_CONTEXT, 2, 0, "selectedinitialSet") &&
151                 odr_implicit_tag (o, z_LeftAndRight,
152                         &(*p)->selectedLeftAndRight, ODR_CONTEXT, 3, 0, "selectedLeftAndRight") &&
153                 odr_sequence_end (o);
154 }
155
156 int z_Iso2022 (ODR o, Z_Iso2022 **p, int opt, const char *name)
157 {
158         static Odr_arm arm[] = {
159                 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_Iso2022_originProposal,
160                 (Odr_fun) z_Iso2022OriginProposal, "originProposal"},
161                 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_Iso2022_targetResponse,
162                 (Odr_fun) z_Iso2022TargetResponse, "targetResponse"},
163                 {-1, -1, -1, -1, (Odr_fun) 0, 0}
164         };
165         if (!odr_initmember(o, p, sizeof(**p)))
166                 return odr_missing(o, opt, name);
167         if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
168                 return 1;
169         if(o->direction == ODR_DECODE)
170                 *p = 0;
171         return odr_missing(o, opt, name);
172 }
173
174 int z_Environment (ODR o, Z_Environment **p, int opt, const char *name)
175 {
176         static Odr_arm arm[] = {
177                 {ODR_IMPLICIT, ODR_CONTEXT, 1, Z_Environment_sevenBit,
178                 (Odr_fun) odr_null, "sevenBit"},
179                 {ODR_IMPLICIT, ODR_CONTEXT, 2, Z_Environment_eightBit,
180                 (Odr_fun) odr_null, "eightBit"},
181                 {-1, -1, -1, -1, (Odr_fun) 0, 0}
182         };
183         if (!odr_initmember(o, p, sizeof(**p)))
184                 return odr_missing(o, opt, name);
185         if (odr_choice(o, arm, &(*p)->u, &(*p)->which, name))
186                 return 1;
187         if(o->direction == ODR_DECODE)
188                 *p = 0;
189         return odr_missing(o, opt, name);
190 }
191
192 int z_InitialSet (ODR o, Z_InitialSet **p, int opt, const char *name)
193 {
194         if (!odr_sequence_begin (o, p, sizeof(**p), name))
195                 return odr_missing(o, opt, name) && odr_ok (o);
196         return
197                 odr_implicit_tag (o, odr_integer,
198                         &(*p)->g0, ODR_CONTEXT, 0, 1, "g0") &&
199                 odr_implicit_tag (o, odr_integer,
200                         &(*p)->g1, ODR_CONTEXT, 1, 1, "g1") &&
201                 odr_implicit_tag (o, odr_integer,
202                         &(*p)->g2, ODR_CONTEXT, 2, 1, "g2") &&
203                 odr_implicit_tag (o, odr_integer,
204                         &(*p)->g3, ODR_CONTEXT, 3, 1, "g3") &&
205                 odr_implicit_tag (o, odr_integer,
206                         &(*p)->c0, ODR_CONTEXT, 4, 0, "c0") &&
207                 odr_implicit_tag (o, odr_integer,
208                         &(*p)->c1, ODR_CONTEXT, 5, 1, "c1") &&
209                 odr_sequence_end (o);
210 }
211
212 int z_LeftAndRight (ODR o, Z_LeftAndRight **p, int opt, const char *name)
213 {
214         if (!odr_sequence_begin (o, p, sizeof(**p), name))
215                 return odr_missing(o, opt, name) && odr_ok (o);
216         return
217                 odr_implicit_tag (o, odr_integer,
218                         &(*p)->gLeft, ODR_CONTEXT, 3, 0, "gLeft") &&
219                 odr_implicit_tag (o, odr_integer,
220                         &(*p)->gRight, ODR_CONTEXT, 4, 1, "gRight") &&
221                 odr_sequence_end (o);
222 }
223
224 int z_Iso10646 (ODR o, Z_Iso10646 **p, int opt, const char *name)
225 {
226         if (!odr_sequence_begin (o, p, sizeof(**p), name))
227                 return odr_missing(o, opt, name) && odr_ok (o);
228         return
229                 odr_implicit_tag (o, odr_oid,
230                         &(*p)->collections, ODR_CONTEXT, 1, 1, "collections") &&
231                 odr_implicit_tag (o, odr_oid,
232                         &(*p)->encodingLevel, ODR_CONTEXT, 2, 0, "encodingLevel") &&
233                 odr_sequence_end (o);
234 }