1 /* c/zx-sp11-data.h - WARNING: This header was auto generated by xsd2sg.pl. DO NOT EDIT! 2 * $Id$ */ 3 /* Datastructure design, topography, and layout 4 * Copyright (c) 2006,2010 Sampo Kellomaki (sampo@iki.fi), 5 * All Rights Reserved. NO WARRANTY. See file COPYING for 6 * terms and conditions of use. Element and attributes names as well 7 * as some topography are derived from schema descriptions that were used as 8 * input and may be subject to their own copright. */ 9 10 #ifndef _c_zx_sp11_data_h 11 #define _c_zx_sp11_data_h 12 13 #include "zx.h" 14 #include "c/zx-const.h" 15 #include "c/zx-data.h" 16 17 #ifndef ZX_ELEM_EXT 18 #define ZX_ELEM_EXT /* This extension point should be defined by who includes this file. */ 19 #endif 20 21 /* -------------------------- sp11_AttributeQuery -------------------------- */ 22 /* refby( zx_sp11_Request_s ) */ 23 #ifndef zx_sp11_AttributeQuery_EXT 24 #define zx_sp11_AttributeQuery_EXT 25 #endif 26 struct zx_sp11_AttributeQuery_s { 27 ZX_ELEM_EXT 28 zx_sp11_AttributeQuery_EXT 29 struct zx_sa11_Subject_s* Subject; /* {1,1} nada */ 30 struct zx_sa11_AttributeDesignator_s* AttributeDesignator; /* {0,-1} nada */ 31 struct zx_attr_s* Resource; /* {0,1} attribute xs:anyURI */ 32 }; 33 34 #define zx_NEW_sp11_AttributeQuery(c, father) (struct zx_sp11_AttributeQuery_s*)zx_new_elem((c),(father),zx_sp11_AttributeQuery_ELEM) 35 int zx_DEC_ATTR_sp11_AttributeQuery(struct zx_ctx* c, struct zx_sp11_AttributeQuery_s* x); 36 int zx_DEC_ELEM_sp11_AttributeQuery(struct zx_ctx* c, struct zx_sp11_AttributeQuery_s* x); 37 38 #ifdef ZX_ENA_AUX 39 struct zx_sp11_AttributeQuery_s* zx_DEEP_CLONE_sp11_AttributeQuery(struct zx_ctx* c, struct zx_sp11_AttributeQuery_s* x, int dup_strs); 40 void zx_DUP_STRS_sp11_AttributeQuery(struct zx_ctx* c, struct zx_sp11_AttributeQuery_s* x); 41 int zx_WALK_SO_sp11_AttributeQuery(struct zx_ctx* c, struct zx_sp11_AttributeQuery_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx)); 42 int zx_WALK_WO_sp11_AttributeQuery(struct zx_ctx* c, struct zx_sp11_AttributeQuery_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx)); 43 #endif 44 45 #ifdef ZX_ENA_GETPUT 46 struct zx_attr_s* zx_sp11_AttributeQuery_GET_Resource(struct zx_sp11_AttributeQuery_s* x); 47 48 struct zx_sa11_Subject_s* zx_sp11_AttributeQuery_GET_Subject(struct zx_sp11_AttributeQuery_s* x, int n); 49 struct zx_sa11_AttributeDesignator_s* zx_sp11_AttributeQuery_GET_AttributeDesignator(struct zx_sp11_AttributeQuery_s* x, int n); 50 51 int zx_sp11_AttributeQuery_NUM_Subject(struct zx_sp11_AttributeQuery_s* x); 52 int zx_sp11_AttributeQuery_NUM_AttributeDesignator(struct zx_sp11_AttributeQuery_s* x); 53 54 struct zx_sa11_Subject_s* zx_sp11_AttributeQuery_POP_Subject(struct zx_sp11_AttributeQuery_s* x); 55 struct zx_sa11_AttributeDesignator_s* zx_sp11_AttributeQuery_POP_AttributeDesignator(struct zx_sp11_AttributeQuery_s* x); 56 57 void zx_sp11_AttributeQuery_PUSH_Subject(struct zx_sp11_AttributeQuery_s* x, struct zx_sa11_Subject_s* y); 58 void zx_sp11_AttributeQuery_PUSH_AttributeDesignator(struct zx_sp11_AttributeQuery_s* x, struct zx_sa11_AttributeDesignator_s* y); 59 60 void zx_sp11_AttributeQuery_PUT_Resource(struct zx_sp11_AttributeQuery_s* x, struct zx_attr_s* y); 61 62 void zx_sp11_AttributeQuery_PUT_Subject(struct zx_sp11_AttributeQuery_s* x, int n, struct zx_sa11_Subject_s* y); 63 void zx_sp11_AttributeQuery_PUT_AttributeDesignator(struct zx_sp11_AttributeQuery_s* x, int n, struct zx_sa11_AttributeDesignator_s* y); 64 65 void zx_sp11_AttributeQuery_ADD_Subject(struct zx_sp11_AttributeQuery_s* x, int n, struct zx_sa11_Subject_s* z); 66 void zx_sp11_AttributeQuery_ADD_AttributeDesignator(struct zx_sp11_AttributeQuery_s* x, int n, struct zx_sa11_AttributeDesignator_s* z); 67 68 void zx_sp11_AttributeQuery_DEL_Subject(struct zx_sp11_AttributeQuery_s* x, int n); 69 void zx_sp11_AttributeQuery_DEL_AttributeDesignator(struct zx_sp11_AttributeQuery_s* x, int n); 70 71 void zx_sp11_AttributeQuery_REV_Subject(struct zx_sp11_AttributeQuery_s* x); 72 void zx_sp11_AttributeQuery_REV_AttributeDesignator(struct zx_sp11_AttributeQuery_s* x); 73 74 #endif 75 /* -------------------------- sp11_AuthenticationQuery -------------------------- */ 76 /* refby( zx_sp11_Request_s ) */ 77 #ifndef zx_sp11_AuthenticationQuery_EXT 78 #define zx_sp11_AuthenticationQuery_EXT 79 #endif 80 struct zx_sp11_AuthenticationQuery_s { 81 ZX_ELEM_EXT 82 zx_sp11_AuthenticationQuery_EXT 83 struct zx_sa11_Subject_s* Subject; /* {1,1} nada */ 84 struct zx_attr_s* AuthenticationMethod; /* {0,1} attribute xs:anyURI */ 85 }; 86 87 #define zx_NEW_sp11_AuthenticationQuery(c, father) (struct zx_sp11_AuthenticationQuery_s*)zx_new_elem((c),(father),zx_sp11_AuthenticationQuery_ELEM) 88 int zx_DEC_ATTR_sp11_AuthenticationQuery(struct zx_ctx* c, struct zx_sp11_AuthenticationQuery_s* x); 89 int zx_DEC_ELEM_sp11_AuthenticationQuery(struct zx_ctx* c, struct zx_sp11_AuthenticationQuery_s* x); 90 91 #ifdef ZX_ENA_AUX 92 struct zx_sp11_AuthenticationQuery_s* zx_DEEP_CLONE_sp11_AuthenticationQuery(struct zx_ctx* c, struct zx_sp11_AuthenticationQuery_s* x, int dup_strs); 93 void zx_DUP_STRS_sp11_AuthenticationQuery(struct zx_ctx* c, struct zx_sp11_AuthenticationQuery_s* x); 94 int zx_WALK_SO_sp11_AuthenticationQuery(struct zx_ctx* c, struct zx_sp11_AuthenticationQuery_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx)); 95 int zx_WALK_WO_sp11_AuthenticationQuery(struct zx_ctx* c, struct zx_sp11_AuthenticationQuery_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx)); 96 #endif 97 98 #ifdef ZX_ENA_GETPUT 99 struct zx_attr_s* zx_sp11_AuthenticationQuery_GET_AuthenticationMethod(struct zx_sp11_AuthenticationQuery_s* x); 100 101 struct zx_sa11_Subject_s* zx_sp11_AuthenticationQuery_GET_Subject(struct zx_sp11_AuthenticationQuery_s* x, int n); 102 103 int zx_sp11_AuthenticationQuery_NUM_Subject(struct zx_sp11_AuthenticationQuery_s* x); 104 105 struct zx_sa11_Subject_s* zx_sp11_AuthenticationQuery_POP_Subject(struct zx_sp11_AuthenticationQuery_s* x); 106 107 void zx_sp11_AuthenticationQuery_PUSH_Subject(struct zx_sp11_AuthenticationQuery_s* x, struct zx_sa11_Subject_s* y); 108 109 void zx_sp11_AuthenticationQuery_PUT_AuthenticationMethod(struct zx_sp11_AuthenticationQuery_s* x, struct zx_attr_s* y); 110 111 void zx_sp11_AuthenticationQuery_PUT_Subject(struct zx_sp11_AuthenticationQuery_s* x, int n, struct zx_sa11_Subject_s* y); 112 113 void zx_sp11_AuthenticationQuery_ADD_Subject(struct zx_sp11_AuthenticationQuery_s* x, int n, struct zx_sa11_Subject_s* z); 114 115 void zx_sp11_AuthenticationQuery_DEL_Subject(struct zx_sp11_AuthenticationQuery_s* x, int n); 116 117 void zx_sp11_AuthenticationQuery_REV_Subject(struct zx_sp11_AuthenticationQuery_s* x); 118 119 #endif 120 /* -------------------------- sp11_AuthorizationDecisionQuery -------------------------- */ 121 /* refby( zx_sp11_Request_s ) */ 122 #ifndef zx_sp11_AuthorizationDecisionQuery_EXT 123 #define zx_sp11_AuthorizationDecisionQuery_EXT 124 #endif 125 struct zx_sp11_AuthorizationDecisionQuery_s { 126 ZX_ELEM_EXT 127 zx_sp11_AuthorizationDecisionQuery_EXT 128 struct zx_sa11_Subject_s* Subject; /* {1,1} nada */ 129 struct zx_sa11_Action_s* Action; /* {1,-1} nada */ 130 struct zx_sa11_Evidence_s* Evidence; /* {0,1} nada */ 131 struct zx_attr_s* Resource; /* {1,1} attribute xs:anyURI */ 132 }; 133 134 #define zx_NEW_sp11_AuthorizationDecisionQuery(c, father) (struct zx_sp11_AuthorizationDecisionQuery_s*)zx_new_elem((c),(father),zx_sp11_AuthorizationDecisionQuery_ELEM) 135 int zx_DEC_ATTR_sp11_AuthorizationDecisionQuery(struct zx_ctx* c, struct zx_sp11_AuthorizationDecisionQuery_s* x); 136 int zx_DEC_ELEM_sp11_AuthorizationDecisionQuery(struct zx_ctx* c, struct zx_sp11_AuthorizationDecisionQuery_s* x); 137 138 #ifdef ZX_ENA_AUX 139 struct zx_sp11_AuthorizationDecisionQuery_s* zx_DEEP_CLONE_sp11_AuthorizationDecisionQuery(struct zx_ctx* c, struct zx_sp11_AuthorizationDecisionQuery_s* x, int dup_strs); 140 void zx_DUP_STRS_sp11_AuthorizationDecisionQuery(struct zx_ctx* c, struct zx_sp11_AuthorizationDecisionQuery_s* x); 141 int zx_WALK_SO_sp11_AuthorizationDecisionQuery(struct zx_ctx* c, struct zx_sp11_AuthorizationDecisionQuery_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx)); 142 int zx_WALK_WO_sp11_AuthorizationDecisionQuery(struct zx_ctx* c, struct zx_sp11_AuthorizationDecisionQuery_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx)); 143 #endif 144 145 #ifdef ZX_ENA_GETPUT 146 struct zx_attr_s* zx_sp11_AuthorizationDecisionQuery_GET_Resource(struct zx_sp11_AuthorizationDecisionQuery_s* x); 147 148 struct zx_sa11_Subject_s* zx_sp11_AuthorizationDecisionQuery_GET_Subject(struct zx_sp11_AuthorizationDecisionQuery_s* x, int n); 149 struct zx_sa11_Action_s* zx_sp11_AuthorizationDecisionQuery_GET_Action(struct zx_sp11_AuthorizationDecisionQuery_s* x, int n); 150 struct zx_sa11_Evidence_s* zx_sp11_AuthorizationDecisionQuery_GET_Evidence(struct zx_sp11_AuthorizationDecisionQuery_s* x, int n); 151 152 int zx_sp11_AuthorizationDecisionQuery_NUM_Subject(struct zx_sp11_AuthorizationDecisionQuery_s* x); 153 int zx_sp11_AuthorizationDecisionQuery_NUM_Action(struct zx_sp11_AuthorizationDecisionQuery_s* x); 154 int zx_sp11_AuthorizationDecisionQuery_NUM_Evidence(struct zx_sp11_AuthorizationDecisionQuery_s* x); 155 156 struct zx_sa11_Subject_s* zx_sp11_AuthorizationDecisionQuery_POP_Subject(struct zx_sp11_AuthorizationDecisionQuery_s* x); 157 struct zx_sa11_Action_s* zx_sp11_AuthorizationDecisionQuery_POP_Action(struct zx_sp11_AuthorizationDecisionQuery_s* x); 158 struct zx_sa11_Evidence_s* zx_sp11_AuthorizationDecisionQuery_POP_Evidence(struct zx_sp11_AuthorizationDecisionQuery_s* x); 159 160 void zx_sp11_AuthorizationDecisionQuery_PUSH_Subject(struct zx_sp11_AuthorizationDecisionQuery_s* x, struct zx_sa11_Subject_s* y); 161 void zx_sp11_AuthorizationDecisionQuery_PUSH_Action(struct zx_sp11_AuthorizationDecisionQuery_s* x, struct zx_sa11_Action_s* y); 162 void zx_sp11_AuthorizationDecisionQuery_PUSH_Evidence(struct zx_sp11_AuthorizationDecisionQuery_s* x, struct zx_sa11_Evidence_s* y); 163 164 void zx_sp11_AuthorizationDecisionQuery_PUT_Resource(struct zx_sp11_AuthorizationDecisionQuery_s* x, struct zx_attr_s* y); 165 166 void zx_sp11_AuthorizationDecisionQuery_PUT_Subject(struct zx_sp11_AuthorizationDecisionQuery_s* x, int n, struct zx_sa11_Subject_s* y); 167 void zx_sp11_AuthorizationDecisionQuery_PUT_Action(struct zx_sp11_AuthorizationDecisionQuery_s* x, int n, struct zx_sa11_Action_s* y); 168 void zx_sp11_AuthorizationDecisionQuery_PUT_Evidence(struct zx_sp11_AuthorizationDecisionQuery_s* x, int n, struct zx_sa11_Evidence_s* y); 169 170 void zx_sp11_AuthorizationDecisionQuery_ADD_Subject(struct zx_sp11_AuthorizationDecisionQuery_s* x, int n, struct zx_sa11_Subject_s* z); 171 void zx_sp11_AuthorizationDecisionQuery_ADD_Action(struct zx_sp11_AuthorizationDecisionQuery_s* x, int n, struct zx_sa11_Action_s* z); 172 void zx_sp11_AuthorizationDecisionQuery_ADD_Evidence(struct zx_sp11_AuthorizationDecisionQuery_s* x, int n, struct zx_sa11_Evidence_s* z); 173 174 void zx_sp11_AuthorizationDecisionQuery_DEL_Subject(struct zx_sp11_AuthorizationDecisionQuery_s* x, int n); 175 void zx_sp11_AuthorizationDecisionQuery_DEL_Action(struct zx_sp11_AuthorizationDecisionQuery_s* x, int n); 176 void zx_sp11_AuthorizationDecisionQuery_DEL_Evidence(struct zx_sp11_AuthorizationDecisionQuery_s* x, int n); 177 178 void zx_sp11_AuthorizationDecisionQuery_REV_Subject(struct zx_sp11_AuthorizationDecisionQuery_s* x); 179 void zx_sp11_AuthorizationDecisionQuery_REV_Action(struct zx_sp11_AuthorizationDecisionQuery_s* x); 180 void zx_sp11_AuthorizationDecisionQuery_REV_Evidence(struct zx_sp11_AuthorizationDecisionQuery_s* x); 181 182 #endif 183 /* -------------------------- sp11_Request -------------------------- */ 184 /* refby( zx_e_Body_s ) */ 185 #ifndef zx_sp11_Request_EXT 186 #define zx_sp11_Request_EXT 187 #endif 188 struct zx_sp11_Request_s { 189 ZX_ELEM_EXT 190 zx_sp11_Request_EXT 191 struct zx_elem_s* RespondWith; /* {0,-1} xs:QName */ 192 struct zx_ds_Signature_s* Signature; /* {0,1} nada */ 193 struct zx_elem_s* Query; /* {0,1} sp11:QueryAbstractType */ 194 struct zx_sp11_SubjectQuery_s* SubjectQuery; /* {0,1} */ 195 struct zx_sp11_AuthenticationQuery_s* AuthenticationQuery; /* {0,1} nada */ 196 struct zx_sp11_AttributeQuery_s* AttributeQuery; /* {0,1} nada */ 197 struct zx_sp11_AuthorizationDecisionQuery_s* AuthorizationDecisionQuery; /* {0,1} nada */ 198 struct zx_elem_s* AssertionIDReference; /* {1,-1} xs:NCName */ 199 struct zx_elem_s* AssertionArtifact; /* {1,-1} xs:string */ 200 struct zx_attr_s* IssueInstant; /* {1,1} attribute xs:dateTime */ 201 struct zx_attr_s* MajorVersion; /* {1,1} attribute xs:integer */ 202 struct zx_attr_s* MinorVersion; /* {1,1} attribute xs:integer */ 203 struct zx_attr_s* RequestID; /* {1,1} attribute xs:ID */ 204 }; 205 206 #define zx_NEW_sp11_Request(c, father) (struct zx_sp11_Request_s*)zx_new_elem((c),(father),zx_sp11_Request_ELEM) 207 int zx_DEC_ATTR_sp11_Request(struct zx_ctx* c, struct zx_sp11_Request_s* x); 208 int zx_DEC_ELEM_sp11_Request(struct zx_ctx* c, struct zx_sp11_Request_s* x); 209 210 #ifdef ZX_ENA_AUX 211 struct zx_sp11_Request_s* zx_DEEP_CLONE_sp11_Request(struct zx_ctx* c, struct zx_sp11_Request_s* x, int dup_strs); 212 void zx_DUP_STRS_sp11_Request(struct zx_ctx* c, struct zx_sp11_Request_s* x); 213 int zx_WALK_SO_sp11_Request(struct zx_ctx* c, struct zx_sp11_Request_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx)); 214 int zx_WALK_WO_sp11_Request(struct zx_ctx* c, struct zx_sp11_Request_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx)); 215 #endif 216 217 #ifdef ZX_ENA_GETPUT 218 struct zx_attr_s* zx_sp11_Request_GET_IssueInstant(struct zx_sp11_Request_s* x); 219 struct zx_attr_s* zx_sp11_Request_GET_MajorVersion(struct zx_sp11_Request_s* x); 220 struct zx_attr_s* zx_sp11_Request_GET_MinorVersion(struct zx_sp11_Request_s* x); 221 struct zx_attr_s* zx_sp11_Request_GET_RequestID(struct zx_sp11_Request_s* x); 222 223 struct zx_elem_s* zx_sp11_Request_GET_RespondWith(struct zx_sp11_Request_s* x, int n); 224 struct zx_ds_Signature_s* zx_sp11_Request_GET_Signature(struct zx_sp11_Request_s* x, int n); 225 struct zx_elem_s* zx_sp11_Request_GET_Query(struct zx_sp11_Request_s* x, int n); 226 struct zx_sp11_SubjectQuery_s* zx_sp11_Request_GET_SubjectQuery(struct zx_sp11_Request_s* x, int n); 227 struct zx_sp11_AuthenticationQuery_s* zx_sp11_Request_GET_AuthenticationQuery(struct zx_sp11_Request_s* x, int n); 228 struct zx_sp11_AttributeQuery_s* zx_sp11_Request_GET_AttributeQuery(struct zx_sp11_Request_s* x, int n); 229 struct zx_sp11_AuthorizationDecisionQuery_s* zx_sp11_Request_GET_AuthorizationDecisionQuery(struct zx_sp11_Request_s* x, int n); 230 struct zx_elem_s* zx_sp11_Request_GET_AssertionIDReference(struct zx_sp11_Request_s* x, int n); 231 struct zx_elem_s* zx_sp11_Request_GET_AssertionArtifact(struct zx_sp11_Request_s* x, int n); 232 233 int zx_sp11_Request_NUM_RespondWith(struct zx_sp11_Request_s* x); 234 int zx_sp11_Request_NUM_Signature(struct zx_sp11_Request_s* x); 235 int zx_sp11_Request_NUM_Query(struct zx_sp11_Request_s* x); 236 int zx_sp11_Request_NUM_SubjectQuery(struct zx_sp11_Request_s* x); 237 int zx_sp11_Request_NUM_AuthenticationQuery(struct zx_sp11_Request_s* x); 238 int zx_sp11_Request_NUM_AttributeQuery(struct zx_sp11_Request_s* x); 239 int zx_sp11_Request_NUM_AuthorizationDecisionQuery(struct zx_sp11_Request_s* x); 240 int zx_sp11_Request_NUM_AssertionIDReference(struct zx_sp11_Request_s* x); 241 int zx_sp11_Request_NUM_AssertionArtifact(struct zx_sp11_Request_s* x); 242 243 struct zx_elem_s* zx_sp11_Request_POP_RespondWith(struct zx_sp11_Request_s* x); 244 struct zx_ds_Signature_s* zx_sp11_Request_POP_Signature(struct zx_sp11_Request_s* x); 245 struct zx_elem_s* zx_sp11_Request_POP_Query(struct zx_sp11_Request_s* x); 246 struct zx_sp11_SubjectQuery_s* zx_sp11_Request_POP_SubjectQuery(struct zx_sp11_Request_s* x); 247 struct zx_sp11_AuthenticationQuery_s* zx_sp11_Request_POP_AuthenticationQuery(struct zx_sp11_Request_s* x); 248 struct zx_sp11_AttributeQuery_s* zx_sp11_Request_POP_AttributeQuery(struct zx_sp11_Request_s* x); 249 struct zx_sp11_AuthorizationDecisionQuery_s* zx_sp11_Request_POP_AuthorizationDecisionQuery(struct zx_sp11_Request_s* x); 250 struct zx_elem_s* zx_sp11_Request_POP_AssertionIDReference(struct zx_sp11_Request_s* x); 251 struct zx_elem_s* zx_sp11_Request_POP_AssertionArtifact(struct zx_sp11_Request_s* x); 252 253 void zx_sp11_Request_PUSH_RespondWith(struct zx_sp11_Request_s* x, struct zx_elem_s* y); 254 void zx_sp11_Request_PUSH_Signature(struct zx_sp11_Request_s* x, struct zx_ds_Signature_s* y); 255 void zx_sp11_Request_PUSH_Query(struct zx_sp11_Request_s* x, struct zx_elem_s* y); 256 void zx_sp11_Request_PUSH_SubjectQuery(struct zx_sp11_Request_s* x, struct zx_sp11_SubjectQuery_s* y); 257 void zx_sp11_Request_PUSH_AuthenticationQuery(struct zx_sp11_Request_s* x, struct zx_sp11_AuthenticationQuery_s* y); 258 void zx_sp11_Request_PUSH_AttributeQuery(struct zx_sp11_Request_s* x, struct zx_sp11_AttributeQuery_s* y); 259 void zx_sp11_Request_PUSH_AuthorizationDecisionQuery(struct zx_sp11_Request_s* x, struct zx_sp11_AuthorizationDecisionQuery_s* y); 260 void zx_sp11_Request_PUSH_AssertionIDReference(struct zx_sp11_Request_s* x, struct zx_elem_s* y); 261 void zx_sp11_Request_PUSH_AssertionArtifact(struct zx_sp11_Request_s* x, struct zx_elem_s* y); 262 263 void zx_sp11_Request_PUT_IssueInstant(struct zx_sp11_Request_s* x, struct zx_attr_s* y); 264 void zx_sp11_Request_PUT_MajorVersion(struct zx_sp11_Request_s* x, struct zx_attr_s* y); 265 void zx_sp11_Request_PUT_MinorVersion(struct zx_sp11_Request_s* x, struct zx_attr_s* y); 266 void zx_sp11_Request_PUT_RequestID(struct zx_sp11_Request_s* x, struct zx_attr_s* y); 267 268 void zx_sp11_Request_PUT_RespondWith(struct zx_sp11_Request_s* x, int n, struct zx_elem_s* y); 269 void zx_sp11_Request_PUT_Signature(struct zx_sp11_Request_s* x, int n, struct zx_ds_Signature_s* y); 270 void zx_sp11_Request_PUT_Query(struct zx_sp11_Request_s* x, int n, struct zx_elem_s* y); 271 void zx_sp11_Request_PUT_SubjectQuery(struct zx_sp11_Request_s* x, int n, struct zx_sp11_SubjectQuery_s* y); 272 void zx_sp11_Request_PUT_AuthenticationQuery(struct zx_sp11_Request_s* x, int n, struct zx_sp11_AuthenticationQuery_s* y); 273 void zx_sp11_Request_PUT_AttributeQuery(struct zx_sp11_Request_s* x, int n, struct zx_sp11_AttributeQuery_s* y); 274 void zx_sp11_Request_PUT_AuthorizationDecisionQuery(struct zx_sp11_Request_s* x, int n, struct zx_sp11_AuthorizationDecisionQuery_s* y); 275 void zx_sp11_Request_PUT_AssertionIDReference(struct zx_sp11_Request_s* x, int n, struct zx_elem_s* y); 276 void zx_sp11_Request_PUT_AssertionArtifact(struct zx_sp11_Request_s* x, int n, struct zx_elem_s* y); 277 278 void zx_sp11_Request_ADD_RespondWith(struct zx_sp11_Request_s* x, int n, struct zx_elem_s* z); 279 void zx_sp11_Request_ADD_Signature(struct zx_sp11_Request_s* x, int n, struct zx_ds_Signature_s* z); 280 void zx_sp11_Request_ADD_Query(struct zx_sp11_Request_s* x, int n, struct zx_elem_s* z); 281 void zx_sp11_Request_ADD_SubjectQuery(struct zx_sp11_Request_s* x, int n, struct zx_sp11_SubjectQuery_s* z); 282 void zx_sp11_Request_ADD_AuthenticationQuery(struct zx_sp11_Request_s* x, int n, struct zx_sp11_AuthenticationQuery_s* z); 283 void zx_sp11_Request_ADD_AttributeQuery(struct zx_sp11_Request_s* x, int n, struct zx_sp11_AttributeQuery_s* z); 284 void zx_sp11_Request_ADD_AuthorizationDecisionQuery(struct zx_sp11_Request_s* x, int n, struct zx_sp11_AuthorizationDecisionQuery_s* z); 285 void zx_sp11_Request_ADD_AssertionIDReference(struct zx_sp11_Request_s* x, int n, struct zx_elem_s* z); 286 void zx_sp11_Request_ADD_AssertionArtifact(struct zx_sp11_Request_s* x, int n, struct zx_elem_s* z); 287 288 void zx_sp11_Request_DEL_RespondWith(struct zx_sp11_Request_s* x,int n); 289 void zx_sp11_Request_DEL_Signature(struct zx_sp11_Request_s* x, int n); 290 void zx_sp11_Request_DEL_Query(struct zx_sp11_Request_s* x,int n); 291 void zx_sp11_Request_DEL_SubjectQuery(struct zx_sp11_Request_s* x, int n); 292 void zx_sp11_Request_DEL_AuthenticationQuery(struct zx_sp11_Request_s* x, int n); 293 void zx_sp11_Request_DEL_AttributeQuery(struct zx_sp11_Request_s* x, int n); 294 void zx_sp11_Request_DEL_AuthorizationDecisionQuery(struct zx_sp11_Request_s* x, int n); 295 void zx_sp11_Request_DEL_AssertionIDReference(struct zx_sp11_Request_s* x,int n); 296 void zx_sp11_Request_DEL_AssertionArtifact(struct zx_sp11_Request_s* x,int n); 297 298 void zx_sp11_Request_REV_RespondWith(struct zx_sp11_Request_s* x); 299 void zx_sp11_Request_REV_Signature(struct zx_sp11_Request_s* x); 300 void zx_sp11_Request_REV_Query(struct zx_sp11_Request_s* x); 301 void zx_sp11_Request_REV_SubjectQuery(struct zx_sp11_Request_s* x); 302 void zx_sp11_Request_REV_AuthenticationQuery(struct zx_sp11_Request_s* x); 303 void zx_sp11_Request_REV_AttributeQuery(struct zx_sp11_Request_s* x); 304 void zx_sp11_Request_REV_AuthorizationDecisionQuery(struct zx_sp11_Request_s* x); 305 void zx_sp11_Request_REV_AssertionIDReference(struct zx_sp11_Request_s* x); 306 void zx_sp11_Request_REV_AssertionArtifact(struct zx_sp11_Request_s* x); 307 308 #endif 309 /* -------------------------- sp11_Response -------------------------- */ 310 /* refby( zx_e_Body_s ) */ 311 #ifndef zx_sp11_Response_EXT 312 #define zx_sp11_Response_EXT 313 #endif 314 struct zx_sp11_Response_s { 315 ZX_ELEM_EXT 316 zx_sp11_Response_EXT 317 struct zx_ds_Signature_s* Signature; /* {0,1} nada */ 318 struct zx_sp11_Status_s* Status; /* {1,1} nada */ 319 struct zx_sa11_Assertion_s* Assertion; /* {0,-1} nada */ 320 struct zx_attr_s* InResponseTo; /* {0,1} attribute xs:NCName */ 321 struct zx_attr_s* IssueInstant; /* {1,1} attribute xs:dateTime */ 322 struct zx_attr_s* MajorVersion; /* {1,1} attribute xs:integer */ 323 struct zx_attr_s* MinorVersion; /* {1,1} attribute xs:integer */ 324 struct zx_attr_s* Recipient; /* {0,1} attribute xs:anyURI */ 325 struct zx_attr_s* ResponseID; /* {1,1} attribute xs:ID */ 326 }; 327 328 #define zx_NEW_sp11_Response(c, father) (struct zx_sp11_Response_s*)zx_new_elem((c),(father),zx_sp11_Response_ELEM) 329 int zx_DEC_ATTR_sp11_Response(struct zx_ctx* c, struct zx_sp11_Response_s* x); 330 int zx_DEC_ELEM_sp11_Response(struct zx_ctx* c, struct zx_sp11_Response_s* x); 331 332 #ifdef ZX_ENA_AUX 333 struct zx_sp11_Response_s* zx_DEEP_CLONE_sp11_Response(struct zx_ctx* c, struct zx_sp11_Response_s* x, int dup_strs); 334 void zx_DUP_STRS_sp11_Response(struct zx_ctx* c, struct zx_sp11_Response_s* x); 335 int zx_WALK_SO_sp11_Response(struct zx_ctx* c, struct zx_sp11_Response_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx)); 336 int zx_WALK_WO_sp11_Response(struct zx_ctx* c, struct zx_sp11_Response_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx)); 337 #endif 338 339 #ifdef ZX_ENA_GETPUT 340 struct zx_attr_s* zx_sp11_Response_GET_InResponseTo(struct zx_sp11_Response_s* x); 341 struct zx_attr_s* zx_sp11_Response_GET_IssueInstant(struct zx_sp11_Response_s* x); 342 struct zx_attr_s* zx_sp11_Response_GET_MajorVersion(struct zx_sp11_Response_s* x); 343 struct zx_attr_s* zx_sp11_Response_GET_MinorVersion(struct zx_sp11_Response_s* x); 344 struct zx_attr_s* zx_sp11_Response_GET_Recipient(struct zx_sp11_Response_s* x); 345 struct zx_attr_s* zx_sp11_Response_GET_ResponseID(struct zx_sp11_Response_s* x); 346 347 struct zx_ds_Signature_s* zx_sp11_Response_GET_Signature(struct zx_sp11_Response_s* x, int n); 348 struct zx_sp11_Status_s* zx_sp11_Response_GET_Status(struct zx_sp11_Response_s* x, int n); 349 struct zx_sa11_Assertion_s* zx_sp11_Response_GET_Assertion(struct zx_sp11_Response_s* x, int n); 350 351 int zx_sp11_Response_NUM_Signature(struct zx_sp11_Response_s* x); 352 int zx_sp11_Response_NUM_Status(struct zx_sp11_Response_s* x); 353 int zx_sp11_Response_NUM_Assertion(struct zx_sp11_Response_s* x); 354 355 struct zx_ds_Signature_s* zx_sp11_Response_POP_Signature(struct zx_sp11_Response_s* x); 356 struct zx_sp11_Status_s* zx_sp11_Response_POP_Status(struct zx_sp11_Response_s* x); 357 struct zx_sa11_Assertion_s* zx_sp11_Response_POP_Assertion(struct zx_sp11_Response_s* x); 358 359 void zx_sp11_Response_PUSH_Signature(struct zx_sp11_Response_s* x, struct zx_ds_Signature_s* y); 360 void zx_sp11_Response_PUSH_Status(struct zx_sp11_Response_s* x, struct zx_sp11_Status_s* y); 361 void zx_sp11_Response_PUSH_Assertion(struct zx_sp11_Response_s* x, struct zx_sa11_Assertion_s* y); 362 363 void zx_sp11_Response_PUT_InResponseTo(struct zx_sp11_Response_s* x, struct zx_attr_s* y); 364 void zx_sp11_Response_PUT_IssueInstant(struct zx_sp11_Response_s* x, struct zx_attr_s* y); 365 void zx_sp11_Response_PUT_MajorVersion(struct zx_sp11_Response_s* x, struct zx_attr_s* y); 366 void zx_sp11_Response_PUT_MinorVersion(struct zx_sp11_Response_s* x, struct zx_attr_s* y); 367 void zx_sp11_Response_PUT_Recipient(struct zx_sp11_Response_s* x, struct zx_attr_s* y); 368 void zx_sp11_Response_PUT_ResponseID(struct zx_sp11_Response_s* x, struct zx_attr_s* y); 369 370 void zx_sp11_Response_PUT_Signature(struct zx_sp11_Response_s* x, int n, struct zx_ds_Signature_s* y); 371 void zx_sp11_Response_PUT_Status(struct zx_sp11_Response_s* x, int n, struct zx_sp11_Status_s* y); 372 void zx_sp11_Response_PUT_Assertion(struct zx_sp11_Response_s* x, int n, struct zx_sa11_Assertion_s* y); 373 374 void zx_sp11_Response_ADD_Signature(struct zx_sp11_Response_s* x, int n, struct zx_ds_Signature_s* z); 375 void zx_sp11_Response_ADD_Status(struct zx_sp11_Response_s* x, int n, struct zx_sp11_Status_s* z); 376 void zx_sp11_Response_ADD_Assertion(struct zx_sp11_Response_s* x, int n, struct zx_sa11_Assertion_s* z); 377 378 void zx_sp11_Response_DEL_Signature(struct zx_sp11_Response_s* x, int n); 379 void zx_sp11_Response_DEL_Status(struct zx_sp11_Response_s* x, int n); 380 void zx_sp11_Response_DEL_Assertion(struct zx_sp11_Response_s* x, int n); 381 382 void zx_sp11_Response_REV_Signature(struct zx_sp11_Response_s* x); 383 void zx_sp11_Response_REV_Status(struct zx_sp11_Response_s* x); 384 void zx_sp11_Response_REV_Assertion(struct zx_sp11_Response_s* x); 385 386 #endif 387 /* -------------------------- sp11_Status -------------------------- */ 388 /* refby( zx_ff12_LogoutResponse_s zx_ff12_NameIdentifierMappingResponse_s zx_ff12_AuthnResponse_s zx_sp11_Response_s zx_ff12_RegisterNameIdentifierResponse_s ) */ 389 #ifndef zx_sp11_Status_EXT 390 #define zx_sp11_Status_EXT 391 #endif 392 struct zx_sp11_Status_s { 393 ZX_ELEM_EXT 394 zx_sp11_Status_EXT 395 struct zx_sp11_StatusCode_s* StatusCode; /* {1,1} nada */ 396 struct zx_elem_s* StatusMessage; /* {0,1} xs:string */ 397 struct zx_sp11_StatusDetail_s* StatusDetail; /* {0,1} */ 398 }; 399 400 #define zx_NEW_sp11_Status(c, father) (struct zx_sp11_Status_s*)zx_new_elem((c),(father),zx_sp11_Status_ELEM) 401 int zx_DEC_ATTR_sp11_Status(struct zx_ctx* c, struct zx_sp11_Status_s* x); 402 int zx_DEC_ELEM_sp11_Status(struct zx_ctx* c, struct zx_sp11_Status_s* x); 403 404 #ifdef ZX_ENA_AUX 405 struct zx_sp11_Status_s* zx_DEEP_CLONE_sp11_Status(struct zx_ctx* c, struct zx_sp11_Status_s* x, int dup_strs); 406 void zx_DUP_STRS_sp11_Status(struct zx_ctx* c, struct zx_sp11_Status_s* x); 407 int zx_WALK_SO_sp11_Status(struct zx_ctx* c, struct zx_sp11_Status_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx)); 408 int zx_WALK_WO_sp11_Status(struct zx_ctx* c, struct zx_sp11_Status_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx)); 409 #endif 410 411 #ifdef ZX_ENA_GETPUT 412 413 struct zx_sp11_StatusCode_s* zx_sp11_Status_GET_StatusCode(struct zx_sp11_Status_s* x, int n); 414 struct zx_elem_s* zx_sp11_Status_GET_StatusMessage(struct zx_sp11_Status_s* x, int n); 415 struct zx_sp11_StatusDetail_s* zx_sp11_Status_GET_StatusDetail(struct zx_sp11_Status_s* x, int n); 416 417 int zx_sp11_Status_NUM_StatusCode(struct zx_sp11_Status_s* x); 418 int zx_sp11_Status_NUM_StatusMessage(struct zx_sp11_Status_s* x); 419 int zx_sp11_Status_NUM_StatusDetail(struct zx_sp11_Status_s* x); 420 421 struct zx_sp11_StatusCode_s* zx_sp11_Status_POP_StatusCode(struct zx_sp11_Status_s* x); 422 struct zx_elem_s* zx_sp11_Status_POP_StatusMessage(struct zx_sp11_Status_s* x); 423 struct zx_sp11_StatusDetail_s* zx_sp11_Status_POP_StatusDetail(struct zx_sp11_Status_s* x); 424 425 void zx_sp11_Status_PUSH_StatusCode(struct zx_sp11_Status_s* x, struct zx_sp11_StatusCode_s* y); 426 void zx_sp11_Status_PUSH_StatusMessage(struct zx_sp11_Status_s* x, struct zx_elem_s* y); 427 void zx_sp11_Status_PUSH_StatusDetail(struct zx_sp11_Status_s* x, struct zx_sp11_StatusDetail_s* y); 428 429 430 void zx_sp11_Status_PUT_StatusCode(struct zx_sp11_Status_s* x, int n, struct zx_sp11_StatusCode_s* y); 431 void zx_sp11_Status_PUT_StatusMessage(struct zx_sp11_Status_s* x, int n, struct zx_elem_s* y); 432 void zx_sp11_Status_PUT_StatusDetail(struct zx_sp11_Status_s* x, int n, struct zx_sp11_StatusDetail_s* y); 433 434 void zx_sp11_Status_ADD_StatusCode(struct zx_sp11_Status_s* x, int n, struct zx_sp11_StatusCode_s* z); 435 void zx_sp11_Status_ADD_StatusMessage(struct zx_sp11_Status_s* x, int n, struct zx_elem_s* z); 436 void zx_sp11_Status_ADD_StatusDetail(struct zx_sp11_Status_s* x, int n, struct zx_sp11_StatusDetail_s* z); 437 438 void zx_sp11_Status_DEL_StatusCode(struct zx_sp11_Status_s* x, int n); 439 void zx_sp11_Status_DEL_StatusMessage(struct zx_sp11_Status_s* x,int n); 440 void zx_sp11_Status_DEL_StatusDetail(struct zx_sp11_Status_s* x, int n); 441 442 void zx_sp11_Status_REV_StatusCode(struct zx_sp11_Status_s* x); 443 void zx_sp11_Status_REV_StatusMessage(struct zx_sp11_Status_s* x); 444 void zx_sp11_Status_REV_StatusDetail(struct zx_sp11_Status_s* x); 445 446 #endif 447 /* -------------------------- sp11_StatusCode -------------------------- */ 448 /* refby( zx_sp11_StatusCode_s zx_sp11_Status_s ) */ 449 #ifndef zx_sp11_StatusCode_EXT 450 #define zx_sp11_StatusCode_EXT 451 #endif 452 struct zx_sp11_StatusCode_s { 453 ZX_ELEM_EXT 454 zx_sp11_StatusCode_EXT 455 struct zx_sp11_StatusCode_s* StatusCode; /* {0,1} nada */ 456 struct zx_attr_s* Value; /* {1,1} attribute xs:QName */ 457 }; 458 459 #define zx_NEW_sp11_StatusCode(c, father) (struct zx_sp11_StatusCode_s*)zx_new_elem((c),(father),zx_sp11_StatusCode_ELEM) 460 int zx_DEC_ATTR_sp11_StatusCode(struct zx_ctx* c, struct zx_sp11_StatusCode_s* x); 461 int zx_DEC_ELEM_sp11_StatusCode(struct zx_ctx* c, struct zx_sp11_StatusCode_s* x); 462 463 #ifdef ZX_ENA_AUX 464 struct zx_sp11_StatusCode_s* zx_DEEP_CLONE_sp11_StatusCode(struct zx_ctx* c, struct zx_sp11_StatusCode_s* x, int dup_strs); 465 void zx_DUP_STRS_sp11_StatusCode(struct zx_ctx* c, struct zx_sp11_StatusCode_s* x); 466 int zx_WALK_SO_sp11_StatusCode(struct zx_ctx* c, struct zx_sp11_StatusCode_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx)); 467 int zx_WALK_WO_sp11_StatusCode(struct zx_ctx* c, struct zx_sp11_StatusCode_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx)); 468 #endif 469 470 #ifdef ZX_ENA_GETPUT 471 struct zx_attr_s* zx_sp11_StatusCode_GET_Value(struct zx_sp11_StatusCode_s* x); 472 473 struct zx_sp11_StatusCode_s* zx_sp11_StatusCode_GET_StatusCode(struct zx_sp11_StatusCode_s* x, int n); 474 475 int zx_sp11_StatusCode_NUM_StatusCode(struct zx_sp11_StatusCode_s* x); 476 477 struct zx_sp11_StatusCode_s* zx_sp11_StatusCode_POP_StatusCode(struct zx_sp11_StatusCode_s* x); 478 479 void zx_sp11_StatusCode_PUSH_StatusCode(struct zx_sp11_StatusCode_s* x, struct zx_sp11_StatusCode_s* y); 480 481 void zx_sp11_StatusCode_PUT_Value(struct zx_sp11_StatusCode_s* x, struct zx_attr_s* y); 482 483 void zx_sp11_StatusCode_PUT_StatusCode(struct zx_sp11_StatusCode_s* x, int n, struct zx_sp11_StatusCode_s* y); 484 485 void zx_sp11_StatusCode_ADD_StatusCode(struct zx_sp11_StatusCode_s* x, int n, struct zx_sp11_StatusCode_s* z); 486 487 void zx_sp11_StatusCode_DEL_StatusCode(struct zx_sp11_StatusCode_s* x, int n); 488 489 void zx_sp11_StatusCode_REV_StatusCode(struct zx_sp11_StatusCode_s* x); 490 491 #endif 492 /* -------------------------- sp11_StatusDetail -------------------------- */ 493 /* refby( zx_sp11_Status_s ) */ 494 #ifndef zx_sp11_StatusDetail_EXT 495 #define zx_sp11_StatusDetail_EXT 496 #endif 497 struct zx_sp11_StatusDetail_s { 498 ZX_ELEM_EXT 499 zx_sp11_StatusDetail_EXT 500 }; 501 502 #define zx_NEW_sp11_StatusDetail(c, father) (struct zx_sp11_StatusDetail_s*)zx_new_elem((c),(father),zx_sp11_StatusDetail_ELEM) 503 int zx_DEC_ATTR_sp11_StatusDetail(struct zx_ctx* c, struct zx_sp11_StatusDetail_s* x); 504 int zx_DEC_ELEM_sp11_StatusDetail(struct zx_ctx* c, struct zx_sp11_StatusDetail_s* x); 505 506 #ifdef ZX_ENA_AUX 507 struct zx_sp11_StatusDetail_s* zx_DEEP_CLONE_sp11_StatusDetail(struct zx_ctx* c, struct zx_sp11_StatusDetail_s* x, int dup_strs); 508 void zx_DUP_STRS_sp11_StatusDetail(struct zx_ctx* c, struct zx_sp11_StatusDetail_s* x); 509 int zx_WALK_SO_sp11_StatusDetail(struct zx_ctx* c, struct zx_sp11_StatusDetail_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx)); 510 int zx_WALK_WO_sp11_StatusDetail(struct zx_ctx* c, struct zx_sp11_StatusDetail_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx)); 511 #endif 512 513 #ifdef ZX_ENA_GETPUT 514 515 516 517 518 519 520 521 522 523 524 #endif 525 /* -------------------------- sp11_SubjectQuery -------------------------- */ 526 /* refby( zx_sp11_Request_s ) */ 527 #ifndef zx_sp11_SubjectQuery_EXT 528 #define zx_sp11_SubjectQuery_EXT 529 #endif 530 struct zx_sp11_SubjectQuery_s { 531 ZX_ELEM_EXT 532 zx_sp11_SubjectQuery_EXT 533 struct zx_sa11_Subject_s* Subject; /* {1,1} nada */ 534 }; 535 536 #define zx_NEW_sp11_SubjectQuery(c, father) (struct zx_sp11_SubjectQuery_s*)zx_new_elem((c),(father),zx_sp11_SubjectQuery_ELEM) 537 int zx_DEC_ATTR_sp11_SubjectQuery(struct zx_ctx* c, struct zx_sp11_SubjectQuery_s* x); 538 int zx_DEC_ELEM_sp11_SubjectQuery(struct zx_ctx* c, struct zx_sp11_SubjectQuery_s* x); 539 540 #ifdef ZX_ENA_AUX 541 struct zx_sp11_SubjectQuery_s* zx_DEEP_CLONE_sp11_SubjectQuery(struct zx_ctx* c, struct zx_sp11_SubjectQuery_s* x, int dup_strs); 542 void zx_DUP_STRS_sp11_SubjectQuery(struct zx_ctx* c, struct zx_sp11_SubjectQuery_s* x); 543 int zx_WALK_SO_sp11_SubjectQuery(struct zx_ctx* c, struct zx_sp11_SubjectQuery_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx)); 544 int zx_WALK_WO_sp11_SubjectQuery(struct zx_ctx* c, struct zx_sp11_SubjectQuery_s* x, void* ctx, int (*callback)(struct zx_node_s* node, void* ctx)); 545 #endif 546 547 #ifdef ZX_ENA_GETPUT 548 549 struct zx_sa11_Subject_s* zx_sp11_SubjectQuery_GET_Subject(struct zx_sp11_SubjectQuery_s* x, int n); 550 551 int zx_sp11_SubjectQuery_NUM_Subject(struct zx_sp11_SubjectQuery_s* x); 552 553 struct zx_sa11_Subject_s* zx_sp11_SubjectQuery_POP_Subject(struct zx_sp11_SubjectQuery_s* x); 554 555 void zx_sp11_SubjectQuery_PUSH_Subject(struct zx_sp11_SubjectQuery_s* x, struct zx_sa11_Subject_s* y); 556 557 558 void zx_sp11_SubjectQuery_PUT_Subject(struct zx_sp11_SubjectQuery_s* x, int n, struct zx_sa11_Subject_s* y); 559 560 void zx_sp11_SubjectQuery_ADD_Subject(struct zx_sp11_SubjectQuery_s* x, int n, struct zx_sa11_Subject_s* z); 561 562 void zx_sp11_SubjectQuery_DEL_Subject(struct zx_sp11_SubjectQuery_s* x, int n); 563 564 void zx_sp11_SubjectQuery_REV_Subject(struct zx_sp11_SubjectQuery_s* x); 565 566 #endif 567 568 #endif 569