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