1 /* c/zx-sa-dec.c - WARNING: This file was auto generated by xsd2sg.pl. DO NOT EDIT!
2 * $Id$ */
3 /* Code generation design Copyright (c) 2006 Sampo Kellomaki (sampo@iki.fi),
4 * All Rights Reserved. NO WARRANTY. See file COPYING for terms and conditions
5 * of use. Some aspects of code generation were driven by schema
6 * descriptions that were used as input and may be subject to their own copyright.
7 * Code generation uses a template, whose copyright statement follows. */
8
9 /** dec-templ.c - XML decoder template, used in code generation
10 ** Copyright (c) 2010 Sampo Kellomaki (sampo@iki.fi), All Rights Reserved.
11 ** Copyright (c) 2006-2007 Symlabs (symlabs@symlabs.com), All Rights Reserved.
12 ** Author: Sampo Kellomaki (sampo@iki.fi)
13 ** This is confidential unpublished proprietary source code of the author.
14 ** NO WARRANTY, not even implied warranties. Contains trade secrets.
15 ** Distribution prohibited unless authorized in writing.
16 ** Licensed under Apache License 2.0, see file COPYING.
17 ** Id: dec-templ.c,v 1.30 2008-10-04 23:42:14 sampo Exp $
18 **
19 ** 28.5.2006, created, Sampo Kellomaki (sampo@iki.fi)
20 ** 8.8.2006, reworked namespace handling --Sampo
21 ** 12.8.2006, added special scanning of xmlns to avoid backtracking elem recognition --Sampo
22 ** 23.9.2006, added collection of WO information --Sampo
23 ** 21.6.2007, improved handling of undeclared namespace prefixes --Sampo
24 ** 27.10.2010, CSE refactoring, re-engineered namespace handling --Sampo
25 ** 21.11.2010, re-engineered to extract most code to zx_DEC_elem, leaving just switches --Sampo
26 **
27 ** N.B: This template is meant to be processed by pd/xsd2sg.pl. Beware
28 ** of special markers that xsd2sg.pl expects to find and understand.
29 **/
30
31 #include "errmac.h"
32 #include "zx.h"
33 #include "c/zx-const.h"
34 #include "c/zx-data.h"
35 #include "c/zx-sa-data.h"
36 #define TPF zx_
37 #include "zx_ext_pt.h"
38
39
40
zx_DEC_ATTR_sa_Action(struct zx_ctx * c,struct zx_sa_Action_s * x)41 int zx_DEC_ATTR_sa_Action(struct zx_ctx* c, struct zx_sa_Action_s* x)
42 {
43 switch (x->gg.attr->g.tok) {
44 case zx_Namespace_ATTR: x->Namespace = x->gg.attr; return 1;
45
46 default: return 0;
47 }
48 }
49
zx_DEC_ELEM_sa_Action(struct zx_ctx * c,struct zx_sa_Action_s * x)50 int zx_DEC_ELEM_sa_Action(struct zx_ctx* c, struct zx_sa_Action_s* x)
51 {
52 struct zx_elem_s* el = x->gg.kids;
53 switch (el->g.tok) {
54
55 default: return 0;
56 }
57 }
58
59
60
61
zx_DEC_ATTR_sa_Advice(struct zx_ctx * c,struct zx_sa_Advice_s * x)62 int zx_DEC_ATTR_sa_Advice(struct zx_ctx* c, struct zx_sa_Advice_s* x)
63 {
64 switch (x->gg.attr->g.tok) {
65
66 default: return 0;
67 }
68 }
69
zx_DEC_ELEM_sa_Advice(struct zx_ctx * c,struct zx_sa_Advice_s * x)70 int zx_DEC_ELEM_sa_Advice(struct zx_ctx* c, struct zx_sa_Advice_s* x)
71 {
72 struct zx_elem_s* el = x->gg.kids;
73 switch (el->g.tok) {
74 case zx_sa_AssertionIDRef_ELEM:
75 if (!x->AssertionIDRef)
76 x->AssertionIDRef = el;
77 return 1;
78 case zx_sa_AssertionURIRef_ELEM:
79 if (!x->AssertionURIRef)
80 x->AssertionURIRef = el;
81 return 1;
82 case zx_sa_Assertion_ELEM:
83 if (!x->Assertion)
84 x->Assertion = (struct zx_sa_Assertion_s*)el;
85 return 1;
86 case zx_sa_EncryptedAssertion_ELEM:
87 if (!x->EncryptedAssertion)
88 x->EncryptedAssertion = (struct zx_sa_EncryptedAssertion_s*)el;
89 return 1;
90 case zx_sa11_Assertion_ELEM:
91 if (!x->sa11_Assertion)
92 x->sa11_Assertion = (struct zx_sa11_Assertion_s*)el;
93 return 1;
94 case zx_ff12_Assertion_ELEM:
95 if (!x->ff12_Assertion)
96 x->ff12_Assertion = (struct zx_ff12_Assertion_s*)el;
97 return 1;
98
99 default: return 0;
100 }
101 }
102
103
104
105
zx_DEC_ATTR_sa_Assertion(struct zx_ctx * c,struct zx_sa_Assertion_s * x)106 int zx_DEC_ATTR_sa_Assertion(struct zx_ctx* c, struct zx_sa_Assertion_s* x)
107 {
108 switch (x->gg.attr->g.tok) {
109 case zx_ID_ATTR: x->ID = x->gg.attr; return 1;
110 case zx_IssueInstant_ATTR: x->IssueInstant = x->gg.attr; return 1;
111 case zx_Version_ATTR: x->Version = x->gg.attr; return 1;
112
113 default: return 0;
114 }
115 }
116
zx_DEC_ELEM_sa_Assertion(struct zx_ctx * c,struct zx_sa_Assertion_s * x)117 int zx_DEC_ELEM_sa_Assertion(struct zx_ctx* c, struct zx_sa_Assertion_s* x)
118 {
119 struct zx_elem_s* el = x->gg.kids;
120 switch (el->g.tok) {
121 case zx_sa_Issuer_ELEM:
122 if (!x->Issuer)
123 x->Issuer = (struct zx_sa_Issuer_s*)el;
124 return 1;
125 case zx_ds_Signature_ELEM:
126 if (!x->Signature)
127 x->Signature = (struct zx_ds_Signature_s*)el;
128 return 1;
129 case zx_sa_Subject_ELEM:
130 if (!x->Subject)
131 x->Subject = (struct zx_sa_Subject_s*)el;
132 return 1;
133 case zx_sa_Conditions_ELEM:
134 if (!x->Conditions)
135 x->Conditions = (struct zx_sa_Conditions_s*)el;
136 return 1;
137 case zx_sa_Advice_ELEM:
138 if (!x->Advice)
139 x->Advice = (struct zx_sa_Advice_s*)el;
140 return 1;
141 case zx_sa_Statement_ELEM:
142 if (!x->Statement)
143 x->Statement = (struct zx_sa_Statement_s*)el;
144 return 1;
145 case zx_sa_AuthnStatement_ELEM:
146 if (!x->AuthnStatement)
147 x->AuthnStatement = (struct zx_sa_AuthnStatement_s*)el;
148 return 1;
149 case zx_sa_AuthzDecisionStatement_ELEM:
150 if (!x->AuthzDecisionStatement)
151 x->AuthzDecisionStatement = (struct zx_sa_AuthzDecisionStatement_s*)el;
152 return 1;
153 case zx_sa_AttributeStatement_ELEM:
154 if (!x->AttributeStatement)
155 x->AttributeStatement = (struct zx_sa_AttributeStatement_s*)el;
156 return 1;
157 case zx_xasa_XACMLAuthzDecisionStatement_ELEM:
158 if (!x->XACMLAuthzDecisionStatement)
159 x->XACMLAuthzDecisionStatement = (struct zx_xasa_XACMLAuthzDecisionStatement_s*)el;
160 return 1;
161 case zx_xasa_XACMLPolicyStatement_ELEM:
162 if (!x->XACMLPolicyStatement)
163 x->XACMLPolicyStatement = (struct zx_xasa_XACMLPolicyStatement_s*)el;
164 return 1;
165 case zx_xasacd1_XACMLAuthzDecisionStatement_ELEM:
166 if (!x->xasacd1_XACMLAuthzDecisionStatement)
167 x->xasacd1_XACMLAuthzDecisionStatement = (struct zx_xasacd1_XACMLAuthzDecisionStatement_s*)el;
168 return 1;
169 case zx_xasacd1_XACMLPolicyStatement_ELEM:
170 if (!x->xasacd1_XACMLPolicyStatement)
171 x->xasacd1_XACMLPolicyStatement = (struct zx_xasacd1_XACMLPolicyStatement_s*)el;
172 return 1;
173
174 default: return 0;
175 }
176 }
177
178
179
180
zx_DEC_ATTR_sa_Attribute(struct zx_ctx * c,struct zx_sa_Attribute_s * x)181 int zx_DEC_ATTR_sa_Attribute(struct zx_ctx* c, struct zx_sa_Attribute_s* x)
182 {
183 switch (x->gg.attr->g.tok) {
184 case zx_FriendlyName_ATTR: x->FriendlyName = x->gg.attr; return 1;
185 case zx_Name_ATTR: x->Name = x->gg.attr; return 1;
186 case zx_NameFormat_ATTR: x->NameFormat = x->gg.attr; return 1;
187
188 default: return 0;
189 }
190 }
191
zx_DEC_ELEM_sa_Attribute(struct zx_ctx * c,struct zx_sa_Attribute_s * x)192 int zx_DEC_ELEM_sa_Attribute(struct zx_ctx* c, struct zx_sa_Attribute_s* x)
193 {
194 struct zx_elem_s* el = x->gg.kids;
195 switch (el->g.tok) {
196 case zx_sa_AttributeValue_ELEM:
197 if (!x->AttributeValue)
198 x->AttributeValue = (struct zx_sa_AttributeValue_s*)el;
199 return 1;
200
201 default: return 0;
202 }
203 }
204
205
206
207
zx_DEC_ATTR_sa_AttributeStatement(struct zx_ctx * c,struct zx_sa_AttributeStatement_s * x)208 int zx_DEC_ATTR_sa_AttributeStatement(struct zx_ctx* c, struct zx_sa_AttributeStatement_s* x)
209 {
210 switch (x->gg.attr->g.tok) {
211
212 default: return 0;
213 }
214 }
215
zx_DEC_ELEM_sa_AttributeStatement(struct zx_ctx * c,struct zx_sa_AttributeStatement_s * x)216 int zx_DEC_ELEM_sa_AttributeStatement(struct zx_ctx* c, struct zx_sa_AttributeStatement_s* x)
217 {
218 struct zx_elem_s* el = x->gg.kids;
219 switch (el->g.tok) {
220 case zx_sa_Attribute_ELEM:
221 if (!x->Attribute)
222 x->Attribute = (struct zx_sa_Attribute_s*)el;
223 return 1;
224 case zx_sa_EncryptedAttribute_ELEM:
225 if (!x->EncryptedAttribute)
226 x->EncryptedAttribute = (struct zx_sa_EncryptedAttribute_s*)el;
227 return 1;
228
229 default: return 0;
230 }
231 }
232
233
234
235
zx_DEC_ATTR_sa_AttributeValue(struct zx_ctx * c,struct zx_sa_AttributeValue_s * x)236 int zx_DEC_ATTR_sa_AttributeValue(struct zx_ctx* c, struct zx_sa_AttributeValue_s* x)
237 {
238 switch (x->gg.attr->g.tok) {
239 case zx_type_ATTR|zx_xsi_NS: x->type = x->gg.attr; return 1;
240
241 default: return 0;
242 }
243 }
244
zx_DEC_ELEM_sa_AttributeValue(struct zx_ctx * c,struct zx_sa_AttributeValue_s * x)245 int zx_DEC_ELEM_sa_AttributeValue(struct zx_ctx* c, struct zx_sa_AttributeValue_s* x)
246 {
247 struct zx_elem_s* el = x->gg.kids;
248 switch (el->g.tok) {
249 case zx_di12_ResourceOffering_ELEM:
250 if (!x->ResourceOffering)
251 x->ResourceOffering = (struct zx_di12_ResourceOffering_s*)el;
252 return 1;
253 case zx_a_EndpointReference_ELEM:
254 if (!x->EndpointReference)
255 x->EndpointReference = (struct zx_a_EndpointReference_s*)el;
256 return 1;
257 case zx_sa_Assertion_ELEM:
258 if (!x->Assertion)
259 x->Assertion = (struct zx_sa_Assertion_s*)el;
260 return 1;
261 case zx_sa_EncryptedAssertion_ELEM:
262 if (!x->EncryptedAssertion)
263 x->EncryptedAssertion = (struct zx_sa_EncryptedAssertion_s*)el;
264 return 1;
265
266 default: return 0;
267 }
268 }
269
270
271
272
zx_DEC_ATTR_sa_AudienceRestriction(struct zx_ctx * c,struct zx_sa_AudienceRestriction_s * x)273 int zx_DEC_ATTR_sa_AudienceRestriction(struct zx_ctx* c, struct zx_sa_AudienceRestriction_s* x)
274 {
275 switch (x->gg.attr->g.tok) {
276
277 default: return 0;
278 }
279 }
280
zx_DEC_ELEM_sa_AudienceRestriction(struct zx_ctx * c,struct zx_sa_AudienceRestriction_s * x)281 int zx_DEC_ELEM_sa_AudienceRestriction(struct zx_ctx* c, struct zx_sa_AudienceRestriction_s* x)
282 {
283 struct zx_elem_s* el = x->gg.kids;
284 switch (el->g.tok) {
285 case zx_sa_Audience_ELEM:
286 if (!x->Audience)
287 x->Audience = el;
288 return 1;
289
290 default: return 0;
291 }
292 }
293
294
295
296
zx_DEC_ATTR_sa_AuthnContext(struct zx_ctx * c,struct zx_sa_AuthnContext_s * x)297 int zx_DEC_ATTR_sa_AuthnContext(struct zx_ctx* c, struct zx_sa_AuthnContext_s* x)
298 {
299 switch (x->gg.attr->g.tok) {
300
301 default: return 0;
302 }
303 }
304
zx_DEC_ELEM_sa_AuthnContext(struct zx_ctx * c,struct zx_sa_AuthnContext_s * x)305 int zx_DEC_ELEM_sa_AuthnContext(struct zx_ctx* c, struct zx_sa_AuthnContext_s* x)
306 {
307 struct zx_elem_s* el = x->gg.kids;
308 switch (el->g.tok) {
309 case zx_sa_AuthnContextClassRef_ELEM:
310 if (!x->AuthnContextClassRef)
311 x->AuthnContextClassRef = el;
312 return 1;
313 case zx_sa_AuthnContextDecl_ELEM:
314 if (!x->AuthnContextDecl)
315 x->AuthnContextDecl = el;
316 return 1;
317 case zx_sa_AuthnContextDeclRef_ELEM:
318 if (!x->AuthnContextDeclRef)
319 x->AuthnContextDeclRef = el;
320 return 1;
321 case zx_sa_AuthenticatingAuthority_ELEM:
322 if (!x->AuthenticatingAuthority)
323 x->AuthenticatingAuthority = el;
324 return 1;
325
326 default: return 0;
327 }
328 }
329
330
331
332
zx_DEC_ATTR_sa_AuthnStatement(struct zx_ctx * c,struct zx_sa_AuthnStatement_s * x)333 int zx_DEC_ATTR_sa_AuthnStatement(struct zx_ctx* c, struct zx_sa_AuthnStatement_s* x)
334 {
335 switch (x->gg.attr->g.tok) {
336 case zx_AuthnInstant_ATTR: x->AuthnInstant = x->gg.attr; return 1;
337 case zx_SessionIndex_ATTR: x->SessionIndex = x->gg.attr; return 1;
338 case zx_SessionNotOnOrAfter_ATTR: x->SessionNotOnOrAfter = x->gg.attr; return 1;
339
340 default: return 0;
341 }
342 }
343
zx_DEC_ELEM_sa_AuthnStatement(struct zx_ctx * c,struct zx_sa_AuthnStatement_s * x)344 int zx_DEC_ELEM_sa_AuthnStatement(struct zx_ctx* c, struct zx_sa_AuthnStatement_s* x)
345 {
346 struct zx_elem_s* el = x->gg.kids;
347 switch (el->g.tok) {
348 case zx_sa_SubjectLocality_ELEM:
349 if (!x->SubjectLocality)
350 x->SubjectLocality = (struct zx_sa_SubjectLocality_s*)el;
351 return 1;
352 case zx_sa_AuthnContext_ELEM:
353 if (!x->AuthnContext)
354 x->AuthnContext = (struct zx_sa_AuthnContext_s*)el;
355 return 1;
356
357 default: return 0;
358 }
359 }
360
361
362
363
zx_DEC_ATTR_sa_AuthzDecisionStatement(struct zx_ctx * c,struct zx_sa_AuthzDecisionStatement_s * x)364 int zx_DEC_ATTR_sa_AuthzDecisionStatement(struct zx_ctx* c, struct zx_sa_AuthzDecisionStatement_s* x)
365 {
366 switch (x->gg.attr->g.tok) {
367 case zx_Decision_ATTR: x->Decision = x->gg.attr; return 1;
368 case zx_Resource_ATTR: x->Resource = x->gg.attr; return 1;
369
370 default: return 0;
371 }
372 }
373
zx_DEC_ELEM_sa_AuthzDecisionStatement(struct zx_ctx * c,struct zx_sa_AuthzDecisionStatement_s * x)374 int zx_DEC_ELEM_sa_AuthzDecisionStatement(struct zx_ctx* c, struct zx_sa_AuthzDecisionStatement_s* x)
375 {
376 struct zx_elem_s* el = x->gg.kids;
377 switch (el->g.tok) {
378 case zx_sa_Action_ELEM:
379 if (!x->Action)
380 x->Action = (struct zx_sa_Action_s*)el;
381 return 1;
382 case zx_sa_Evidence_ELEM:
383 if (!x->Evidence)
384 x->Evidence = (struct zx_sa_Evidence_s*)el;
385 return 1;
386
387 default: return 0;
388 }
389 }
390
391
392
393
zx_DEC_ATTR_sa_BaseID(struct zx_ctx * c,struct zx_sa_BaseID_s * x)394 int zx_DEC_ATTR_sa_BaseID(struct zx_ctx* c, struct zx_sa_BaseID_s* x)
395 {
396 switch (x->gg.attr->g.tok) {
397 case zx_NameQualifier_ATTR: x->NameQualifier = x->gg.attr; return 1;
398 case zx_SPNameQualifier_ATTR: x->SPNameQualifier = x->gg.attr; return 1;
399
400 default: return 0;
401 }
402 }
403
zx_DEC_ELEM_sa_BaseID(struct zx_ctx * c,struct zx_sa_BaseID_s * x)404 int zx_DEC_ELEM_sa_BaseID(struct zx_ctx* c, struct zx_sa_BaseID_s* x)
405 {
406 struct zx_elem_s* el = x->gg.kids;
407 switch (el->g.tok) {
408
409 default: return 0;
410 }
411 }
412
413
414
415
zx_DEC_ATTR_sa_Conditions(struct zx_ctx * c,struct zx_sa_Conditions_s * x)416 int zx_DEC_ATTR_sa_Conditions(struct zx_ctx* c, struct zx_sa_Conditions_s* x)
417 {
418 switch (x->gg.attr->g.tok) {
419 case zx_NotBefore_ATTR: x->NotBefore = x->gg.attr; return 1;
420 case zx_NotOnOrAfter_ATTR: x->NotOnOrAfter = x->gg.attr; return 1;
421
422 default: return 0;
423 }
424 }
425
zx_DEC_ELEM_sa_Conditions(struct zx_ctx * c,struct zx_sa_Conditions_s * x)426 int zx_DEC_ELEM_sa_Conditions(struct zx_ctx* c, struct zx_sa_Conditions_s* x)
427 {
428 struct zx_elem_s* el = x->gg.kids;
429 switch (el->g.tok) {
430 case zx_sa_Condition_ELEM:
431 if (!x->Condition)
432 x->Condition = el;
433 return 1;
434 case zx_sa_AudienceRestriction_ELEM:
435 if (!x->AudienceRestriction)
436 x->AudienceRestriction = (struct zx_sa_AudienceRestriction_s*)el;
437 return 1;
438 case zx_sa_OneTimeUse_ELEM:
439 if (!x->OneTimeUse)
440 x->OneTimeUse = (struct zx_sa_OneTimeUse_s*)el;
441 return 1;
442 case zx_sa_ProxyRestriction_ELEM:
443 if (!x->ProxyRestriction)
444 x->ProxyRestriction = (struct zx_sa_ProxyRestriction_s*)el;
445 return 1;
446 case zx_idp_SubjectRestriction_ELEM:
447 if (!x->SubjectRestriction)
448 x->SubjectRestriction = (struct zx_idp_SubjectRestriction_s*)el;
449 return 1;
450
451 default: return 0;
452 }
453 }
454
455
456
457
zx_DEC_ATTR_sa_EncryptedAssertion(struct zx_ctx * c,struct zx_sa_EncryptedAssertion_s * x)458 int zx_DEC_ATTR_sa_EncryptedAssertion(struct zx_ctx* c, struct zx_sa_EncryptedAssertion_s* x)
459 {
460 switch (x->gg.attr->g.tok) {
461
462 default: return 0;
463 }
464 }
465
zx_DEC_ELEM_sa_EncryptedAssertion(struct zx_ctx * c,struct zx_sa_EncryptedAssertion_s * x)466 int zx_DEC_ELEM_sa_EncryptedAssertion(struct zx_ctx* c, struct zx_sa_EncryptedAssertion_s* x)
467 {
468 struct zx_elem_s* el = x->gg.kids;
469 switch (el->g.tok) {
470 case zx_xenc_EncryptedData_ELEM:
471 if (!x->EncryptedData)
472 x->EncryptedData = (struct zx_xenc_EncryptedData_s*)el;
473 return 1;
474 case zx_xenc_EncryptedKey_ELEM:
475 if (!x->EncryptedKey)
476 x->EncryptedKey = (struct zx_xenc_EncryptedKey_s*)el;
477 return 1;
478
479 default: return 0;
480 }
481 }
482
483
484
485
zx_DEC_ATTR_sa_EncryptedAttribute(struct zx_ctx * c,struct zx_sa_EncryptedAttribute_s * x)486 int zx_DEC_ATTR_sa_EncryptedAttribute(struct zx_ctx* c, struct zx_sa_EncryptedAttribute_s* x)
487 {
488 switch (x->gg.attr->g.tok) {
489
490 default: return 0;
491 }
492 }
493
zx_DEC_ELEM_sa_EncryptedAttribute(struct zx_ctx * c,struct zx_sa_EncryptedAttribute_s * x)494 int zx_DEC_ELEM_sa_EncryptedAttribute(struct zx_ctx* c, struct zx_sa_EncryptedAttribute_s* x)
495 {
496 struct zx_elem_s* el = x->gg.kids;
497 switch (el->g.tok) {
498 case zx_xenc_EncryptedData_ELEM:
499 if (!x->EncryptedData)
500 x->EncryptedData = (struct zx_xenc_EncryptedData_s*)el;
501 return 1;
502 case zx_xenc_EncryptedKey_ELEM:
503 if (!x->EncryptedKey)
504 x->EncryptedKey = (struct zx_xenc_EncryptedKey_s*)el;
505 return 1;
506
507 default: return 0;
508 }
509 }
510
511
512
513
zx_DEC_ATTR_sa_EncryptedID(struct zx_ctx * c,struct zx_sa_EncryptedID_s * x)514 int zx_DEC_ATTR_sa_EncryptedID(struct zx_ctx* c, struct zx_sa_EncryptedID_s* x)
515 {
516 switch (x->gg.attr->g.tok) {
517
518 default: return 0;
519 }
520 }
521
zx_DEC_ELEM_sa_EncryptedID(struct zx_ctx * c,struct zx_sa_EncryptedID_s * x)522 int zx_DEC_ELEM_sa_EncryptedID(struct zx_ctx* c, struct zx_sa_EncryptedID_s* x)
523 {
524 struct zx_elem_s* el = x->gg.kids;
525 switch (el->g.tok) {
526 case zx_xenc_EncryptedData_ELEM:
527 if (!x->EncryptedData)
528 x->EncryptedData = (struct zx_xenc_EncryptedData_s*)el;
529 return 1;
530 case zx_xenc_EncryptedKey_ELEM:
531 if (!x->EncryptedKey)
532 x->EncryptedKey = (struct zx_xenc_EncryptedKey_s*)el;
533 return 1;
534
535 default: return 0;
536 }
537 }
538
539
540
541
zx_DEC_ATTR_sa_Evidence(struct zx_ctx * c,struct zx_sa_Evidence_s * x)542 int zx_DEC_ATTR_sa_Evidence(struct zx_ctx* c, struct zx_sa_Evidence_s* x)
543 {
544 switch (x->gg.attr->g.tok) {
545
546 default: return 0;
547 }
548 }
549
zx_DEC_ELEM_sa_Evidence(struct zx_ctx * c,struct zx_sa_Evidence_s * x)550 int zx_DEC_ELEM_sa_Evidence(struct zx_ctx* c, struct zx_sa_Evidence_s* x)
551 {
552 struct zx_elem_s* el = x->gg.kids;
553 switch (el->g.tok) {
554 case zx_sa_AssertionIDRef_ELEM:
555 if (!x->AssertionIDRef)
556 x->AssertionIDRef = el;
557 return 1;
558 case zx_sa_AssertionURIRef_ELEM:
559 if (!x->AssertionURIRef)
560 x->AssertionURIRef = el;
561 return 1;
562 case zx_sa_Assertion_ELEM:
563 if (!x->Assertion)
564 x->Assertion = (struct zx_sa_Assertion_s*)el;
565 return 1;
566 case zx_sa_EncryptedAssertion_ELEM:
567 if (!x->EncryptedAssertion)
568 x->EncryptedAssertion = (struct zx_sa_EncryptedAssertion_s*)el;
569 return 1;
570
571 default: return 0;
572 }
573 }
574
575
576
577
zx_DEC_ATTR_sa_Issuer(struct zx_ctx * c,struct zx_sa_Issuer_s * x)578 int zx_DEC_ATTR_sa_Issuer(struct zx_ctx* c, struct zx_sa_Issuer_s* x)
579 {
580 switch (x->gg.attr->g.tok) {
581 case zx_Format_ATTR: x->Format = x->gg.attr; return 1;
582 case zx_NameQualifier_ATTR: x->NameQualifier = x->gg.attr; return 1;
583 case zx_SPNameQualifier_ATTR: x->SPNameQualifier = x->gg.attr; return 1;
584 case zx_SPProvidedID_ATTR: x->SPProvidedID = x->gg.attr; return 1;
585
586 default: return 0;
587 }
588 }
589
zx_DEC_ELEM_sa_Issuer(struct zx_ctx * c,struct zx_sa_Issuer_s * x)590 int zx_DEC_ELEM_sa_Issuer(struct zx_ctx* c, struct zx_sa_Issuer_s* x)
591 {
592 struct zx_elem_s* el = x->gg.kids;
593 switch (el->g.tok) {
594
595 default: return 0;
596 }
597 }
598
599
600
601
zx_DEC_ATTR_sa_NameID(struct zx_ctx * c,struct zx_sa_NameID_s * x)602 int zx_DEC_ATTR_sa_NameID(struct zx_ctx* c, struct zx_sa_NameID_s* x)
603 {
604 switch (x->gg.attr->g.tok) {
605 case zx_Format_ATTR: x->Format = x->gg.attr; return 1;
606 case zx_NameQualifier_ATTR: x->NameQualifier = x->gg.attr; return 1;
607 case zx_SPNameQualifier_ATTR: x->SPNameQualifier = x->gg.attr; return 1;
608 case zx_SPProvidedID_ATTR: x->SPProvidedID = x->gg.attr; return 1;
609
610 default: return 0;
611 }
612 }
613
zx_DEC_ELEM_sa_NameID(struct zx_ctx * c,struct zx_sa_NameID_s * x)614 int zx_DEC_ELEM_sa_NameID(struct zx_ctx* c, struct zx_sa_NameID_s* x)
615 {
616 struct zx_elem_s* el = x->gg.kids;
617 switch (el->g.tok) {
618
619 default: return 0;
620 }
621 }
622
623
624
625
zx_DEC_ATTR_sa_OneTimeUse(struct zx_ctx * c,struct zx_sa_OneTimeUse_s * x)626 int zx_DEC_ATTR_sa_OneTimeUse(struct zx_ctx* c, struct zx_sa_OneTimeUse_s* x)
627 {
628 switch (x->gg.attr->g.tok) {
629
630 default: return 0;
631 }
632 }
633
zx_DEC_ELEM_sa_OneTimeUse(struct zx_ctx * c,struct zx_sa_OneTimeUse_s * x)634 int zx_DEC_ELEM_sa_OneTimeUse(struct zx_ctx* c, struct zx_sa_OneTimeUse_s* x)
635 {
636 struct zx_elem_s* el = x->gg.kids;
637 switch (el->g.tok) {
638
639 default: return 0;
640 }
641 }
642
643
644
645
zx_DEC_ATTR_sa_ProxyRestriction(struct zx_ctx * c,struct zx_sa_ProxyRestriction_s * x)646 int zx_DEC_ATTR_sa_ProxyRestriction(struct zx_ctx* c, struct zx_sa_ProxyRestriction_s* x)
647 {
648 switch (x->gg.attr->g.tok) {
649 case zx_Count_ATTR: x->Count = x->gg.attr; return 1;
650
651 default: return 0;
652 }
653 }
654
zx_DEC_ELEM_sa_ProxyRestriction(struct zx_ctx * c,struct zx_sa_ProxyRestriction_s * x)655 int zx_DEC_ELEM_sa_ProxyRestriction(struct zx_ctx* c, struct zx_sa_ProxyRestriction_s* x)
656 {
657 struct zx_elem_s* el = x->gg.kids;
658 switch (el->g.tok) {
659 case zx_sa_Audience_ELEM:
660 if (!x->Audience)
661 x->Audience = el;
662 return 1;
663
664 default: return 0;
665 }
666 }
667
668
669
670
zx_DEC_ATTR_sa_Statement(struct zx_ctx * c,struct zx_sa_Statement_s * x)671 int zx_DEC_ATTR_sa_Statement(struct zx_ctx* c, struct zx_sa_Statement_s* x)
672 {
673 switch (x->gg.attr->g.tok) {
674 case zx_type_ATTR|zx_xsi_NS: x->type = x->gg.attr; return 1;
675
676 default: return 0;
677 }
678 }
679
zx_DEC_ELEM_sa_Statement(struct zx_ctx * c,struct zx_sa_Statement_s * x)680 int zx_DEC_ELEM_sa_Statement(struct zx_ctx* c, struct zx_sa_Statement_s* x)
681 {
682 struct zx_elem_s* el = x->gg.kids;
683 switch (el->g.tok) {
684 case zx_xac_Response_ELEM:
685 if (!x->Response)
686 x->Response = (struct zx_xac_Response_s*)el;
687 return 1;
688 case zx_xac_Request_ELEM:
689 if (!x->Request)
690 x->Request = (struct zx_xac_Request_s*)el;
691 return 1;
692
693 default: return 0;
694 }
695 }
696
697
698
699
zx_DEC_ATTR_sa_Subject(struct zx_ctx * c,struct zx_sa_Subject_s * x)700 int zx_DEC_ATTR_sa_Subject(struct zx_ctx* c, struct zx_sa_Subject_s* x)
701 {
702 switch (x->gg.attr->g.tok) {
703
704 default: return 0;
705 }
706 }
707
zx_DEC_ELEM_sa_Subject(struct zx_ctx * c,struct zx_sa_Subject_s * x)708 int zx_DEC_ELEM_sa_Subject(struct zx_ctx* c, struct zx_sa_Subject_s* x)
709 {
710 struct zx_elem_s* el = x->gg.kids;
711 switch (el->g.tok) {
712 case zx_sa_BaseID_ELEM:
713 if (!x->BaseID)
714 x->BaseID = (struct zx_sa_BaseID_s*)el;
715 return 1;
716 case zx_sa_NameID_ELEM:
717 if (!x->NameID)
718 x->NameID = (struct zx_sa_NameID_s*)el;
719 return 1;
720 case zx_sa_EncryptedID_ELEM:
721 if (!x->EncryptedID)
722 x->EncryptedID = (struct zx_sa_EncryptedID_s*)el;
723 return 1;
724 case zx_sa_SubjectConfirmation_ELEM:
725 if (!x->SubjectConfirmation)
726 x->SubjectConfirmation = (struct zx_sa_SubjectConfirmation_s*)el;
727 return 1;
728
729 default: return 0;
730 }
731 }
732
733
734
735
zx_DEC_ATTR_sa_SubjectConfirmation(struct zx_ctx * c,struct zx_sa_SubjectConfirmation_s * x)736 int zx_DEC_ATTR_sa_SubjectConfirmation(struct zx_ctx* c, struct zx_sa_SubjectConfirmation_s* x)
737 {
738 switch (x->gg.attr->g.tok) {
739 case zx_Method_ATTR: x->Method = x->gg.attr; return 1;
740
741 default: return 0;
742 }
743 }
744
zx_DEC_ELEM_sa_SubjectConfirmation(struct zx_ctx * c,struct zx_sa_SubjectConfirmation_s * x)745 int zx_DEC_ELEM_sa_SubjectConfirmation(struct zx_ctx* c, struct zx_sa_SubjectConfirmation_s* x)
746 {
747 struct zx_elem_s* el = x->gg.kids;
748 switch (el->g.tok) {
749 case zx_sa_BaseID_ELEM:
750 if (!x->BaseID)
751 x->BaseID = (struct zx_sa_BaseID_s*)el;
752 return 1;
753 case zx_sa_NameID_ELEM:
754 if (!x->NameID)
755 x->NameID = (struct zx_sa_NameID_s*)el;
756 return 1;
757 case zx_sa_EncryptedID_ELEM:
758 if (!x->EncryptedID)
759 x->EncryptedID = (struct zx_sa_EncryptedID_s*)el;
760 return 1;
761 case zx_sa_SubjectConfirmationData_ELEM:
762 if (!x->SubjectConfirmationData)
763 x->SubjectConfirmationData = (struct zx_sa_SubjectConfirmationData_s*)el;
764 return 1;
765
766 default: return 0;
767 }
768 }
769
770
771
772
zx_DEC_ATTR_sa_SubjectConfirmationData(struct zx_ctx * c,struct zx_sa_SubjectConfirmationData_s * x)773 int zx_DEC_ATTR_sa_SubjectConfirmationData(struct zx_ctx* c, struct zx_sa_SubjectConfirmationData_s* x)
774 {
775 switch (x->gg.attr->g.tok) {
776 case zx_Address_ATTR: x->Address = x->gg.attr; return 1;
777 case zx_InResponseTo_ATTR: x->InResponseTo = x->gg.attr; return 1;
778 case zx_NotBefore_ATTR: x->NotBefore = x->gg.attr; return 1;
779 case zx_NotOnOrAfter_ATTR: x->NotOnOrAfter = x->gg.attr; return 1;
780 case zx_Recipient_ATTR: x->Recipient = x->gg.attr; return 1;
781 case zx_type_ATTR|zx_xsi_NS: x->type = x->gg.attr; return 1;
782
783 default: return 0;
784 }
785 }
786
zx_DEC_ELEM_sa_SubjectConfirmationData(struct zx_ctx * c,struct zx_sa_SubjectConfirmationData_s * x)787 int zx_DEC_ELEM_sa_SubjectConfirmationData(struct zx_ctx* c, struct zx_sa_SubjectConfirmationData_s* x)
788 {
789 struct zx_elem_s* el = x->gg.kids;
790 switch (el->g.tok) {
791 case zx_ds_KeyInfo_ELEM:
792 if (!x->KeyInfo)
793 x->KeyInfo = (struct zx_ds_KeyInfo_s*)el;
794 return 1;
795
796 default: return 0;
797 }
798 }
799
800
801
802
zx_DEC_ATTR_sa_SubjectLocality(struct zx_ctx * c,struct zx_sa_SubjectLocality_s * x)803 int zx_DEC_ATTR_sa_SubjectLocality(struct zx_ctx* c, struct zx_sa_SubjectLocality_s* x)
804 {
805 switch (x->gg.attr->g.tok) {
806 case zx_Address_ATTR: x->Address = x->gg.attr; return 1;
807 case zx_DNSName_ATTR: x->DNSName = x->gg.attr; return 1;
808
809 default: return 0;
810 }
811 }
812
zx_DEC_ELEM_sa_SubjectLocality(struct zx_ctx * c,struct zx_sa_SubjectLocality_s * x)813 int zx_DEC_ELEM_sa_SubjectLocality(struct zx_ctx* c, struct zx_sa_SubjectLocality_s* x)
814 {
815 struct zx_elem_s* el = x->gg.kids;
816 switch (el->g.tok) {
817
818 default: return 0;
819 }
820 }
821
822
823
824
zx_DEC_ATTR_sa_TestElem(struct zx_ctx * c,struct zx_sa_TestElem_s * x)825 int zx_DEC_ATTR_sa_TestElem(struct zx_ctx* c, struct zx_sa_TestElem_s* x)
826 {
827 switch (x->gg.attr->g.tok) {
828
829 default: return 0;
830 }
831 }
832
zx_DEC_ELEM_sa_TestElem(struct zx_ctx * c,struct zx_sa_TestElem_s * x)833 int zx_DEC_ELEM_sa_TestElem(struct zx_ctx* c, struct zx_sa_TestElem_s* x)
834 {
835 struct zx_elem_s* el = x->gg.kids;
836 switch (el->g.tok) {
837 case zx_sa_AttributeValue_ELEM:
838 if (!x->AttributeValue)
839 x->AttributeValue = (struct zx_sa_AttributeValue_s*)el;
840 return 1;
841
842 default: return 0;
843 }
844 }
845
846
847 /* EOF -- c/zx-sa-dec.c */
848