1*12720SWyllys.Ingersoll@Sun.COM /*
2*12720SWyllys.Ingersoll@Sun.COM  * CDDL HEADER START
3*12720SWyllys.Ingersoll@Sun.COM  *
4*12720SWyllys.Ingersoll@Sun.COM  * The contents of this file are subject to the terms of the
5*12720SWyllys.Ingersoll@Sun.COM  * Common Development and Distribution License (the "License").
6*12720SWyllys.Ingersoll@Sun.COM  * You may not use this file except in compliance with the License.
7*12720SWyllys.Ingersoll@Sun.COM  *
8*12720SWyllys.Ingersoll@Sun.COM  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*12720SWyllys.Ingersoll@Sun.COM  * or http://www.opensolaris.org/os/licensing.
10*12720SWyllys.Ingersoll@Sun.COM  * See the License for the specific language governing permissions
11*12720SWyllys.Ingersoll@Sun.COM  * and limitations under the License.
12*12720SWyllys.Ingersoll@Sun.COM  *
13*12720SWyllys.Ingersoll@Sun.COM  * When distributing Covered Code, include this CDDL HEADER in each
14*12720SWyllys.Ingersoll@Sun.COM  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*12720SWyllys.Ingersoll@Sun.COM  * If applicable, add the following below this CDDL HEADER, with the
16*12720SWyllys.Ingersoll@Sun.COM  * fields enclosed by brackets "[]" replaced with your own identifying
17*12720SWyllys.Ingersoll@Sun.COM  * information: Portions Copyright [yyyy] [name of copyright owner]
18*12720SWyllys.Ingersoll@Sun.COM  *
19*12720SWyllys.Ingersoll@Sun.COM  * CDDL HEADER END
20*12720SWyllys.Ingersoll@Sun.COM  */
21*12720SWyllys.Ingersoll@Sun.COM 
22*12720SWyllys.Ingersoll@Sun.COM /*
23*12720SWyllys.Ingersoll@Sun.COM  * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
24*12720SWyllys.Ingersoll@Sun.COM  */
25*12720SWyllys.Ingersoll@Sun.COM 
26*12720SWyllys.Ingersoll@Sun.COM /* envC.cpp
27*12720SWyllys.Ingersoll@Sun.COM    Generated by gSOAP 2.7.17 from ../gsoapStubs/Env/env.h
28*12720SWyllys.Ingersoll@Sun.COM    Copyright(C) 2000-2010, Robert van Engelen, Genivia Inc. All Rights Reserved.
29*12720SWyllys.Ingersoll@Sun.COM    This part of the software is released under one of the following licenses:
30*12720SWyllys.Ingersoll@Sun.COM    GPL, the gSOAP public license, or Genivia's license for commercial use.
31*12720SWyllys.Ingersoll@Sun.COM */
32*12720SWyllys.Ingersoll@Sun.COM 
33*12720SWyllys.Ingersoll@Sun.COM #if defined(__BORLANDC__)
34*12720SWyllys.Ingersoll@Sun.COM #pragma option push -w-8060
35*12720SWyllys.Ingersoll@Sun.COM #pragma option push -w-8004
36*12720SWyllys.Ingersoll@Sun.COM #endif
37*12720SWyllys.Ingersoll@Sun.COM 
38*12720SWyllys.Ingersoll@Sun.COM #include "envH.h"
39*12720SWyllys.Ingersoll@Sun.COM 
40*12720SWyllys.Ingersoll@Sun.COM SOAP_SOURCE_STAMP("@(#) envC.cpp ver 2.7.17 2010-06-08 19:16:38 GMT")
41*12720SWyllys.Ingersoll@Sun.COM 
42*12720SWyllys.Ingersoll@Sun.COM 
43*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NOGLOBAL
44*12720SWyllys.Ingersoll@Sun.COM 
45*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_serializeheader(struct soap *soap)
46*12720SWyllys.Ingersoll@Sun.COM {
47*12720SWyllys.Ingersoll@Sun.COM 	if (soap->header)
48*12720SWyllys.Ingersoll@Sun.COM 		soap_serialize_SOAP_ENV__Header(soap, soap->header);
49*12720SWyllys.Ingersoll@Sun.COM }
50*12720SWyllys.Ingersoll@Sun.COM 
51*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_putheader(struct soap *soap)
52*12720SWyllys.Ingersoll@Sun.COM {
53*12720SWyllys.Ingersoll@Sun.COM 	if (soap->header)
54*12720SWyllys.Ingersoll@Sun.COM 	{	soap->part = SOAP_IN_HEADER;
55*12720SWyllys.Ingersoll@Sun.COM 		if (soap_out_SOAP_ENV__Header(soap, "SOAP-ENV:Header", 0, soap->header, NULL))
56*12720SWyllys.Ingersoll@Sun.COM 			return soap->error;
57*12720SWyllys.Ingersoll@Sun.COM 		soap->part = SOAP_END_HEADER;
58*12720SWyllys.Ingersoll@Sun.COM 	}
59*12720SWyllys.Ingersoll@Sun.COM 	return SOAP_OK;
60*12720SWyllys.Ingersoll@Sun.COM }
61*12720SWyllys.Ingersoll@Sun.COM 
62*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_getheader(struct soap *soap)
63*12720SWyllys.Ingersoll@Sun.COM {
64*12720SWyllys.Ingersoll@Sun.COM 	soap->part = SOAP_IN_HEADER;
65*12720SWyllys.Ingersoll@Sun.COM 	soap->header = soap_in_SOAP_ENV__Header(soap, "SOAP-ENV:Header", NULL, NULL);
66*12720SWyllys.Ingersoll@Sun.COM 	soap->part = SOAP_END_HEADER;
67*12720SWyllys.Ingersoll@Sun.COM 	return soap->header == NULL;
68*12720SWyllys.Ingersoll@Sun.COM }
69*12720SWyllys.Ingersoll@Sun.COM 
70*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_header(struct soap *soap)
71*12720SWyllys.Ingersoll@Sun.COM {
72*12720SWyllys.Ingersoll@Sun.COM 	if (!soap->header)
73*12720SWyllys.Ingersoll@Sun.COM 	{	if ((soap->header = soap_new_SOAP_ENV__Header(soap, -1)))
74*12720SWyllys.Ingersoll@Sun.COM 			soap_default_SOAP_ENV__Header(soap, soap->header);
75*12720SWyllys.Ingersoll@Sun.COM 	}
76*12720SWyllys.Ingersoll@Sun.COM }
77*12720SWyllys.Ingersoll@Sun.COM 
78*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_fault(struct soap *soap)
79*12720SWyllys.Ingersoll@Sun.COM {
80*12720SWyllys.Ingersoll@Sun.COM 	if (!soap->fault)
81*12720SWyllys.Ingersoll@Sun.COM 	{	soap->fault = soap_new_SOAP_ENV__Fault(soap, -1);
82*12720SWyllys.Ingersoll@Sun.COM 		if (!soap->fault)
83*12720SWyllys.Ingersoll@Sun.COM 			return;
84*12720SWyllys.Ingersoll@Sun.COM 		soap_default_SOAP_ENV__Fault(soap, soap->fault);
85*12720SWyllys.Ingersoll@Sun.COM 	}
86*12720SWyllys.Ingersoll@Sun.COM 	if (soap->version == 2 && !soap->fault->SOAP_ENV__Code)
87*12720SWyllys.Ingersoll@Sun.COM 	{	soap->fault->SOAP_ENV__Code = soap_new_SOAP_ENV__Code(soap, -1);
88*12720SWyllys.Ingersoll@Sun.COM 		soap_default_SOAP_ENV__Code(soap, soap->fault->SOAP_ENV__Code);
89*12720SWyllys.Ingersoll@Sun.COM 	}
90*12720SWyllys.Ingersoll@Sun.COM 	if (soap->version == 2 && !soap->fault->SOAP_ENV__Reason)
91*12720SWyllys.Ingersoll@Sun.COM 	{	soap->fault->SOAP_ENV__Reason = soap_new_SOAP_ENV__Reason(soap, -1);
92*12720SWyllys.Ingersoll@Sun.COM 		soap_default_SOAP_ENV__Reason(soap, soap->fault->SOAP_ENV__Reason);
93*12720SWyllys.Ingersoll@Sun.COM 	}
94*12720SWyllys.Ingersoll@Sun.COM }
95*12720SWyllys.Ingersoll@Sun.COM 
96*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_serializefault(struct soap *soap)
97*12720SWyllys.Ingersoll@Sun.COM {
98*12720SWyllys.Ingersoll@Sun.COM 	soap_fault(soap);
99*12720SWyllys.Ingersoll@Sun.COM 	if (soap->fault)
100*12720SWyllys.Ingersoll@Sun.COM 		soap_serialize_SOAP_ENV__Fault(soap, soap->fault);
101*12720SWyllys.Ingersoll@Sun.COM }
102*12720SWyllys.Ingersoll@Sun.COM 
103*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_putfault(struct soap *soap)
104*12720SWyllys.Ingersoll@Sun.COM {
105*12720SWyllys.Ingersoll@Sun.COM 	if (soap->fault)
106*12720SWyllys.Ingersoll@Sun.COM 		return soap_put_SOAP_ENV__Fault(soap, soap->fault, "SOAP-ENV:Fault", NULL);
107*12720SWyllys.Ingersoll@Sun.COM 	return SOAP_OK;
108*12720SWyllys.Ingersoll@Sun.COM }
109*12720SWyllys.Ingersoll@Sun.COM 
110*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_getfault(struct soap *soap)
111*12720SWyllys.Ingersoll@Sun.COM {
112*12720SWyllys.Ingersoll@Sun.COM 	return (soap->fault = soap_get_SOAP_ENV__Fault(soap, NULL, "SOAP-ENV:Fault", NULL)) == NULL;
113*12720SWyllys.Ingersoll@Sun.COM }
114*12720SWyllys.Ingersoll@Sun.COM 
115*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultcode(struct soap *soap)
116*12720SWyllys.Ingersoll@Sun.COM {
117*12720SWyllys.Ingersoll@Sun.COM 	soap_fault(soap);
118*12720SWyllys.Ingersoll@Sun.COM 	if (soap->version == 2)
119*12720SWyllys.Ingersoll@Sun.COM 		return (const char**)&soap->fault->SOAP_ENV__Code->SOAP_ENV__Value;
120*12720SWyllys.Ingersoll@Sun.COM 	return (const char**)&soap->fault->faultcode;
121*12720SWyllys.Ingersoll@Sun.COM }
122*12720SWyllys.Ingersoll@Sun.COM 
123*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultsubcode(struct soap *soap)
124*12720SWyllys.Ingersoll@Sun.COM {
125*12720SWyllys.Ingersoll@Sun.COM 	soap_fault(soap);
126*12720SWyllys.Ingersoll@Sun.COM 	if (soap->version == 2)
127*12720SWyllys.Ingersoll@Sun.COM 	{	if (!soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode)
128*12720SWyllys.Ingersoll@Sun.COM 		{	soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode = soap_new_SOAP_ENV__Code(soap, -1);
129*12720SWyllys.Ingersoll@Sun.COM 			soap_default_SOAP_ENV__Code(soap, soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode);
130*12720SWyllys.Ingersoll@Sun.COM 		}
131*12720SWyllys.Ingersoll@Sun.COM 		return (const char**)&soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode->SOAP_ENV__Value;
132*12720SWyllys.Ingersoll@Sun.COM 	}
133*12720SWyllys.Ingersoll@Sun.COM 	return (const char**)&soap->fault->faultcode;
134*12720SWyllys.Ingersoll@Sun.COM }
135*12720SWyllys.Ingersoll@Sun.COM 
136*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultstring(struct soap *soap)
137*12720SWyllys.Ingersoll@Sun.COM {
138*12720SWyllys.Ingersoll@Sun.COM 	soap_fault(soap);
139*12720SWyllys.Ingersoll@Sun.COM 	if (soap->version == 2)
140*12720SWyllys.Ingersoll@Sun.COM 		return (const char**)&soap->fault->SOAP_ENV__Reason->SOAP_ENV__Text;
141*12720SWyllys.Ingersoll@Sun.COM 	return (const char**)&soap->fault->faultstring;
142*12720SWyllys.Ingersoll@Sun.COM }
143*12720SWyllys.Ingersoll@Sun.COM 
144*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultdetail(struct soap *soap)
145*12720SWyllys.Ingersoll@Sun.COM {
146*12720SWyllys.Ingersoll@Sun.COM 	soap_fault(soap);
147*12720SWyllys.Ingersoll@Sun.COM 	if (soap->version == 1)
148*12720SWyllys.Ingersoll@Sun.COM 	{	if (!soap->fault->detail)
149*12720SWyllys.Ingersoll@Sun.COM 		{	soap->fault->detail = (struct SOAP_ENV__Detail*)soap_malloc(soap, sizeof(struct SOAP_ENV__Detail));
150*12720SWyllys.Ingersoll@Sun.COM 			soap_default_SOAP_ENV__Detail(soap, soap->fault->detail);
151*12720SWyllys.Ingersoll@Sun.COM 		}
152*12720SWyllys.Ingersoll@Sun.COM 		return (const char**)&soap->fault->detail->__any;
153*12720SWyllys.Ingersoll@Sun.COM 	}
154*12720SWyllys.Ingersoll@Sun.COM 	if (!soap->fault->SOAP_ENV__Detail)
155*12720SWyllys.Ingersoll@Sun.COM 	{	soap->fault->SOAP_ENV__Detail = soap_new_SOAP_ENV__Detail(soap, -1);
156*12720SWyllys.Ingersoll@Sun.COM 		soap_default_SOAP_ENV__Detail(soap, soap->fault->SOAP_ENV__Detail);
157*12720SWyllys.Ingersoll@Sun.COM 	}
158*12720SWyllys.Ingersoll@Sun.COM 	return (const char**)&soap->fault->SOAP_ENV__Detail->__any;
159*12720SWyllys.Ingersoll@Sun.COM }
160*12720SWyllys.Ingersoll@Sun.COM 
161*12720SWyllys.Ingersoll@Sun.COM #endif
162*12720SWyllys.Ingersoll@Sun.COM 
163*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NOIDREF
164*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_getindependent(struct soap *soap)
165*12720SWyllys.Ingersoll@Sun.COM {
166*12720SWyllys.Ingersoll@Sun.COM 	int t;
167*12720SWyllys.Ingersoll@Sun.COM 	if (soap->version == 1)
168*12720SWyllys.Ingersoll@Sun.COM 	{	for (;;)
169*12720SWyllys.Ingersoll@Sun.COM 		{	if (!soap_getelement(soap, &t))
170*12720SWyllys.Ingersoll@Sun.COM 				if (soap->error || soap_ignore_element(soap))
171*12720SWyllys.Ingersoll@Sun.COM 					break;
172*12720SWyllys.Ingersoll@Sun.COM 		}
173*12720SWyllys.Ingersoll@Sun.COM 	}
174*12720SWyllys.Ingersoll@Sun.COM 	if (soap->error == SOAP_NO_TAG || soap->error == SOAP_EOF)
175*12720SWyllys.Ingersoll@Sun.COM 		soap->error = SOAP_OK;
176*12720SWyllys.Ingersoll@Sun.COM 	return soap->error;
177*12720SWyllys.Ingersoll@Sun.COM }
178*12720SWyllys.Ingersoll@Sun.COM #endif
179*12720SWyllys.Ingersoll@Sun.COM 
180*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NOIDREF
181*12720SWyllys.Ingersoll@Sun.COM 
182*12720SWyllys.Ingersoll@Sun.COM #ifdef __cplusplus
183*12720SWyllys.Ingersoll@Sun.COM extern "C" {
184*12720SWyllys.Ingersoll@Sun.COM #endif
185*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void * SOAP_FMAC4 soap_getelement(struct soap *soap, int *type)
186*12720SWyllys.Ingersoll@Sun.COM {
187*12720SWyllys.Ingersoll@Sun.COM 	if (soap_peek_element(soap))
188*12720SWyllys.Ingersoll@Sun.COM 		return NULL;
189*12720SWyllys.Ingersoll@Sun.COM 	if (!*soap->id || !(*type = soap_lookup_type(soap, soap->id)))
190*12720SWyllys.Ingersoll@Sun.COM 		*type = soap_lookup_type(soap, soap->href);
191*12720SWyllys.Ingersoll@Sun.COM 	switch (*type)
192*12720SWyllys.Ingersoll@Sun.COM 	{
193*12720SWyllys.Ingersoll@Sun.COM 	case SOAP_TYPE_byte:
194*12720SWyllys.Ingersoll@Sun.COM 		return soap_in_byte(soap, NULL, NULL, "xsd:byte");
195*12720SWyllys.Ingersoll@Sun.COM 	case SOAP_TYPE_int:
196*12720SWyllys.Ingersoll@Sun.COM 		return soap_in_int(soap, NULL, NULL, "xsd:int");
197*12720SWyllys.Ingersoll@Sun.COM 	case SOAP_TYPE__QName:
198*12720SWyllys.Ingersoll@Sun.COM 	{	char **s;
199*12720SWyllys.Ingersoll@Sun.COM 		s = soap_in__QName(soap, NULL, NULL, "xsd:QName");
200*12720SWyllys.Ingersoll@Sun.COM 		return s ? *s : NULL;
201*12720SWyllys.Ingersoll@Sun.COM 	}
202*12720SWyllys.Ingersoll@Sun.COM 	case SOAP_TYPE_string:
203*12720SWyllys.Ingersoll@Sun.COM 	{	char **s;
204*12720SWyllys.Ingersoll@Sun.COM 		s = soap_in_string(soap, NULL, NULL, "xsd:string");
205*12720SWyllys.Ingersoll@Sun.COM 		return s ? *s : NULL;
206*12720SWyllys.Ingersoll@Sun.COM 	}
207*12720SWyllys.Ingersoll@Sun.COM 	default:
208*12720SWyllys.Ingersoll@Sun.COM 	{	const char *t = soap->type;
209*12720SWyllys.Ingersoll@Sun.COM 		if (!*t)
210*12720SWyllys.Ingersoll@Sun.COM 			t = soap->tag;
211*12720SWyllys.Ingersoll@Sun.COM 		if (!soap_match_tag(soap, t, "xsd:byte"))
212*12720SWyllys.Ingersoll@Sun.COM 		{	*type = SOAP_TYPE_byte;
213*12720SWyllys.Ingersoll@Sun.COM 			return soap_in_byte(soap, NULL, NULL, NULL);
214*12720SWyllys.Ingersoll@Sun.COM 		}
215*12720SWyllys.Ingersoll@Sun.COM 		if (!soap_match_tag(soap, t, "xsd:int"))
216*12720SWyllys.Ingersoll@Sun.COM 		{	*type = SOAP_TYPE_int;
217*12720SWyllys.Ingersoll@Sun.COM 			return soap_in_int(soap, NULL, NULL, NULL);
218*12720SWyllys.Ingersoll@Sun.COM 		}
219*12720SWyllys.Ingersoll@Sun.COM 		if (!soap_match_tag(soap, t, "xsd:QName"))
220*12720SWyllys.Ingersoll@Sun.COM 		{	char **s;
221*12720SWyllys.Ingersoll@Sun.COM 			*type = SOAP_TYPE__QName;
222*12720SWyllys.Ingersoll@Sun.COM 			s = soap_in__QName(soap, NULL, NULL, NULL);
223*12720SWyllys.Ingersoll@Sun.COM 			return s ? *s : NULL;
224*12720SWyllys.Ingersoll@Sun.COM 		}
225*12720SWyllys.Ingersoll@Sun.COM 		if (!soap_match_tag(soap, t, "xsd:string"))
226*12720SWyllys.Ingersoll@Sun.COM 		{	char **s;
227*12720SWyllys.Ingersoll@Sun.COM 			*type = SOAP_TYPE_string;
228*12720SWyllys.Ingersoll@Sun.COM 			s = soap_in_string(soap, NULL, NULL, NULL);
229*12720SWyllys.Ingersoll@Sun.COM 			return s ? *s : NULL;
230*12720SWyllys.Ingersoll@Sun.COM 		}
231*12720SWyllys.Ingersoll@Sun.COM 		t = soap->tag;
232*12720SWyllys.Ingersoll@Sun.COM 	}
233*12720SWyllys.Ingersoll@Sun.COM 	}
234*12720SWyllys.Ingersoll@Sun.COM 	soap->error = SOAP_TAG_MISMATCH;
235*12720SWyllys.Ingersoll@Sun.COM 	return NULL;
236*12720SWyllys.Ingersoll@Sun.COM }
237*12720SWyllys.Ingersoll@Sun.COM 
238*12720SWyllys.Ingersoll@Sun.COM #ifdef __cplusplus
239*12720SWyllys.Ingersoll@Sun.COM }
240*12720SWyllys.Ingersoll@Sun.COM #endif
241*12720SWyllys.Ingersoll@Sun.COM #endif
242*12720SWyllys.Ingersoll@Sun.COM 
243*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_ignore_element(struct soap *soap)
244*12720SWyllys.Ingersoll@Sun.COM {
245*12720SWyllys.Ingersoll@Sun.COM 	if (!soap_peek_element(soap))
246*12720SWyllys.Ingersoll@Sun.COM 	{	int t;
247*12720SWyllys.Ingersoll@Sun.COM 		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Unexpected element '%s' in input (level=%u, %d)\n", soap->tag, soap->level, soap->body));
248*12720SWyllys.Ingersoll@Sun.COM 		if (soap->mustUnderstand && !soap->other)
249*12720SWyllys.Ingersoll@Sun.COM 			return soap->error = SOAP_MUSTUNDERSTAND;
250*12720SWyllys.Ingersoll@Sun.COM 		if (((soap->mode & SOAP_XML_STRICT) && soap->part != SOAP_IN_HEADER) || !soap_match_tag(soap, soap->tag, "SOAP-ENV:"))
251*12720SWyllys.Ingersoll@Sun.COM 		{	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "REJECTING element '%s'\n", soap->tag));
252*12720SWyllys.Ingersoll@Sun.COM 			return soap->error = SOAP_TAG_MISMATCH;
253*12720SWyllys.Ingersoll@Sun.COM 		}
254*12720SWyllys.Ingersoll@Sun.COM 		if (!*soap->id || !soap_getelement(soap, &t))
255*12720SWyllys.Ingersoll@Sun.COM 		{	soap->peeked = 0;
256*12720SWyllys.Ingersoll@Sun.COM 			if (soap->fignore)
257*12720SWyllys.Ingersoll@Sun.COM 				soap->error = soap->fignore(soap, soap->tag);
258*12720SWyllys.Ingersoll@Sun.COM 			else
259*12720SWyllys.Ingersoll@Sun.COM 				soap->error = SOAP_OK;
260*12720SWyllys.Ingersoll@Sun.COM 			DBGLOG(TEST, if (!soap->error) SOAP_MESSAGE(fdebug, "IGNORING element '%s'\n", soap->tag));
261*12720SWyllys.Ingersoll@Sun.COM 			if (!soap->error && soap->body)
262*12720SWyllys.Ingersoll@Sun.COM 			{	soap->level++;
263*12720SWyllys.Ingersoll@Sun.COM 				while (!soap_ignore_element(soap))
264*12720SWyllys.Ingersoll@Sun.COM 					;
265*12720SWyllys.Ingersoll@Sun.COM 				if (soap->error == SOAP_NO_TAG)
266*12720SWyllys.Ingersoll@Sun.COM 					soap->error = soap_element_end_in(soap, NULL);
267*12720SWyllys.Ingersoll@Sun.COM 			}
268*12720SWyllys.Ingersoll@Sun.COM 		}
269*12720SWyllys.Ingersoll@Sun.COM 	}
270*12720SWyllys.Ingersoll@Sun.COM 	return soap->error;
271*12720SWyllys.Ingersoll@Sun.COM }
272*12720SWyllys.Ingersoll@Sun.COM 
273*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NOIDREF
274*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_putindependent(struct soap *soap)
275*12720SWyllys.Ingersoll@Sun.COM {
276*12720SWyllys.Ingersoll@Sun.COM 	int i;
277*12720SWyllys.Ingersoll@Sun.COM 	struct soap_plist *pp;
278*12720SWyllys.Ingersoll@Sun.COM 	if (soap->version == 1 && soap->encodingStyle && !(soap->mode & (SOAP_XML_TREE | SOAP_XML_GRAPH)))
279*12720SWyllys.Ingersoll@Sun.COM 		for (i = 0; i < SOAP_PTRHASH; i++)
280*12720SWyllys.Ingersoll@Sun.COM 			for (pp = soap->pht[i]; pp; pp = pp->next)
281*12720SWyllys.Ingersoll@Sun.COM 				if (pp->mark1 == 2 || pp->mark2 == 2)
282*12720SWyllys.Ingersoll@Sun.COM 					if (soap_putelement(soap, pp->ptr, "id", pp->id, pp->type))
283*12720SWyllys.Ingersoll@Sun.COM 						return soap->error;
284*12720SWyllys.Ingersoll@Sun.COM 	return SOAP_OK;
285*12720SWyllys.Ingersoll@Sun.COM }
286*12720SWyllys.Ingersoll@Sun.COM #endif
287*12720SWyllys.Ingersoll@Sun.COM 
288*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NOIDREF
289*12720SWyllys.Ingersoll@Sun.COM 
290*12720SWyllys.Ingersoll@Sun.COM #ifdef __cplusplus
291*12720SWyllys.Ingersoll@Sun.COM extern "C" {
292*12720SWyllys.Ingersoll@Sun.COM #endif
293*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_putelement(struct soap *soap, const void *ptr, const char *tag, int id, int type)
294*12720SWyllys.Ingersoll@Sun.COM {
295*12720SWyllys.Ingersoll@Sun.COM 	switch (type)
296*12720SWyllys.Ingersoll@Sun.COM 	{
297*12720SWyllys.Ingersoll@Sun.COM 	case SOAP_TYPE_byte:
298*12720SWyllys.Ingersoll@Sun.COM 		return soap_out_byte(soap, tag, id, (const char *)ptr, "xsd:byte");
299*12720SWyllys.Ingersoll@Sun.COM 	case SOAP_TYPE_int:
300*12720SWyllys.Ingersoll@Sun.COM 		return soap_out_int(soap, tag, id, (const int *)ptr, "xsd:int");
301*12720SWyllys.Ingersoll@Sun.COM 	case SOAP_TYPE__QName:
302*12720SWyllys.Ingersoll@Sun.COM 		return soap_out_string(soap, tag, id, (char*const*)&ptr, "xsd:QName");
303*12720SWyllys.Ingersoll@Sun.COM 	case SOAP_TYPE_string:
304*12720SWyllys.Ingersoll@Sun.COM 		return soap_out_string(soap, tag, id, (char*const*)&ptr, "xsd:string");
305*12720SWyllys.Ingersoll@Sun.COM 	}
306*12720SWyllys.Ingersoll@Sun.COM 	return SOAP_OK;
307*12720SWyllys.Ingersoll@Sun.COM }
308*12720SWyllys.Ingersoll@Sun.COM 
309*12720SWyllys.Ingersoll@Sun.COM #ifdef __cplusplus
310*12720SWyllys.Ingersoll@Sun.COM }
311*12720SWyllys.Ingersoll@Sun.COM #endif
312*12720SWyllys.Ingersoll@Sun.COM #endif
313*12720SWyllys.Ingersoll@Sun.COM 
314*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NOIDREF
315*12720SWyllys.Ingersoll@Sun.COM 
316*12720SWyllys.Ingersoll@Sun.COM #ifdef __cplusplus
317*12720SWyllys.Ingersoll@Sun.COM extern "C" {
318*12720SWyllys.Ingersoll@Sun.COM #endif
319*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_markelement(struct soap *soap, const void *ptr, int type)
320*12720SWyllys.Ingersoll@Sun.COM {
321*12720SWyllys.Ingersoll@Sun.COM 	(void)soap; (void)ptr; (void)type; /* appease -Wall -Werror */
322*12720SWyllys.Ingersoll@Sun.COM 	switch (type)
323*12720SWyllys.Ingersoll@Sun.COM 	{
324*12720SWyllys.Ingersoll@Sun.COM 	case SOAP_TYPE__QName:
325*12720SWyllys.Ingersoll@Sun.COM 		soap_serialize_string(soap, (char*const*)&ptr);
326*12720SWyllys.Ingersoll@Sun.COM 		break;
327*12720SWyllys.Ingersoll@Sun.COM 	case SOAP_TYPE_string:
328*12720SWyllys.Ingersoll@Sun.COM 		soap_serialize_string(soap, (char*const*)&ptr);
329*12720SWyllys.Ingersoll@Sun.COM 		break;
330*12720SWyllys.Ingersoll@Sun.COM 	}
331*12720SWyllys.Ingersoll@Sun.COM }
332*12720SWyllys.Ingersoll@Sun.COM 
333*12720SWyllys.Ingersoll@Sun.COM #ifdef __cplusplus
334*12720SWyllys.Ingersoll@Sun.COM }
335*12720SWyllys.Ingersoll@Sun.COM #endif
336*12720SWyllys.Ingersoll@Sun.COM #endif
337*12720SWyllys.Ingersoll@Sun.COM 
338*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void * SOAP_FMAC4 soap_instantiate(struct soap *soap, int t, const char *type, const char *arrayType, size_t *n)
339*12720SWyllys.Ingersoll@Sun.COM {
340*12720SWyllys.Ingersoll@Sun.COM 	switch (t)
341*12720SWyllys.Ingersoll@Sun.COM 	{
342*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NOGLOBAL
343*12720SWyllys.Ingersoll@Sun.COM 	case SOAP_TYPE_SOAP_ENV__Header:
344*12720SWyllys.Ingersoll@Sun.COM 		return (void*)soap_instantiate_SOAP_ENV__Header(soap, -1, type, arrayType, n);
345*12720SWyllys.Ingersoll@Sun.COM #endif
346*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NOGLOBAL
347*12720SWyllys.Ingersoll@Sun.COM 	case SOAP_TYPE_SOAP_ENV__Code:
348*12720SWyllys.Ingersoll@Sun.COM 		return (void*)soap_instantiate_SOAP_ENV__Code(soap, -1, type, arrayType, n);
349*12720SWyllys.Ingersoll@Sun.COM #endif
350*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NOGLOBAL
351*12720SWyllys.Ingersoll@Sun.COM 	case SOAP_TYPE_SOAP_ENV__Detail:
352*12720SWyllys.Ingersoll@Sun.COM 		return (void*)soap_instantiate_SOAP_ENV__Detail(soap, -1, type, arrayType, n);
353*12720SWyllys.Ingersoll@Sun.COM #endif
354*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NOGLOBAL
355*12720SWyllys.Ingersoll@Sun.COM 	case SOAP_TYPE_SOAP_ENV__Reason:
356*12720SWyllys.Ingersoll@Sun.COM 		return (void*)soap_instantiate_SOAP_ENV__Reason(soap, -1, type, arrayType, n);
357*12720SWyllys.Ingersoll@Sun.COM #endif
358*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NOGLOBAL
359*12720SWyllys.Ingersoll@Sun.COM 	case SOAP_TYPE_SOAP_ENV__Fault:
360*12720SWyllys.Ingersoll@Sun.COM 		return (void*)soap_instantiate_SOAP_ENV__Fault(soap, -1, type, arrayType, n);
361*12720SWyllys.Ingersoll@Sun.COM #endif
362*12720SWyllys.Ingersoll@Sun.COM 	}
363*12720SWyllys.Ingersoll@Sun.COM 	return NULL;
364*12720SWyllys.Ingersoll@Sun.COM }
365*12720SWyllys.Ingersoll@Sun.COM 
366*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_fdelete(struct soap_clist *p)
367*12720SWyllys.Ingersoll@Sun.COM {	switch (p->type)
368*12720SWyllys.Ingersoll@Sun.COM 	{
369*12720SWyllys.Ingersoll@Sun.COM 	case SOAP_TYPE_SOAP_ENV__Header:
370*12720SWyllys.Ingersoll@Sun.COM 		if (p->size < 0)
371*12720SWyllys.Ingersoll@Sun.COM 			SOAP_DELETE((struct SOAP_ENV__Header*)p->ptr);
372*12720SWyllys.Ingersoll@Sun.COM 		else
373*12720SWyllys.Ingersoll@Sun.COM 			SOAP_DELETE_ARRAY((struct SOAP_ENV__Header*)p->ptr);
374*12720SWyllys.Ingersoll@Sun.COM 		break;
375*12720SWyllys.Ingersoll@Sun.COM 	case SOAP_TYPE_SOAP_ENV__Code:
376*12720SWyllys.Ingersoll@Sun.COM 		if (p->size < 0)
377*12720SWyllys.Ingersoll@Sun.COM 			SOAP_DELETE((struct SOAP_ENV__Code*)p->ptr);
378*12720SWyllys.Ingersoll@Sun.COM 		else
379*12720SWyllys.Ingersoll@Sun.COM 			SOAP_DELETE_ARRAY((struct SOAP_ENV__Code*)p->ptr);
380*12720SWyllys.Ingersoll@Sun.COM 		break;
381*12720SWyllys.Ingersoll@Sun.COM 	case SOAP_TYPE_SOAP_ENV__Detail:
382*12720SWyllys.Ingersoll@Sun.COM 		if (p->size < 0)
383*12720SWyllys.Ingersoll@Sun.COM 			SOAP_DELETE((struct SOAP_ENV__Detail*)p->ptr);
384*12720SWyllys.Ingersoll@Sun.COM 		else
385*12720SWyllys.Ingersoll@Sun.COM 			SOAP_DELETE_ARRAY((struct SOAP_ENV__Detail*)p->ptr);
386*12720SWyllys.Ingersoll@Sun.COM 		break;
387*12720SWyllys.Ingersoll@Sun.COM 	case SOAP_TYPE_SOAP_ENV__Reason:
388*12720SWyllys.Ingersoll@Sun.COM 		if (p->size < 0)
389*12720SWyllys.Ingersoll@Sun.COM 			SOAP_DELETE((struct SOAP_ENV__Reason*)p->ptr);
390*12720SWyllys.Ingersoll@Sun.COM 		else
391*12720SWyllys.Ingersoll@Sun.COM 			SOAP_DELETE_ARRAY((struct SOAP_ENV__Reason*)p->ptr);
392*12720SWyllys.Ingersoll@Sun.COM 		break;
393*12720SWyllys.Ingersoll@Sun.COM 	case SOAP_TYPE_SOAP_ENV__Fault:
394*12720SWyllys.Ingersoll@Sun.COM 		if (p->size < 0)
395*12720SWyllys.Ingersoll@Sun.COM 			SOAP_DELETE((struct SOAP_ENV__Fault*)p->ptr);
396*12720SWyllys.Ingersoll@Sun.COM 		else
397*12720SWyllys.Ingersoll@Sun.COM 			SOAP_DELETE_ARRAY((struct SOAP_ENV__Fault*)p->ptr);
398*12720SWyllys.Ingersoll@Sun.COM 		break;
399*12720SWyllys.Ingersoll@Sun.COM 	default:	return SOAP_ERR;
400*12720SWyllys.Ingersoll@Sun.COM 	}
401*12720SWyllys.Ingersoll@Sun.COM 	return SOAP_OK;
402*12720SWyllys.Ingersoll@Sun.COM }
403*12720SWyllys.Ingersoll@Sun.COM 
404*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void* SOAP_FMAC4 soap_class_id_enter(struct soap *soap, const char *id, void *p, int t, size_t n, const char *type, const char *arrayType)
405*12720SWyllys.Ingersoll@Sun.COM {	return soap_id_enter(soap, id, p, t, n, 0, type, arrayType, soap_instantiate);
406*12720SWyllys.Ingersoll@Sun.COM }
407*12720SWyllys.Ingersoll@Sun.COM 
408*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_default_byte(struct soap *soap, char *a)
409*12720SWyllys.Ingersoll@Sun.COM {
410*12720SWyllys.Ingersoll@Sun.COM 	(void)soap; /* appease -Wall -Werror */
411*12720SWyllys.Ingersoll@Sun.COM #ifdef SOAP_DEFAULT_byte
412*12720SWyllys.Ingersoll@Sun.COM 	*a = SOAP_DEFAULT_byte;
413*12720SWyllys.Ingersoll@Sun.COM #else
414*12720SWyllys.Ingersoll@Sun.COM 	*a = (char)0;
415*12720SWyllys.Ingersoll@Sun.COM #endif
416*12720SWyllys.Ingersoll@Sun.COM }
417*12720SWyllys.Ingersoll@Sun.COM 
418*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_out_byte(struct soap *soap, const char *tag, int id, const char *a, const char *type)
419*12720SWyllys.Ingersoll@Sun.COM {
420*12720SWyllys.Ingersoll@Sun.COM 	return soap_outbyte(soap, tag, id, a, type, SOAP_TYPE_byte);
421*12720SWyllys.Ingersoll@Sun.COM }
422*12720SWyllys.Ingersoll@Sun.COM 
423*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 char * SOAP_FMAC4 soap_in_byte(struct soap *soap, const char *tag, char *a, const char *type)
424*12720SWyllys.Ingersoll@Sun.COM {	char *p;
425*12720SWyllys.Ingersoll@Sun.COM 	p = soap_inbyte(soap, tag, a, type, SOAP_TYPE_byte);
426*12720SWyllys.Ingersoll@Sun.COM 	return p;
427*12720SWyllys.Ingersoll@Sun.COM }
428*12720SWyllys.Ingersoll@Sun.COM 
429*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_put_byte(struct soap *soap, const char *a, const char *tag, const char *type)
430*12720SWyllys.Ingersoll@Sun.COM {
431*12720SWyllys.Ingersoll@Sun.COM 	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_byte);
432*12720SWyllys.Ingersoll@Sun.COM 	if (soap_out_byte(soap, tag?tag:"byte", id, a, type))
433*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
434*12720SWyllys.Ingersoll@Sun.COM 	return soap_putindependent(soap);
435*12720SWyllys.Ingersoll@Sun.COM }
436*12720SWyllys.Ingersoll@Sun.COM 
437*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 char * SOAP_FMAC4 soap_get_byte(struct soap *soap, char *p, const char *tag, const char *type)
438*12720SWyllys.Ingersoll@Sun.COM {
439*12720SWyllys.Ingersoll@Sun.COM 	if ((p = soap_in_byte(soap, tag, p, type)))
440*12720SWyllys.Ingersoll@Sun.COM 		if (soap_getindependent(soap))
441*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
442*12720SWyllys.Ingersoll@Sun.COM 	return p;
443*12720SWyllys.Ingersoll@Sun.COM }
444*12720SWyllys.Ingersoll@Sun.COM 
445*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_default_int(struct soap *soap, int *a)
446*12720SWyllys.Ingersoll@Sun.COM {
447*12720SWyllys.Ingersoll@Sun.COM 	(void)soap; /* appease -Wall -Werror */
448*12720SWyllys.Ingersoll@Sun.COM #ifdef SOAP_DEFAULT_int
449*12720SWyllys.Ingersoll@Sun.COM 	*a = SOAP_DEFAULT_int;
450*12720SWyllys.Ingersoll@Sun.COM #else
451*12720SWyllys.Ingersoll@Sun.COM 	*a = (int)0;
452*12720SWyllys.Ingersoll@Sun.COM #endif
453*12720SWyllys.Ingersoll@Sun.COM }
454*12720SWyllys.Ingersoll@Sun.COM 
455*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_out_int(struct soap *soap, const char *tag, int id, const int *a, const char *type)
456*12720SWyllys.Ingersoll@Sun.COM {
457*12720SWyllys.Ingersoll@Sun.COM 	return soap_outint(soap, tag, id, a, type, SOAP_TYPE_int);
458*12720SWyllys.Ingersoll@Sun.COM }
459*12720SWyllys.Ingersoll@Sun.COM 
460*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int * SOAP_FMAC4 soap_in_int(struct soap *soap, const char *tag, int *a, const char *type)
461*12720SWyllys.Ingersoll@Sun.COM {	int *p;
462*12720SWyllys.Ingersoll@Sun.COM 	p = soap_inint(soap, tag, a, type, SOAP_TYPE_int);
463*12720SWyllys.Ingersoll@Sun.COM 	return p;
464*12720SWyllys.Ingersoll@Sun.COM }
465*12720SWyllys.Ingersoll@Sun.COM 
466*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_put_int(struct soap *soap, const int *a, const char *tag, const char *type)
467*12720SWyllys.Ingersoll@Sun.COM {
468*12720SWyllys.Ingersoll@Sun.COM 	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_int);
469*12720SWyllys.Ingersoll@Sun.COM 	if (soap_out_int(soap, tag?tag:"int", id, a, type))
470*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
471*12720SWyllys.Ingersoll@Sun.COM 	return soap_putindependent(soap);
472*12720SWyllys.Ingersoll@Sun.COM }
473*12720SWyllys.Ingersoll@Sun.COM 
474*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int * SOAP_FMAC4 soap_get_int(struct soap *soap, int *p, const char *tag, const char *type)
475*12720SWyllys.Ingersoll@Sun.COM {
476*12720SWyllys.Ingersoll@Sun.COM 	if ((p = soap_in_int(soap, tag, p, type)))
477*12720SWyllys.Ingersoll@Sun.COM 		if (soap_getindependent(soap))
478*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
479*12720SWyllys.Ingersoll@Sun.COM 	return p;
480*12720SWyllys.Ingersoll@Sun.COM }
481*12720SWyllys.Ingersoll@Sun.COM 
482*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NOGLOBAL
483*12720SWyllys.Ingersoll@Sun.COM 
484*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Fault(struct soap *soap, struct SOAP_ENV__Fault *a)
485*12720SWyllys.Ingersoll@Sun.COM {
486*12720SWyllys.Ingersoll@Sun.COM 	(void)soap; (void)a; /* appease -Wall -Werror */
487*12720SWyllys.Ingersoll@Sun.COM 	soap_default__QName(soap, &a->faultcode);
488*12720SWyllys.Ingersoll@Sun.COM 	soap_default_string(soap, &a->faultstring);
489*12720SWyllys.Ingersoll@Sun.COM 	soap_default_string(soap, &a->faultactor);
490*12720SWyllys.Ingersoll@Sun.COM 	a->detail = NULL;
491*12720SWyllys.Ingersoll@Sun.COM 	a->SOAP_ENV__Code = NULL;
492*12720SWyllys.Ingersoll@Sun.COM 	a->SOAP_ENV__Reason = NULL;
493*12720SWyllys.Ingersoll@Sun.COM 	soap_default_string(soap, &a->SOAP_ENV__Node);
494*12720SWyllys.Ingersoll@Sun.COM 	soap_default_string(soap, &a->SOAP_ENV__Role);
495*12720SWyllys.Ingersoll@Sun.COM 	a->SOAP_ENV__Detail = NULL;
496*12720SWyllys.Ingersoll@Sun.COM }
497*12720SWyllys.Ingersoll@Sun.COM 
498*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Fault(struct soap *soap, const struct SOAP_ENV__Fault *a)
499*12720SWyllys.Ingersoll@Sun.COM {
500*12720SWyllys.Ingersoll@Sun.COM 	(void)soap; (void)a; /* appease -Wall -Werror */
501*12720SWyllys.Ingersoll@Sun.COM 	soap_serialize__QName(soap, &a->faultcode);
502*12720SWyllys.Ingersoll@Sun.COM 	soap_serialize_string(soap, &a->faultstring);
503*12720SWyllys.Ingersoll@Sun.COM 	soap_serialize_string(soap, &a->faultactor);
504*12720SWyllys.Ingersoll@Sun.COM 	soap_serialize_PointerToSOAP_ENV__Detail(soap, &a->detail);
505*12720SWyllys.Ingersoll@Sun.COM 	soap_serialize_PointerToSOAP_ENV__Code(soap, &a->SOAP_ENV__Code);
506*12720SWyllys.Ingersoll@Sun.COM 	soap_serialize_PointerToSOAP_ENV__Reason(soap, &a->SOAP_ENV__Reason);
507*12720SWyllys.Ingersoll@Sun.COM 	soap_serialize_string(soap, &a->SOAP_ENV__Node);
508*12720SWyllys.Ingersoll@Sun.COM 	soap_serialize_string(soap, &a->SOAP_ENV__Role);
509*12720SWyllys.Ingersoll@Sun.COM 	soap_serialize_PointerToSOAP_ENV__Detail(soap, &a->SOAP_ENV__Detail);
510*12720SWyllys.Ingersoll@Sun.COM }
511*12720SWyllys.Ingersoll@Sun.COM 
512*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Fault(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Fault *a, const char *type)
513*12720SWyllys.Ingersoll@Sun.COM {
514*12720SWyllys.Ingersoll@Sun.COM 	const char *soap_tmp_faultcode = soap_QName2s(soap, a->faultcode);
515*12720SWyllys.Ingersoll@Sun.COM 	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Fault), type))
516*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
517*12720SWyllys.Ingersoll@Sun.COM 	if (soap_out__QName(soap, "faultcode", -1, (char*const*)&soap_tmp_faultcode, ""))
518*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
519*12720SWyllys.Ingersoll@Sun.COM 	if (soap_out_string(soap, "faultstring", -1, &a->faultstring, ""))
520*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
521*12720SWyllys.Ingersoll@Sun.COM 	if (soap_out_string(soap, "faultactor", -1, &a->faultactor, ""))
522*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
523*12720SWyllys.Ingersoll@Sun.COM 	if (soap_out_PointerToSOAP_ENV__Detail(soap, "detail", -1, &a->detail, ""))
524*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
525*12720SWyllys.Ingersoll@Sun.COM 	if (soap_out_PointerToSOAP_ENV__Code(soap, "SOAP-ENV:Code", -1, &a->SOAP_ENV__Code, ""))
526*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
527*12720SWyllys.Ingersoll@Sun.COM 	if (soap_out_PointerToSOAP_ENV__Reason(soap, "SOAP-ENV:Reason", -1, &a->SOAP_ENV__Reason, ""))
528*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
529*12720SWyllys.Ingersoll@Sun.COM 	if (soap_out_string(soap, "SOAP-ENV:Node", -1, &a->SOAP_ENV__Node, ""))
530*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
531*12720SWyllys.Ingersoll@Sun.COM 	if (soap_out_string(soap, "SOAP-ENV:Role", -1, &a->SOAP_ENV__Role, ""))
532*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
533*12720SWyllys.Ingersoll@Sun.COM 	if (soap_out_PointerToSOAP_ENV__Detail(soap, "SOAP-ENV:Detail", -1, &a->SOAP_ENV__Detail, ""))
534*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
535*12720SWyllys.Ingersoll@Sun.COM 	return soap_element_end_out(soap, tag);
536*12720SWyllys.Ingersoll@Sun.COM }
537*12720SWyllys.Ingersoll@Sun.COM 
538*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 struct SOAP_ENV__Fault * SOAP_FMAC4 soap_in_SOAP_ENV__Fault(struct soap *soap, const char *tag, struct SOAP_ENV__Fault *a, const char *type)
539*12720SWyllys.Ingersoll@Sun.COM {
540*12720SWyllys.Ingersoll@Sun.COM 	size_t soap_flag_faultcode = 1;
541*12720SWyllys.Ingersoll@Sun.COM 	size_t soap_flag_faultstring = 1;
542*12720SWyllys.Ingersoll@Sun.COM 	size_t soap_flag_faultactor = 1;
543*12720SWyllys.Ingersoll@Sun.COM 	size_t soap_flag_detail = 1;
544*12720SWyllys.Ingersoll@Sun.COM 	size_t soap_flag_SOAP_ENV__Code = 1;
545*12720SWyllys.Ingersoll@Sun.COM 	size_t soap_flag_SOAP_ENV__Reason = 1;
546*12720SWyllys.Ingersoll@Sun.COM 	size_t soap_flag_SOAP_ENV__Node = 1;
547*12720SWyllys.Ingersoll@Sun.COM 	size_t soap_flag_SOAP_ENV__Role = 1;
548*12720SWyllys.Ingersoll@Sun.COM 	size_t soap_flag_SOAP_ENV__Detail = 1;
549*12720SWyllys.Ingersoll@Sun.COM 	if (soap_element_begin_in(soap, tag, 0, type))
550*12720SWyllys.Ingersoll@Sun.COM 		return NULL;
551*12720SWyllys.Ingersoll@Sun.COM 	a = (struct SOAP_ENV__Fault *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Fault, sizeof(struct SOAP_ENV__Fault), 0, NULL, NULL, NULL);
552*12720SWyllys.Ingersoll@Sun.COM 	if (!a)
553*12720SWyllys.Ingersoll@Sun.COM 		return NULL;
554*12720SWyllys.Ingersoll@Sun.COM 	soap_default_SOAP_ENV__Fault(soap, a);
555*12720SWyllys.Ingersoll@Sun.COM 	if (soap->body && !*soap->href)
556*12720SWyllys.Ingersoll@Sun.COM 	{
557*12720SWyllys.Ingersoll@Sun.COM 		for (;;)
558*12720SWyllys.Ingersoll@Sun.COM 		{	soap->error = SOAP_TAG_MISMATCH;
559*12720SWyllys.Ingersoll@Sun.COM 			if (soap_flag_faultcode && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
560*12720SWyllys.Ingersoll@Sun.COM 				if (soap_in__QName(soap, "faultcode", &a->faultcode, ""))
561*12720SWyllys.Ingersoll@Sun.COM 				{	soap_flag_faultcode--;
562*12720SWyllys.Ingersoll@Sun.COM 					continue;
563*12720SWyllys.Ingersoll@Sun.COM 				}
564*12720SWyllys.Ingersoll@Sun.COM 			if (soap_flag_faultstring && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
565*12720SWyllys.Ingersoll@Sun.COM 				if (soap_in_string(soap, "faultstring", &a->faultstring, "xsd:string"))
566*12720SWyllys.Ingersoll@Sun.COM 				{	soap_flag_faultstring--;
567*12720SWyllys.Ingersoll@Sun.COM 					continue;
568*12720SWyllys.Ingersoll@Sun.COM 				}
569*12720SWyllys.Ingersoll@Sun.COM 			if (soap_flag_faultactor && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
570*12720SWyllys.Ingersoll@Sun.COM 				if (soap_in_string(soap, "faultactor", &a->faultactor, "xsd:string"))
571*12720SWyllys.Ingersoll@Sun.COM 				{	soap_flag_faultactor--;
572*12720SWyllys.Ingersoll@Sun.COM 					continue;
573*12720SWyllys.Ingersoll@Sun.COM 				}
574*12720SWyllys.Ingersoll@Sun.COM 			if (soap_flag_detail && soap->error == SOAP_TAG_MISMATCH)
575*12720SWyllys.Ingersoll@Sun.COM 				if (soap_in_PointerToSOAP_ENV__Detail(soap, "detail", &a->detail, ""))
576*12720SWyllys.Ingersoll@Sun.COM 				{	soap_flag_detail--;
577*12720SWyllys.Ingersoll@Sun.COM 					continue;
578*12720SWyllys.Ingersoll@Sun.COM 				}
579*12720SWyllys.Ingersoll@Sun.COM 			if (soap_flag_SOAP_ENV__Code && soap->error == SOAP_TAG_MISMATCH)
580*12720SWyllys.Ingersoll@Sun.COM 				if (soap_in_PointerToSOAP_ENV__Code(soap, "SOAP-ENV:Code", &a->SOAP_ENV__Code, ""))
581*12720SWyllys.Ingersoll@Sun.COM 				{	soap_flag_SOAP_ENV__Code--;
582*12720SWyllys.Ingersoll@Sun.COM 					continue;
583*12720SWyllys.Ingersoll@Sun.COM 				}
584*12720SWyllys.Ingersoll@Sun.COM 			if (soap_flag_SOAP_ENV__Reason && soap->error == SOAP_TAG_MISMATCH)
585*12720SWyllys.Ingersoll@Sun.COM 				if (soap_in_PointerToSOAP_ENV__Reason(soap, "SOAP-ENV:Reason", &a->SOAP_ENV__Reason, ""))
586*12720SWyllys.Ingersoll@Sun.COM 				{	soap_flag_SOAP_ENV__Reason--;
587*12720SWyllys.Ingersoll@Sun.COM 					continue;
588*12720SWyllys.Ingersoll@Sun.COM 				}
589*12720SWyllys.Ingersoll@Sun.COM 			if (soap_flag_SOAP_ENV__Node && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
590*12720SWyllys.Ingersoll@Sun.COM 				if (soap_in_string(soap, "SOAP-ENV:Node", &a->SOAP_ENV__Node, "xsd:string"))
591*12720SWyllys.Ingersoll@Sun.COM 				{	soap_flag_SOAP_ENV__Node--;
592*12720SWyllys.Ingersoll@Sun.COM 					continue;
593*12720SWyllys.Ingersoll@Sun.COM 				}
594*12720SWyllys.Ingersoll@Sun.COM 			if (soap_flag_SOAP_ENV__Role && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
595*12720SWyllys.Ingersoll@Sun.COM 				if (soap_in_string(soap, "SOAP-ENV:Role", &a->SOAP_ENV__Role, "xsd:string"))
596*12720SWyllys.Ingersoll@Sun.COM 				{	soap_flag_SOAP_ENV__Role--;
597*12720SWyllys.Ingersoll@Sun.COM 					continue;
598*12720SWyllys.Ingersoll@Sun.COM 				}
599*12720SWyllys.Ingersoll@Sun.COM 			if (soap_flag_SOAP_ENV__Detail && soap->error == SOAP_TAG_MISMATCH)
600*12720SWyllys.Ingersoll@Sun.COM 				if (soap_in_PointerToSOAP_ENV__Detail(soap, "SOAP-ENV:Detail", &a->SOAP_ENV__Detail, ""))
601*12720SWyllys.Ingersoll@Sun.COM 				{	soap_flag_SOAP_ENV__Detail--;
602*12720SWyllys.Ingersoll@Sun.COM 					continue;
603*12720SWyllys.Ingersoll@Sun.COM 				}
604*12720SWyllys.Ingersoll@Sun.COM 			if (soap->error == SOAP_TAG_MISMATCH)
605*12720SWyllys.Ingersoll@Sun.COM 				soap->error = soap_ignore_element(soap);
606*12720SWyllys.Ingersoll@Sun.COM 			if (soap->error == SOAP_NO_TAG)
607*12720SWyllys.Ingersoll@Sun.COM 				break;
608*12720SWyllys.Ingersoll@Sun.COM 			if (soap->error)
609*12720SWyllys.Ingersoll@Sun.COM 				return NULL;
610*12720SWyllys.Ingersoll@Sun.COM 		}
611*12720SWyllys.Ingersoll@Sun.COM 		if (soap_element_end_in(soap, tag))
612*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
613*12720SWyllys.Ingersoll@Sun.COM 	}
614*12720SWyllys.Ingersoll@Sun.COM 	else
615*12720SWyllys.Ingersoll@Sun.COM 	{	a = (struct SOAP_ENV__Fault *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Fault, 0, sizeof(struct SOAP_ENV__Fault), 0, NULL);
616*12720SWyllys.Ingersoll@Sun.COM 		if (soap->body && soap_element_end_in(soap, tag))
617*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
618*12720SWyllys.Ingersoll@Sun.COM 	}
619*12720SWyllys.Ingersoll@Sun.COM 	return a;
620*12720SWyllys.Ingersoll@Sun.COM }
621*12720SWyllys.Ingersoll@Sun.COM 
622*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Fault(struct soap *soap, const struct SOAP_ENV__Fault *a, const char *tag, const char *type)
623*12720SWyllys.Ingersoll@Sun.COM {
624*12720SWyllys.Ingersoll@Sun.COM 	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_SOAP_ENV__Fault);
625*12720SWyllys.Ingersoll@Sun.COM 	if (soap_out_SOAP_ENV__Fault(soap, tag?tag:"SOAP-ENV:Fault", id, a, type))
626*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
627*12720SWyllys.Ingersoll@Sun.COM 	return soap_putindependent(soap);
628*12720SWyllys.Ingersoll@Sun.COM }
629*12720SWyllys.Ingersoll@Sun.COM 
630*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 struct SOAP_ENV__Fault * SOAP_FMAC4 soap_get_SOAP_ENV__Fault(struct soap *soap, struct SOAP_ENV__Fault *p, const char *tag, const char *type)
631*12720SWyllys.Ingersoll@Sun.COM {
632*12720SWyllys.Ingersoll@Sun.COM 	if ((p = soap_in_SOAP_ENV__Fault(soap, tag, p, type)))
633*12720SWyllys.Ingersoll@Sun.COM 		if (soap_getindependent(soap))
634*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
635*12720SWyllys.Ingersoll@Sun.COM 	return p;
636*12720SWyllys.Ingersoll@Sun.COM }
637*12720SWyllys.Ingersoll@Sun.COM 
638*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 struct SOAP_ENV__Fault * SOAP_FMAC2 soap_instantiate_SOAP_ENV__Fault(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
639*12720SWyllys.Ingersoll@Sun.COM {
640*12720SWyllys.Ingersoll@Sun.COM 	(void)type; (void)arrayType; /* appease -Wall -Werror */
641*12720SWyllys.Ingersoll@Sun.COM 	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_SOAP_ENV__Fault(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
642*12720SWyllys.Ingersoll@Sun.COM 	struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_SOAP_ENV__Fault, n, soap_fdelete);
643*12720SWyllys.Ingersoll@Sun.COM 	if (!cp)
644*12720SWyllys.Ingersoll@Sun.COM 		return NULL;
645*12720SWyllys.Ingersoll@Sun.COM 	if (n < 0)
646*12720SWyllys.Ingersoll@Sun.COM 	{	cp->ptr = (void*)SOAP_NEW(struct SOAP_ENV__Fault);
647*12720SWyllys.Ingersoll@Sun.COM 		if (size)
648*12720SWyllys.Ingersoll@Sun.COM 			*size = sizeof(struct SOAP_ENV__Fault);
649*12720SWyllys.Ingersoll@Sun.COM 	}
650*12720SWyllys.Ingersoll@Sun.COM 	else
651*12720SWyllys.Ingersoll@Sun.COM 	{	cp->ptr = (void*)SOAP_NEW(struct SOAP_ENV__Fault[n]);
652*12720SWyllys.Ingersoll@Sun.COM 		if (!cp->ptr)
653*12720SWyllys.Ingersoll@Sun.COM 		{	soap->error = SOAP_EOM;
654*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
655*12720SWyllys.Ingersoll@Sun.COM 		}
656*12720SWyllys.Ingersoll@Sun.COM 		if (size)
657*12720SWyllys.Ingersoll@Sun.COM 			*size = n * sizeof(struct SOAP_ENV__Fault);
658*12720SWyllys.Ingersoll@Sun.COM 	}
659*12720SWyllys.Ingersoll@Sun.COM 		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
660*12720SWyllys.Ingersoll@Sun.COM 	return (struct SOAP_ENV__Fault*)cp->ptr;
661*12720SWyllys.Ingersoll@Sun.COM }
662*12720SWyllys.Ingersoll@Sun.COM 
663*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_copy_SOAP_ENV__Fault(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
664*12720SWyllys.Ingersoll@Sun.COM {
665*12720SWyllys.Ingersoll@Sun.COM 	(void)soap; (void)st; (void)len; (void)n; /* appease -Wall -Werror */
666*12720SWyllys.Ingersoll@Sun.COM 	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct SOAP_ENV__Fault %p -> %p\n", q, p));
667*12720SWyllys.Ingersoll@Sun.COM 	*(struct SOAP_ENV__Fault*)p = *(struct SOAP_ENV__Fault*)q;
668*12720SWyllys.Ingersoll@Sun.COM }
669*12720SWyllys.Ingersoll@Sun.COM 
670*12720SWyllys.Ingersoll@Sun.COM #endif
671*12720SWyllys.Ingersoll@Sun.COM 
672*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NOGLOBAL
673*12720SWyllys.Ingersoll@Sun.COM 
674*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason *a)
675*12720SWyllys.Ingersoll@Sun.COM {
676*12720SWyllys.Ingersoll@Sun.COM 	(void)soap; (void)a; /* appease -Wall -Werror */
677*12720SWyllys.Ingersoll@Sun.COM 	soap_default_string(soap, &a->SOAP_ENV__Text);
678*12720SWyllys.Ingersoll@Sun.COM }
679*12720SWyllys.Ingersoll@Sun.COM 
680*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Reason(struct soap *soap, const struct SOAP_ENV__Reason *a)
681*12720SWyllys.Ingersoll@Sun.COM {
682*12720SWyllys.Ingersoll@Sun.COM 	(void)soap; (void)a; /* appease -Wall -Werror */
683*12720SWyllys.Ingersoll@Sun.COM 	soap_serialize_string(soap, &a->SOAP_ENV__Text);
684*12720SWyllys.Ingersoll@Sun.COM }
685*12720SWyllys.Ingersoll@Sun.COM 
686*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Reason(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Reason *a, const char *type)
687*12720SWyllys.Ingersoll@Sun.COM {
688*12720SWyllys.Ingersoll@Sun.COM 	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Reason), type))
689*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
690*12720SWyllys.Ingersoll@Sun.COM 	if (soap->lang)
691*12720SWyllys.Ingersoll@Sun.COM 		soap_set_attr(soap, "xml:lang", soap->lang, 1);
692*12720SWyllys.Ingersoll@Sun.COM 	if (soap_out_string(soap, "SOAP-ENV:Text", -1, &a->SOAP_ENV__Text, ""))
693*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
694*12720SWyllys.Ingersoll@Sun.COM 	return soap_element_end_out(soap, tag);
695*12720SWyllys.Ingersoll@Sun.COM }
696*12720SWyllys.Ingersoll@Sun.COM 
697*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 struct SOAP_ENV__Reason * SOAP_FMAC4 soap_in_SOAP_ENV__Reason(struct soap *soap, const char *tag, struct SOAP_ENV__Reason *a, const char *type)
698*12720SWyllys.Ingersoll@Sun.COM {
699*12720SWyllys.Ingersoll@Sun.COM 	size_t soap_flag_SOAP_ENV__Text = 1;
700*12720SWyllys.Ingersoll@Sun.COM 	if (soap_element_begin_in(soap, tag, 0, type))
701*12720SWyllys.Ingersoll@Sun.COM 		return NULL;
702*12720SWyllys.Ingersoll@Sun.COM 	a = (struct SOAP_ENV__Reason *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Reason, sizeof(struct SOAP_ENV__Reason), 0, NULL, NULL, NULL);
703*12720SWyllys.Ingersoll@Sun.COM 	if (!a)
704*12720SWyllys.Ingersoll@Sun.COM 		return NULL;
705*12720SWyllys.Ingersoll@Sun.COM 	soap_default_SOAP_ENV__Reason(soap, a);
706*12720SWyllys.Ingersoll@Sun.COM 	if (soap->body && !*soap->href)
707*12720SWyllys.Ingersoll@Sun.COM 	{
708*12720SWyllys.Ingersoll@Sun.COM 		for (;;)
709*12720SWyllys.Ingersoll@Sun.COM 		{	soap->error = SOAP_TAG_MISMATCH;
710*12720SWyllys.Ingersoll@Sun.COM 			if (soap_flag_SOAP_ENV__Text && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
711*12720SWyllys.Ingersoll@Sun.COM 				if (soap_in_string(soap, "SOAP-ENV:Text", &a->SOAP_ENV__Text, "xsd:string"))
712*12720SWyllys.Ingersoll@Sun.COM 				{	soap_flag_SOAP_ENV__Text--;
713*12720SWyllys.Ingersoll@Sun.COM 					continue;
714*12720SWyllys.Ingersoll@Sun.COM 				}
715*12720SWyllys.Ingersoll@Sun.COM 			if (soap->error == SOAP_TAG_MISMATCH)
716*12720SWyllys.Ingersoll@Sun.COM 				soap->error = soap_ignore_element(soap);
717*12720SWyllys.Ingersoll@Sun.COM 			if (soap->error == SOAP_NO_TAG)
718*12720SWyllys.Ingersoll@Sun.COM 				break;
719*12720SWyllys.Ingersoll@Sun.COM 			if (soap->error)
720*12720SWyllys.Ingersoll@Sun.COM 				return NULL;
721*12720SWyllys.Ingersoll@Sun.COM 		}
722*12720SWyllys.Ingersoll@Sun.COM 		if (soap_element_end_in(soap, tag))
723*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
724*12720SWyllys.Ingersoll@Sun.COM 	}
725*12720SWyllys.Ingersoll@Sun.COM 	else
726*12720SWyllys.Ingersoll@Sun.COM 	{	a = (struct SOAP_ENV__Reason *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Reason, 0, sizeof(struct SOAP_ENV__Reason), 0, NULL);
727*12720SWyllys.Ingersoll@Sun.COM 		if (soap->body && soap_element_end_in(soap, tag))
728*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
729*12720SWyllys.Ingersoll@Sun.COM 	}
730*12720SWyllys.Ingersoll@Sun.COM 	return a;
731*12720SWyllys.Ingersoll@Sun.COM }
732*12720SWyllys.Ingersoll@Sun.COM 
733*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Reason(struct soap *soap, const struct SOAP_ENV__Reason *a, const char *tag, const char *type)
734*12720SWyllys.Ingersoll@Sun.COM {
735*12720SWyllys.Ingersoll@Sun.COM 	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_SOAP_ENV__Reason);
736*12720SWyllys.Ingersoll@Sun.COM 	if (soap_out_SOAP_ENV__Reason(soap, tag?tag:"SOAP-ENV:Reason", id, a, type))
737*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
738*12720SWyllys.Ingersoll@Sun.COM 	return soap_putindependent(soap);
739*12720SWyllys.Ingersoll@Sun.COM }
740*12720SWyllys.Ingersoll@Sun.COM 
741*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 struct SOAP_ENV__Reason * SOAP_FMAC4 soap_get_SOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason *p, const char *tag, const char *type)
742*12720SWyllys.Ingersoll@Sun.COM {
743*12720SWyllys.Ingersoll@Sun.COM 	if ((p = soap_in_SOAP_ENV__Reason(soap, tag, p, type)))
744*12720SWyllys.Ingersoll@Sun.COM 		if (soap_getindependent(soap))
745*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
746*12720SWyllys.Ingersoll@Sun.COM 	return p;
747*12720SWyllys.Ingersoll@Sun.COM }
748*12720SWyllys.Ingersoll@Sun.COM 
749*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 struct SOAP_ENV__Reason * SOAP_FMAC2 soap_instantiate_SOAP_ENV__Reason(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
750*12720SWyllys.Ingersoll@Sun.COM {
751*12720SWyllys.Ingersoll@Sun.COM 	(void)type; (void)arrayType; /* appease -Wall -Werror */
752*12720SWyllys.Ingersoll@Sun.COM 	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_SOAP_ENV__Reason(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
753*12720SWyllys.Ingersoll@Sun.COM 	struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_SOAP_ENV__Reason, n, soap_fdelete);
754*12720SWyllys.Ingersoll@Sun.COM 	if (!cp)
755*12720SWyllys.Ingersoll@Sun.COM 		return NULL;
756*12720SWyllys.Ingersoll@Sun.COM 	if (n < 0)
757*12720SWyllys.Ingersoll@Sun.COM 	{	cp->ptr = (void*)SOAP_NEW(struct SOAP_ENV__Reason);
758*12720SWyllys.Ingersoll@Sun.COM 		if (size)
759*12720SWyllys.Ingersoll@Sun.COM 			*size = sizeof(struct SOAP_ENV__Reason);
760*12720SWyllys.Ingersoll@Sun.COM 	}
761*12720SWyllys.Ingersoll@Sun.COM 	else
762*12720SWyllys.Ingersoll@Sun.COM 	{	cp->ptr = (void*)SOAP_NEW(struct SOAP_ENV__Reason[n]);
763*12720SWyllys.Ingersoll@Sun.COM 		if (!cp->ptr)
764*12720SWyllys.Ingersoll@Sun.COM 		{	soap->error = SOAP_EOM;
765*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
766*12720SWyllys.Ingersoll@Sun.COM 		}
767*12720SWyllys.Ingersoll@Sun.COM 		if (size)
768*12720SWyllys.Ingersoll@Sun.COM 			*size = n * sizeof(struct SOAP_ENV__Reason);
769*12720SWyllys.Ingersoll@Sun.COM 	}
770*12720SWyllys.Ingersoll@Sun.COM 		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
771*12720SWyllys.Ingersoll@Sun.COM 	return (struct SOAP_ENV__Reason*)cp->ptr;
772*12720SWyllys.Ingersoll@Sun.COM }
773*12720SWyllys.Ingersoll@Sun.COM 
774*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_copy_SOAP_ENV__Reason(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
775*12720SWyllys.Ingersoll@Sun.COM {
776*12720SWyllys.Ingersoll@Sun.COM 	(void)soap; (void)st; (void)len; (void)n; /* appease -Wall -Werror */
777*12720SWyllys.Ingersoll@Sun.COM 	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct SOAP_ENV__Reason %p -> %p\n", q, p));
778*12720SWyllys.Ingersoll@Sun.COM 	*(struct SOAP_ENV__Reason*)p = *(struct SOAP_ENV__Reason*)q;
779*12720SWyllys.Ingersoll@Sun.COM }
780*12720SWyllys.Ingersoll@Sun.COM 
781*12720SWyllys.Ingersoll@Sun.COM #endif
782*12720SWyllys.Ingersoll@Sun.COM 
783*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NOGLOBAL
784*12720SWyllys.Ingersoll@Sun.COM 
785*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail *a)
786*12720SWyllys.Ingersoll@Sun.COM {
787*12720SWyllys.Ingersoll@Sun.COM 	(void)soap; (void)a; /* appease -Wall -Werror */
788*12720SWyllys.Ingersoll@Sun.COM 	a->__type = 0;
789*12720SWyllys.Ingersoll@Sun.COM 	a->fault = NULL;
790*12720SWyllys.Ingersoll@Sun.COM 	a->__any = NULL;
791*12720SWyllys.Ingersoll@Sun.COM }
792*12720SWyllys.Ingersoll@Sun.COM 
793*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Detail(struct soap *soap, const struct SOAP_ENV__Detail *a)
794*12720SWyllys.Ingersoll@Sun.COM {
795*12720SWyllys.Ingersoll@Sun.COM 	(void)soap; (void)a; /* appease -Wall -Werror */
796*12720SWyllys.Ingersoll@Sun.COM 	soap_markelement(soap, a->fault, a->__type);
797*12720SWyllys.Ingersoll@Sun.COM }
798*12720SWyllys.Ingersoll@Sun.COM 
799*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Detail(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Detail *a, const char *type)
800*12720SWyllys.Ingersoll@Sun.COM {
801*12720SWyllys.Ingersoll@Sun.COM 	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Detail), type))
802*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
803*12720SWyllys.Ingersoll@Sun.COM 	if (soap_putelement(soap, a->fault, "fault", -1, a->__type))
804*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
805*12720SWyllys.Ingersoll@Sun.COM 	soap_outliteral(soap, "-any", &a->__any, NULL);
806*12720SWyllys.Ingersoll@Sun.COM 	return soap_element_end_out(soap, tag);
807*12720SWyllys.Ingersoll@Sun.COM }
808*12720SWyllys.Ingersoll@Sun.COM 
809*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 struct SOAP_ENV__Detail * SOAP_FMAC4 soap_in_SOAP_ENV__Detail(struct soap *soap, const char *tag, struct SOAP_ENV__Detail *a, const char *type)
810*12720SWyllys.Ingersoll@Sun.COM {
811*12720SWyllys.Ingersoll@Sun.COM 	size_t soap_flag_fault = 1;
812*12720SWyllys.Ingersoll@Sun.COM 	size_t soap_flag___any = 1;
813*12720SWyllys.Ingersoll@Sun.COM 	if (soap_element_begin_in(soap, tag, 0, type))
814*12720SWyllys.Ingersoll@Sun.COM 		return NULL;
815*12720SWyllys.Ingersoll@Sun.COM 	a = (struct SOAP_ENV__Detail *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Detail, sizeof(struct SOAP_ENV__Detail), 0, NULL, NULL, NULL);
816*12720SWyllys.Ingersoll@Sun.COM 	if (!a)
817*12720SWyllys.Ingersoll@Sun.COM 		return NULL;
818*12720SWyllys.Ingersoll@Sun.COM 	soap_default_SOAP_ENV__Detail(soap, a);
819*12720SWyllys.Ingersoll@Sun.COM 	if (soap->body && !*soap->href)
820*12720SWyllys.Ingersoll@Sun.COM 	{
821*12720SWyllys.Ingersoll@Sun.COM 		for (;;)
822*12720SWyllys.Ingersoll@Sun.COM 		{	soap->error = SOAP_TAG_MISMATCH;
823*12720SWyllys.Ingersoll@Sun.COM 			if (soap_flag_fault && soap->error == SOAP_TAG_MISMATCH)
824*12720SWyllys.Ingersoll@Sun.COM 				if ((a->fault = soap_getelement(soap, &a->__type)))
825*12720SWyllys.Ingersoll@Sun.COM 				{	soap_flag_fault = 0;
826*12720SWyllys.Ingersoll@Sun.COM 					continue;
827*12720SWyllys.Ingersoll@Sun.COM 				}
828*12720SWyllys.Ingersoll@Sun.COM 			if (soap_flag___any && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
829*12720SWyllys.Ingersoll@Sun.COM 				if (soap_inliteral(soap, "-any", &a->__any))
830*12720SWyllys.Ingersoll@Sun.COM 				{	soap_flag___any--;
831*12720SWyllys.Ingersoll@Sun.COM 					continue;
832*12720SWyllys.Ingersoll@Sun.COM 				}
833*12720SWyllys.Ingersoll@Sun.COM 			if (soap->error == SOAP_TAG_MISMATCH)
834*12720SWyllys.Ingersoll@Sun.COM 				soap->error = soap_ignore_element(soap);
835*12720SWyllys.Ingersoll@Sun.COM 			if (soap->error == SOAP_NO_TAG)
836*12720SWyllys.Ingersoll@Sun.COM 				break;
837*12720SWyllys.Ingersoll@Sun.COM 			if (soap->error)
838*12720SWyllys.Ingersoll@Sun.COM 				return NULL;
839*12720SWyllys.Ingersoll@Sun.COM 		}
840*12720SWyllys.Ingersoll@Sun.COM 		if (soap_element_end_in(soap, tag))
841*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
842*12720SWyllys.Ingersoll@Sun.COM 	}
843*12720SWyllys.Ingersoll@Sun.COM 	else
844*12720SWyllys.Ingersoll@Sun.COM 	{	a = (struct SOAP_ENV__Detail *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Detail, 0, sizeof(struct SOAP_ENV__Detail), 0, NULL);
845*12720SWyllys.Ingersoll@Sun.COM 		if (soap->body && soap_element_end_in(soap, tag))
846*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
847*12720SWyllys.Ingersoll@Sun.COM 	}
848*12720SWyllys.Ingersoll@Sun.COM 	return a;
849*12720SWyllys.Ingersoll@Sun.COM }
850*12720SWyllys.Ingersoll@Sun.COM 
851*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Detail(struct soap *soap, const struct SOAP_ENV__Detail *a, const char *tag, const char *type)
852*12720SWyllys.Ingersoll@Sun.COM {
853*12720SWyllys.Ingersoll@Sun.COM 	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_SOAP_ENV__Detail);
854*12720SWyllys.Ingersoll@Sun.COM 	if (soap_out_SOAP_ENV__Detail(soap, tag?tag:"SOAP-ENV:Detail", id, a, type))
855*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
856*12720SWyllys.Ingersoll@Sun.COM 	return soap_putindependent(soap);
857*12720SWyllys.Ingersoll@Sun.COM }
858*12720SWyllys.Ingersoll@Sun.COM 
859*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 struct SOAP_ENV__Detail * SOAP_FMAC4 soap_get_SOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail *p, const char *tag, const char *type)
860*12720SWyllys.Ingersoll@Sun.COM {
861*12720SWyllys.Ingersoll@Sun.COM 	if ((p = soap_in_SOAP_ENV__Detail(soap, tag, p, type)))
862*12720SWyllys.Ingersoll@Sun.COM 		if (soap_getindependent(soap))
863*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
864*12720SWyllys.Ingersoll@Sun.COM 	return p;
865*12720SWyllys.Ingersoll@Sun.COM }
866*12720SWyllys.Ingersoll@Sun.COM 
867*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 struct SOAP_ENV__Detail * SOAP_FMAC2 soap_instantiate_SOAP_ENV__Detail(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
868*12720SWyllys.Ingersoll@Sun.COM {
869*12720SWyllys.Ingersoll@Sun.COM 	(void)type; (void)arrayType; /* appease -Wall -Werror */
870*12720SWyllys.Ingersoll@Sun.COM 	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_SOAP_ENV__Detail(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
871*12720SWyllys.Ingersoll@Sun.COM 	struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_SOAP_ENV__Detail, n, soap_fdelete);
872*12720SWyllys.Ingersoll@Sun.COM 	if (!cp)
873*12720SWyllys.Ingersoll@Sun.COM 		return NULL;
874*12720SWyllys.Ingersoll@Sun.COM 	if (n < 0)
875*12720SWyllys.Ingersoll@Sun.COM 	{	cp->ptr = (void*)SOAP_NEW(struct SOAP_ENV__Detail);
876*12720SWyllys.Ingersoll@Sun.COM 		if (size)
877*12720SWyllys.Ingersoll@Sun.COM 			*size = sizeof(struct SOAP_ENV__Detail);
878*12720SWyllys.Ingersoll@Sun.COM 	}
879*12720SWyllys.Ingersoll@Sun.COM 	else
880*12720SWyllys.Ingersoll@Sun.COM 	{	cp->ptr = (void*)SOAP_NEW(struct SOAP_ENV__Detail[n]);
881*12720SWyllys.Ingersoll@Sun.COM 		if (!cp->ptr)
882*12720SWyllys.Ingersoll@Sun.COM 		{	soap->error = SOAP_EOM;
883*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
884*12720SWyllys.Ingersoll@Sun.COM 		}
885*12720SWyllys.Ingersoll@Sun.COM 		if (size)
886*12720SWyllys.Ingersoll@Sun.COM 			*size = n * sizeof(struct SOAP_ENV__Detail);
887*12720SWyllys.Ingersoll@Sun.COM 	}
888*12720SWyllys.Ingersoll@Sun.COM 		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
889*12720SWyllys.Ingersoll@Sun.COM 	return (struct SOAP_ENV__Detail*)cp->ptr;
890*12720SWyllys.Ingersoll@Sun.COM }
891*12720SWyllys.Ingersoll@Sun.COM 
892*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_copy_SOAP_ENV__Detail(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
893*12720SWyllys.Ingersoll@Sun.COM {
894*12720SWyllys.Ingersoll@Sun.COM 	(void)soap; (void)st; (void)len; (void)n; /* appease -Wall -Werror */
895*12720SWyllys.Ingersoll@Sun.COM 	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct SOAP_ENV__Detail %p -> %p\n", q, p));
896*12720SWyllys.Ingersoll@Sun.COM 	*(struct SOAP_ENV__Detail*)p = *(struct SOAP_ENV__Detail*)q;
897*12720SWyllys.Ingersoll@Sun.COM }
898*12720SWyllys.Ingersoll@Sun.COM 
899*12720SWyllys.Ingersoll@Sun.COM #endif
900*12720SWyllys.Ingersoll@Sun.COM 
901*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NOGLOBAL
902*12720SWyllys.Ingersoll@Sun.COM 
903*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *a)
904*12720SWyllys.Ingersoll@Sun.COM {
905*12720SWyllys.Ingersoll@Sun.COM 	(void)soap; (void)a; /* appease -Wall -Werror */
906*12720SWyllys.Ingersoll@Sun.COM 	soap_default__QName(soap, &a->SOAP_ENV__Value);
907*12720SWyllys.Ingersoll@Sun.COM 	a->SOAP_ENV__Subcode = NULL;
908*12720SWyllys.Ingersoll@Sun.COM }
909*12720SWyllys.Ingersoll@Sun.COM 
910*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Code(struct soap *soap, const struct SOAP_ENV__Code *a)
911*12720SWyllys.Ingersoll@Sun.COM {
912*12720SWyllys.Ingersoll@Sun.COM 	(void)soap; (void)a; /* appease -Wall -Werror */
913*12720SWyllys.Ingersoll@Sun.COM 	soap_serialize__QName(soap, &a->SOAP_ENV__Value);
914*12720SWyllys.Ingersoll@Sun.COM 	soap_serialize_PointerToSOAP_ENV__Code(soap, &a->SOAP_ENV__Subcode);
915*12720SWyllys.Ingersoll@Sun.COM }
916*12720SWyllys.Ingersoll@Sun.COM 
917*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Code(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Code *a, const char *type)
918*12720SWyllys.Ingersoll@Sun.COM {
919*12720SWyllys.Ingersoll@Sun.COM 	const char *soap_tmp_SOAP_ENV__Value = soap_QName2s(soap, a->SOAP_ENV__Value);
920*12720SWyllys.Ingersoll@Sun.COM 	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Code), type))
921*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
922*12720SWyllys.Ingersoll@Sun.COM 	if (soap_out__QName(soap, "SOAP-ENV:Value", -1, (char*const*)&soap_tmp_SOAP_ENV__Value, ""))
923*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
924*12720SWyllys.Ingersoll@Sun.COM 	if (soap_out_PointerToSOAP_ENV__Code(soap, "SOAP-ENV:Subcode", -1, &a->SOAP_ENV__Subcode, ""))
925*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
926*12720SWyllys.Ingersoll@Sun.COM 	return soap_element_end_out(soap, tag);
927*12720SWyllys.Ingersoll@Sun.COM }
928*12720SWyllys.Ingersoll@Sun.COM 
929*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 struct SOAP_ENV__Code * SOAP_FMAC4 soap_in_SOAP_ENV__Code(struct soap *soap, const char *tag, struct SOAP_ENV__Code *a, const char *type)
930*12720SWyllys.Ingersoll@Sun.COM {
931*12720SWyllys.Ingersoll@Sun.COM 	size_t soap_flag_SOAP_ENV__Value = 1;
932*12720SWyllys.Ingersoll@Sun.COM 	size_t soap_flag_SOAP_ENV__Subcode = 1;
933*12720SWyllys.Ingersoll@Sun.COM 	if (soap_element_begin_in(soap, tag, 0, type))
934*12720SWyllys.Ingersoll@Sun.COM 		return NULL;
935*12720SWyllys.Ingersoll@Sun.COM 	a = (struct SOAP_ENV__Code *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Code, sizeof(struct SOAP_ENV__Code), 0, NULL, NULL, NULL);
936*12720SWyllys.Ingersoll@Sun.COM 	if (!a)
937*12720SWyllys.Ingersoll@Sun.COM 		return NULL;
938*12720SWyllys.Ingersoll@Sun.COM 	soap_default_SOAP_ENV__Code(soap, a);
939*12720SWyllys.Ingersoll@Sun.COM 	if (soap->body && !*soap->href)
940*12720SWyllys.Ingersoll@Sun.COM 	{
941*12720SWyllys.Ingersoll@Sun.COM 		for (;;)
942*12720SWyllys.Ingersoll@Sun.COM 		{	soap->error = SOAP_TAG_MISMATCH;
943*12720SWyllys.Ingersoll@Sun.COM 			if (soap_flag_SOAP_ENV__Value && (soap->error == SOAP_TAG_MISMATCH || soap->error == SOAP_NO_TAG))
944*12720SWyllys.Ingersoll@Sun.COM 				if (soap_in__QName(soap, "SOAP-ENV:Value", &a->SOAP_ENV__Value, ""))
945*12720SWyllys.Ingersoll@Sun.COM 				{	soap_flag_SOAP_ENV__Value--;
946*12720SWyllys.Ingersoll@Sun.COM 					continue;
947*12720SWyllys.Ingersoll@Sun.COM 				}
948*12720SWyllys.Ingersoll@Sun.COM 			if (soap_flag_SOAP_ENV__Subcode && soap->error == SOAP_TAG_MISMATCH)
949*12720SWyllys.Ingersoll@Sun.COM 				if (soap_in_PointerToSOAP_ENV__Code(soap, "SOAP-ENV:Subcode", &a->SOAP_ENV__Subcode, ""))
950*12720SWyllys.Ingersoll@Sun.COM 				{	soap_flag_SOAP_ENV__Subcode--;
951*12720SWyllys.Ingersoll@Sun.COM 					continue;
952*12720SWyllys.Ingersoll@Sun.COM 				}
953*12720SWyllys.Ingersoll@Sun.COM 			if (soap->error == SOAP_TAG_MISMATCH)
954*12720SWyllys.Ingersoll@Sun.COM 				soap->error = soap_ignore_element(soap);
955*12720SWyllys.Ingersoll@Sun.COM 			if (soap->error == SOAP_NO_TAG)
956*12720SWyllys.Ingersoll@Sun.COM 				break;
957*12720SWyllys.Ingersoll@Sun.COM 			if (soap->error)
958*12720SWyllys.Ingersoll@Sun.COM 				return NULL;
959*12720SWyllys.Ingersoll@Sun.COM 		}
960*12720SWyllys.Ingersoll@Sun.COM 		if (soap_element_end_in(soap, tag))
961*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
962*12720SWyllys.Ingersoll@Sun.COM 	}
963*12720SWyllys.Ingersoll@Sun.COM 	else
964*12720SWyllys.Ingersoll@Sun.COM 	{	a = (struct SOAP_ENV__Code *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Code, 0, sizeof(struct SOAP_ENV__Code), 0, NULL);
965*12720SWyllys.Ingersoll@Sun.COM 		if (soap->body && soap_element_end_in(soap, tag))
966*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
967*12720SWyllys.Ingersoll@Sun.COM 	}
968*12720SWyllys.Ingersoll@Sun.COM 	return a;
969*12720SWyllys.Ingersoll@Sun.COM }
970*12720SWyllys.Ingersoll@Sun.COM 
971*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Code(struct soap *soap, const struct SOAP_ENV__Code *a, const char *tag, const char *type)
972*12720SWyllys.Ingersoll@Sun.COM {
973*12720SWyllys.Ingersoll@Sun.COM 	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_SOAP_ENV__Code);
974*12720SWyllys.Ingersoll@Sun.COM 	if (soap_out_SOAP_ENV__Code(soap, tag?tag:"SOAP-ENV:Code", id, a, type))
975*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
976*12720SWyllys.Ingersoll@Sun.COM 	return soap_putindependent(soap);
977*12720SWyllys.Ingersoll@Sun.COM }
978*12720SWyllys.Ingersoll@Sun.COM 
979*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 struct SOAP_ENV__Code * SOAP_FMAC4 soap_get_SOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *p, const char *tag, const char *type)
980*12720SWyllys.Ingersoll@Sun.COM {
981*12720SWyllys.Ingersoll@Sun.COM 	if ((p = soap_in_SOAP_ENV__Code(soap, tag, p, type)))
982*12720SWyllys.Ingersoll@Sun.COM 		if (soap_getindependent(soap))
983*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
984*12720SWyllys.Ingersoll@Sun.COM 	return p;
985*12720SWyllys.Ingersoll@Sun.COM }
986*12720SWyllys.Ingersoll@Sun.COM 
987*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 struct SOAP_ENV__Code * SOAP_FMAC2 soap_instantiate_SOAP_ENV__Code(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
988*12720SWyllys.Ingersoll@Sun.COM {
989*12720SWyllys.Ingersoll@Sun.COM 	(void)type; (void)arrayType; /* appease -Wall -Werror */
990*12720SWyllys.Ingersoll@Sun.COM 	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_SOAP_ENV__Code(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
991*12720SWyllys.Ingersoll@Sun.COM 	struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_SOAP_ENV__Code, n, soap_fdelete);
992*12720SWyllys.Ingersoll@Sun.COM 	if (!cp)
993*12720SWyllys.Ingersoll@Sun.COM 		return NULL;
994*12720SWyllys.Ingersoll@Sun.COM 	if (n < 0)
995*12720SWyllys.Ingersoll@Sun.COM 	{	cp->ptr = (void*)SOAP_NEW(struct SOAP_ENV__Code);
996*12720SWyllys.Ingersoll@Sun.COM 		if (size)
997*12720SWyllys.Ingersoll@Sun.COM 			*size = sizeof(struct SOAP_ENV__Code);
998*12720SWyllys.Ingersoll@Sun.COM 	}
999*12720SWyllys.Ingersoll@Sun.COM 	else
1000*12720SWyllys.Ingersoll@Sun.COM 	{	cp->ptr = (void*)SOAP_NEW(struct SOAP_ENV__Code[n]);
1001*12720SWyllys.Ingersoll@Sun.COM 		if (!cp->ptr)
1002*12720SWyllys.Ingersoll@Sun.COM 		{	soap->error = SOAP_EOM;
1003*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
1004*12720SWyllys.Ingersoll@Sun.COM 		}
1005*12720SWyllys.Ingersoll@Sun.COM 		if (size)
1006*12720SWyllys.Ingersoll@Sun.COM 			*size = n * sizeof(struct SOAP_ENV__Code);
1007*12720SWyllys.Ingersoll@Sun.COM 	}
1008*12720SWyllys.Ingersoll@Sun.COM 		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
1009*12720SWyllys.Ingersoll@Sun.COM 	return (struct SOAP_ENV__Code*)cp->ptr;
1010*12720SWyllys.Ingersoll@Sun.COM }
1011*12720SWyllys.Ingersoll@Sun.COM 
1012*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_copy_SOAP_ENV__Code(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
1013*12720SWyllys.Ingersoll@Sun.COM {
1014*12720SWyllys.Ingersoll@Sun.COM 	(void)soap; (void)st; (void)len; (void)n; /* appease -Wall -Werror */
1015*12720SWyllys.Ingersoll@Sun.COM 	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct SOAP_ENV__Code %p -> %p\n", q, p));
1016*12720SWyllys.Ingersoll@Sun.COM 	*(struct SOAP_ENV__Code*)p = *(struct SOAP_ENV__Code*)q;
1017*12720SWyllys.Ingersoll@Sun.COM }
1018*12720SWyllys.Ingersoll@Sun.COM 
1019*12720SWyllys.Ingersoll@Sun.COM #endif
1020*12720SWyllys.Ingersoll@Sun.COM 
1021*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NOGLOBAL
1022*12720SWyllys.Ingersoll@Sun.COM 
1023*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_default_SOAP_ENV__Header(struct soap *soap, struct SOAP_ENV__Header *a)
1024*12720SWyllys.Ingersoll@Sun.COM {
1025*12720SWyllys.Ingersoll@Sun.COM 	(void)soap; (void)a; /* appease -Wall -Werror */
1026*12720SWyllys.Ingersoll@Sun.COM }
1027*12720SWyllys.Ingersoll@Sun.COM 
1028*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_SOAP_ENV__Header(struct soap *soap, const struct SOAP_ENV__Header *a)
1029*12720SWyllys.Ingersoll@Sun.COM {
1030*12720SWyllys.Ingersoll@Sun.COM 	(void)soap; (void)a; /* appease -Wall -Werror */
1031*12720SWyllys.Ingersoll@Sun.COM }
1032*12720SWyllys.Ingersoll@Sun.COM 
1033*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_out_SOAP_ENV__Header(struct soap *soap, const char *tag, int id, const struct SOAP_ENV__Header *a, const char *type)
1034*12720SWyllys.Ingersoll@Sun.COM {
1035*12720SWyllys.Ingersoll@Sun.COM 	if (soap_element_begin_out(soap, tag, soap_embedded_id(soap, id, a, SOAP_TYPE_SOAP_ENV__Header), type))
1036*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
1037*12720SWyllys.Ingersoll@Sun.COM 	return soap_element_end_out(soap, tag);
1038*12720SWyllys.Ingersoll@Sun.COM }
1039*12720SWyllys.Ingersoll@Sun.COM 
1040*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 struct SOAP_ENV__Header * SOAP_FMAC4 soap_in_SOAP_ENV__Header(struct soap *soap, const char *tag, struct SOAP_ENV__Header *a, const char *type)
1041*12720SWyllys.Ingersoll@Sun.COM {
1042*12720SWyllys.Ingersoll@Sun.COM 	if (soap_element_begin_in(soap, tag, 0, type))
1043*12720SWyllys.Ingersoll@Sun.COM 		return NULL;
1044*12720SWyllys.Ingersoll@Sun.COM 	a = (struct SOAP_ENV__Header *)soap_id_enter(soap, soap->id, a, SOAP_TYPE_SOAP_ENV__Header, sizeof(struct SOAP_ENV__Header), 0, NULL, NULL, NULL);
1045*12720SWyllys.Ingersoll@Sun.COM 	if (!a)
1046*12720SWyllys.Ingersoll@Sun.COM 		return NULL;
1047*12720SWyllys.Ingersoll@Sun.COM 	soap_default_SOAP_ENV__Header(soap, a);
1048*12720SWyllys.Ingersoll@Sun.COM 	if (soap->body && !*soap->href)
1049*12720SWyllys.Ingersoll@Sun.COM 	{
1050*12720SWyllys.Ingersoll@Sun.COM 		for (;;)
1051*12720SWyllys.Ingersoll@Sun.COM 		{	soap->error = SOAP_TAG_MISMATCH;
1052*12720SWyllys.Ingersoll@Sun.COM 			if (soap->error == SOAP_TAG_MISMATCH)
1053*12720SWyllys.Ingersoll@Sun.COM 				soap->error = soap_ignore_element(soap);
1054*12720SWyllys.Ingersoll@Sun.COM 			if (soap->error == SOAP_NO_TAG)
1055*12720SWyllys.Ingersoll@Sun.COM 				break;
1056*12720SWyllys.Ingersoll@Sun.COM 			if (soap->error)
1057*12720SWyllys.Ingersoll@Sun.COM 				return NULL;
1058*12720SWyllys.Ingersoll@Sun.COM 		}
1059*12720SWyllys.Ingersoll@Sun.COM 		if (soap_element_end_in(soap, tag))
1060*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
1061*12720SWyllys.Ingersoll@Sun.COM 	}
1062*12720SWyllys.Ingersoll@Sun.COM 	else
1063*12720SWyllys.Ingersoll@Sun.COM 	{	a = (struct SOAP_ENV__Header *)soap_id_forward(soap, soap->href, (void*)a, 0, SOAP_TYPE_SOAP_ENV__Header, 0, sizeof(struct SOAP_ENV__Header), 0, NULL);
1064*12720SWyllys.Ingersoll@Sun.COM 		if (soap->body && soap_element_end_in(soap, tag))
1065*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
1066*12720SWyllys.Ingersoll@Sun.COM 	}
1067*12720SWyllys.Ingersoll@Sun.COM 	return a;
1068*12720SWyllys.Ingersoll@Sun.COM }
1069*12720SWyllys.Ingersoll@Sun.COM 
1070*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_put_SOAP_ENV__Header(struct soap *soap, const struct SOAP_ENV__Header *a, const char *tag, const char *type)
1071*12720SWyllys.Ingersoll@Sun.COM {
1072*12720SWyllys.Ingersoll@Sun.COM 	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_SOAP_ENV__Header);
1073*12720SWyllys.Ingersoll@Sun.COM 	if (soap_out_SOAP_ENV__Header(soap, tag?tag:"SOAP-ENV:Header", id, a, type))
1074*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
1075*12720SWyllys.Ingersoll@Sun.COM 	return soap_putindependent(soap);
1076*12720SWyllys.Ingersoll@Sun.COM }
1077*12720SWyllys.Ingersoll@Sun.COM 
1078*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 struct SOAP_ENV__Header * SOAP_FMAC4 soap_get_SOAP_ENV__Header(struct soap *soap, struct SOAP_ENV__Header *p, const char *tag, const char *type)
1079*12720SWyllys.Ingersoll@Sun.COM {
1080*12720SWyllys.Ingersoll@Sun.COM 	if ((p = soap_in_SOAP_ENV__Header(soap, tag, p, type)))
1081*12720SWyllys.Ingersoll@Sun.COM 		if (soap_getindependent(soap))
1082*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
1083*12720SWyllys.Ingersoll@Sun.COM 	return p;
1084*12720SWyllys.Ingersoll@Sun.COM }
1085*12720SWyllys.Ingersoll@Sun.COM 
1086*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC1 struct SOAP_ENV__Header * SOAP_FMAC2 soap_instantiate_SOAP_ENV__Header(struct soap *soap, int n, const char *type, const char *arrayType, size_t *size)
1087*12720SWyllys.Ingersoll@Sun.COM {
1088*12720SWyllys.Ingersoll@Sun.COM 	(void)type; (void)arrayType; /* appease -Wall -Werror */
1089*12720SWyllys.Ingersoll@Sun.COM 	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "soap_instantiate_SOAP_ENV__Header(%d, %s, %s)\n", n, type?type:"", arrayType?arrayType:""));
1090*12720SWyllys.Ingersoll@Sun.COM 	struct soap_clist *cp = soap_link(soap, NULL, SOAP_TYPE_SOAP_ENV__Header, n, soap_fdelete);
1091*12720SWyllys.Ingersoll@Sun.COM 	if (!cp)
1092*12720SWyllys.Ingersoll@Sun.COM 		return NULL;
1093*12720SWyllys.Ingersoll@Sun.COM 	if (n < 0)
1094*12720SWyllys.Ingersoll@Sun.COM 	{	cp->ptr = (void*)SOAP_NEW(struct SOAP_ENV__Header);
1095*12720SWyllys.Ingersoll@Sun.COM 		if (size)
1096*12720SWyllys.Ingersoll@Sun.COM 			*size = sizeof(struct SOAP_ENV__Header);
1097*12720SWyllys.Ingersoll@Sun.COM 	}
1098*12720SWyllys.Ingersoll@Sun.COM 	else
1099*12720SWyllys.Ingersoll@Sun.COM 	{	cp->ptr = (void*)SOAP_NEW(struct SOAP_ENV__Header[n]);
1100*12720SWyllys.Ingersoll@Sun.COM 		if (!cp->ptr)
1101*12720SWyllys.Ingersoll@Sun.COM 		{	soap->error = SOAP_EOM;
1102*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
1103*12720SWyllys.Ingersoll@Sun.COM 		}
1104*12720SWyllys.Ingersoll@Sun.COM 		if (size)
1105*12720SWyllys.Ingersoll@Sun.COM 			*size = n * sizeof(struct SOAP_ENV__Header);
1106*12720SWyllys.Ingersoll@Sun.COM 	}
1107*12720SWyllys.Ingersoll@Sun.COM 		DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Instantiated location=%p\n", cp->ptr));
1108*12720SWyllys.Ingersoll@Sun.COM 	return (struct SOAP_ENV__Header*)cp->ptr;
1109*12720SWyllys.Ingersoll@Sun.COM }
1110*12720SWyllys.Ingersoll@Sun.COM 
1111*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_copy_SOAP_ENV__Header(struct soap *soap, int st, int tt, void *p, size_t len, const void *q, size_t n)
1112*12720SWyllys.Ingersoll@Sun.COM {
1113*12720SWyllys.Ingersoll@Sun.COM 	(void)soap; (void)st; (void)len; (void)n; /* appease -Wall -Werror */
1114*12720SWyllys.Ingersoll@Sun.COM 	DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Copying struct SOAP_ENV__Header %p -> %p\n", q, p));
1115*12720SWyllys.Ingersoll@Sun.COM 	*(struct SOAP_ENV__Header*)p = *(struct SOAP_ENV__Header*)q;
1116*12720SWyllys.Ingersoll@Sun.COM }
1117*12720SWyllys.Ingersoll@Sun.COM 
1118*12720SWyllys.Ingersoll@Sun.COM #endif
1119*12720SWyllys.Ingersoll@Sun.COM 
1120*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NOGLOBAL
1121*12720SWyllys.Ingersoll@Sun.COM 
1122*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason *const*a)
1123*12720SWyllys.Ingersoll@Sun.COM {
1124*12720SWyllys.Ingersoll@Sun.COM 	if (!soap_reference(soap, *a, SOAP_TYPE_SOAP_ENV__Reason))
1125*12720SWyllys.Ingersoll@Sun.COM 		soap_serialize_SOAP_ENV__Reason(soap, *a);
1126*12720SWyllys.Ingersoll@Sun.COM }
1127*12720SWyllys.Ingersoll@Sun.COM 
1128*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToSOAP_ENV__Reason(struct soap *soap, const char *tag, int id, struct SOAP_ENV__Reason *const*a, const char *type)
1129*12720SWyllys.Ingersoll@Sun.COM {
1130*12720SWyllys.Ingersoll@Sun.COM 	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_SOAP_ENV__Reason);
1131*12720SWyllys.Ingersoll@Sun.COM 	if (id < 0)
1132*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
1133*12720SWyllys.Ingersoll@Sun.COM 	return soap_out_SOAP_ENV__Reason(soap, tag, id, *a, type);
1134*12720SWyllys.Ingersoll@Sun.COM }
1135*12720SWyllys.Ingersoll@Sun.COM 
1136*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 struct SOAP_ENV__Reason ** SOAP_FMAC4 soap_in_PointerToSOAP_ENV__Reason(struct soap *soap, const char *tag, struct SOAP_ENV__Reason **a, const char *type)
1137*12720SWyllys.Ingersoll@Sun.COM {
1138*12720SWyllys.Ingersoll@Sun.COM 	if (soap_element_begin_in(soap, tag, 1, NULL))
1139*12720SWyllys.Ingersoll@Sun.COM 		return NULL;
1140*12720SWyllys.Ingersoll@Sun.COM 	if (!a)
1141*12720SWyllys.Ingersoll@Sun.COM 		if (!(a = (struct SOAP_ENV__Reason **)soap_malloc(soap, sizeof(struct SOAP_ENV__Reason *))))
1142*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
1143*12720SWyllys.Ingersoll@Sun.COM 	*a = NULL;
1144*12720SWyllys.Ingersoll@Sun.COM 	if (!soap->null && *soap->href != '#')
1145*12720SWyllys.Ingersoll@Sun.COM 	{	soap_revert(soap);
1146*12720SWyllys.Ingersoll@Sun.COM 		if (!(*a = soap_in_SOAP_ENV__Reason(soap, tag, *a, type)))
1147*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
1148*12720SWyllys.Ingersoll@Sun.COM 	}
1149*12720SWyllys.Ingersoll@Sun.COM 	else
1150*12720SWyllys.Ingersoll@Sun.COM 	{	a = (struct SOAP_ENV__Reason **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_SOAP_ENV__Reason, sizeof(struct SOAP_ENV__Reason), 0);
1151*12720SWyllys.Ingersoll@Sun.COM 		if (soap->body && soap_element_end_in(soap, tag))
1152*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
1153*12720SWyllys.Ingersoll@Sun.COM 	}
1154*12720SWyllys.Ingersoll@Sun.COM 	return a;
1155*12720SWyllys.Ingersoll@Sun.COM }
1156*12720SWyllys.Ingersoll@Sun.COM 
1157*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason *const*a, const char *tag, const char *type)
1158*12720SWyllys.Ingersoll@Sun.COM {
1159*12720SWyllys.Ingersoll@Sun.COM 	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerToSOAP_ENV__Reason);
1160*12720SWyllys.Ingersoll@Sun.COM 	if (soap_out_PointerToSOAP_ENV__Reason(soap, tag?tag:"SOAP-ENV:Reason", id, a, type))
1161*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
1162*12720SWyllys.Ingersoll@Sun.COM 	return soap_putindependent(soap);
1163*12720SWyllys.Ingersoll@Sun.COM }
1164*12720SWyllys.Ingersoll@Sun.COM 
1165*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 struct SOAP_ENV__Reason ** SOAP_FMAC4 soap_get_PointerToSOAP_ENV__Reason(struct soap *soap, struct SOAP_ENV__Reason **p, const char *tag, const char *type)
1166*12720SWyllys.Ingersoll@Sun.COM {
1167*12720SWyllys.Ingersoll@Sun.COM 	if ((p = soap_in_PointerToSOAP_ENV__Reason(soap, tag, p, type)))
1168*12720SWyllys.Ingersoll@Sun.COM 		if (soap_getindependent(soap))
1169*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
1170*12720SWyllys.Ingersoll@Sun.COM 	return p;
1171*12720SWyllys.Ingersoll@Sun.COM }
1172*12720SWyllys.Ingersoll@Sun.COM 
1173*12720SWyllys.Ingersoll@Sun.COM #endif
1174*12720SWyllys.Ingersoll@Sun.COM 
1175*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NOGLOBAL
1176*12720SWyllys.Ingersoll@Sun.COM 
1177*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail *const*a)
1178*12720SWyllys.Ingersoll@Sun.COM {
1179*12720SWyllys.Ingersoll@Sun.COM 	if (!soap_reference(soap, *a, SOAP_TYPE_SOAP_ENV__Detail))
1180*12720SWyllys.Ingersoll@Sun.COM 		soap_serialize_SOAP_ENV__Detail(soap, *a);
1181*12720SWyllys.Ingersoll@Sun.COM }
1182*12720SWyllys.Ingersoll@Sun.COM 
1183*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToSOAP_ENV__Detail(struct soap *soap, const char *tag, int id, struct SOAP_ENV__Detail *const*a, const char *type)
1184*12720SWyllys.Ingersoll@Sun.COM {
1185*12720SWyllys.Ingersoll@Sun.COM 	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_SOAP_ENV__Detail);
1186*12720SWyllys.Ingersoll@Sun.COM 	if (id < 0)
1187*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
1188*12720SWyllys.Ingersoll@Sun.COM 	return soap_out_SOAP_ENV__Detail(soap, tag, id, *a, type);
1189*12720SWyllys.Ingersoll@Sun.COM }
1190*12720SWyllys.Ingersoll@Sun.COM 
1191*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 struct SOAP_ENV__Detail ** SOAP_FMAC4 soap_in_PointerToSOAP_ENV__Detail(struct soap *soap, const char *tag, struct SOAP_ENV__Detail **a, const char *type)
1192*12720SWyllys.Ingersoll@Sun.COM {
1193*12720SWyllys.Ingersoll@Sun.COM 	if (soap_element_begin_in(soap, tag, 1, NULL))
1194*12720SWyllys.Ingersoll@Sun.COM 		return NULL;
1195*12720SWyllys.Ingersoll@Sun.COM 	if (!a)
1196*12720SWyllys.Ingersoll@Sun.COM 		if (!(a = (struct SOAP_ENV__Detail **)soap_malloc(soap, sizeof(struct SOAP_ENV__Detail *))))
1197*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
1198*12720SWyllys.Ingersoll@Sun.COM 	*a = NULL;
1199*12720SWyllys.Ingersoll@Sun.COM 	if (!soap->null && *soap->href != '#')
1200*12720SWyllys.Ingersoll@Sun.COM 	{	soap_revert(soap);
1201*12720SWyllys.Ingersoll@Sun.COM 		if (!(*a = soap_in_SOAP_ENV__Detail(soap, tag, *a, type)))
1202*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
1203*12720SWyllys.Ingersoll@Sun.COM 	}
1204*12720SWyllys.Ingersoll@Sun.COM 	else
1205*12720SWyllys.Ingersoll@Sun.COM 	{	a = (struct SOAP_ENV__Detail **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_SOAP_ENV__Detail, sizeof(struct SOAP_ENV__Detail), 0);
1206*12720SWyllys.Ingersoll@Sun.COM 		if (soap->body && soap_element_end_in(soap, tag))
1207*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
1208*12720SWyllys.Ingersoll@Sun.COM 	}
1209*12720SWyllys.Ingersoll@Sun.COM 	return a;
1210*12720SWyllys.Ingersoll@Sun.COM }
1211*12720SWyllys.Ingersoll@Sun.COM 
1212*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail *const*a, const char *tag, const char *type)
1213*12720SWyllys.Ingersoll@Sun.COM {
1214*12720SWyllys.Ingersoll@Sun.COM 	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerToSOAP_ENV__Detail);
1215*12720SWyllys.Ingersoll@Sun.COM 	if (soap_out_PointerToSOAP_ENV__Detail(soap, tag?tag:"SOAP-ENV:Detail", id, a, type))
1216*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
1217*12720SWyllys.Ingersoll@Sun.COM 	return soap_putindependent(soap);
1218*12720SWyllys.Ingersoll@Sun.COM }
1219*12720SWyllys.Ingersoll@Sun.COM 
1220*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 struct SOAP_ENV__Detail ** SOAP_FMAC4 soap_get_PointerToSOAP_ENV__Detail(struct soap *soap, struct SOAP_ENV__Detail **p, const char *tag, const char *type)
1221*12720SWyllys.Ingersoll@Sun.COM {
1222*12720SWyllys.Ingersoll@Sun.COM 	if ((p = soap_in_PointerToSOAP_ENV__Detail(soap, tag, p, type)))
1223*12720SWyllys.Ingersoll@Sun.COM 		if (soap_getindependent(soap))
1224*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
1225*12720SWyllys.Ingersoll@Sun.COM 	return p;
1226*12720SWyllys.Ingersoll@Sun.COM }
1227*12720SWyllys.Ingersoll@Sun.COM 
1228*12720SWyllys.Ingersoll@Sun.COM #endif
1229*12720SWyllys.Ingersoll@Sun.COM 
1230*12720SWyllys.Ingersoll@Sun.COM #ifndef WITH_NOGLOBAL
1231*12720SWyllys.Ingersoll@Sun.COM 
1232*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *const*a)
1233*12720SWyllys.Ingersoll@Sun.COM {
1234*12720SWyllys.Ingersoll@Sun.COM 	if (!soap_reference(soap, *a, SOAP_TYPE_SOAP_ENV__Code))
1235*12720SWyllys.Ingersoll@Sun.COM 		soap_serialize_SOAP_ENV__Code(soap, *a);
1236*12720SWyllys.Ingersoll@Sun.COM }
1237*12720SWyllys.Ingersoll@Sun.COM 
1238*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_out_PointerToSOAP_ENV__Code(struct soap *soap, const char *tag, int id, struct SOAP_ENV__Code *const*a, const char *type)
1239*12720SWyllys.Ingersoll@Sun.COM {
1240*12720SWyllys.Ingersoll@Sun.COM 	id = soap_element_id(soap, tag, id, *a, NULL, 0, type, SOAP_TYPE_SOAP_ENV__Code);
1241*12720SWyllys.Ingersoll@Sun.COM 	if (id < 0)
1242*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
1243*12720SWyllys.Ingersoll@Sun.COM 	return soap_out_SOAP_ENV__Code(soap, tag, id, *a, type);
1244*12720SWyllys.Ingersoll@Sun.COM }
1245*12720SWyllys.Ingersoll@Sun.COM 
1246*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 struct SOAP_ENV__Code ** SOAP_FMAC4 soap_in_PointerToSOAP_ENV__Code(struct soap *soap, const char *tag, struct SOAP_ENV__Code **a, const char *type)
1247*12720SWyllys.Ingersoll@Sun.COM {
1248*12720SWyllys.Ingersoll@Sun.COM 	if (soap_element_begin_in(soap, tag, 1, NULL))
1249*12720SWyllys.Ingersoll@Sun.COM 		return NULL;
1250*12720SWyllys.Ingersoll@Sun.COM 	if (!a)
1251*12720SWyllys.Ingersoll@Sun.COM 		if (!(a = (struct SOAP_ENV__Code **)soap_malloc(soap, sizeof(struct SOAP_ENV__Code *))))
1252*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
1253*12720SWyllys.Ingersoll@Sun.COM 	*a = NULL;
1254*12720SWyllys.Ingersoll@Sun.COM 	if (!soap->null && *soap->href != '#')
1255*12720SWyllys.Ingersoll@Sun.COM 	{	soap_revert(soap);
1256*12720SWyllys.Ingersoll@Sun.COM 		if (!(*a = soap_in_SOAP_ENV__Code(soap, tag, *a, type)))
1257*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
1258*12720SWyllys.Ingersoll@Sun.COM 	}
1259*12720SWyllys.Ingersoll@Sun.COM 	else
1260*12720SWyllys.Ingersoll@Sun.COM 	{	a = (struct SOAP_ENV__Code **)soap_id_lookup(soap, soap->href, (void**)a, SOAP_TYPE_SOAP_ENV__Code, sizeof(struct SOAP_ENV__Code), 0);
1261*12720SWyllys.Ingersoll@Sun.COM 		if (soap->body && soap_element_end_in(soap, tag))
1262*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
1263*12720SWyllys.Ingersoll@Sun.COM 	}
1264*12720SWyllys.Ingersoll@Sun.COM 	return a;
1265*12720SWyllys.Ingersoll@Sun.COM }
1266*12720SWyllys.Ingersoll@Sun.COM 
1267*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_put_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code *const*a, const char *tag, const char *type)
1268*12720SWyllys.Ingersoll@Sun.COM {
1269*12720SWyllys.Ingersoll@Sun.COM 	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_PointerToSOAP_ENV__Code);
1270*12720SWyllys.Ingersoll@Sun.COM 	if (soap_out_PointerToSOAP_ENV__Code(soap, tag?tag:"SOAP-ENV:Code", id, a, type))
1271*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
1272*12720SWyllys.Ingersoll@Sun.COM 	return soap_putindependent(soap);
1273*12720SWyllys.Ingersoll@Sun.COM }
1274*12720SWyllys.Ingersoll@Sun.COM 
1275*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 struct SOAP_ENV__Code ** SOAP_FMAC4 soap_get_PointerToSOAP_ENV__Code(struct soap *soap, struct SOAP_ENV__Code **p, const char *tag, const char *type)
1276*12720SWyllys.Ingersoll@Sun.COM {
1277*12720SWyllys.Ingersoll@Sun.COM 	if ((p = soap_in_PointerToSOAP_ENV__Code(soap, tag, p, type)))
1278*12720SWyllys.Ingersoll@Sun.COM 		if (soap_getindependent(soap))
1279*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
1280*12720SWyllys.Ingersoll@Sun.COM 	return p;
1281*12720SWyllys.Ingersoll@Sun.COM }
1282*12720SWyllys.Ingersoll@Sun.COM 
1283*12720SWyllys.Ingersoll@Sun.COM #endif
1284*12720SWyllys.Ingersoll@Sun.COM 
1285*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_out__QName(struct soap *soap, const char *tag, int id, char *const*a, const char *type)
1286*12720SWyllys.Ingersoll@Sun.COM {
1287*12720SWyllys.Ingersoll@Sun.COM 	return soap_outstring(soap, tag, id, a, type, SOAP_TYPE__QName);
1288*12720SWyllys.Ingersoll@Sun.COM }
1289*12720SWyllys.Ingersoll@Sun.COM 
1290*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 char * * SOAP_FMAC4 soap_in__QName(struct soap *soap, const char *tag, char **a, const char *type)
1291*12720SWyllys.Ingersoll@Sun.COM {	char **p;
1292*12720SWyllys.Ingersoll@Sun.COM 	p = soap_instring(soap, tag, a, type, SOAP_TYPE__QName, 2, -1, -1);
1293*12720SWyllys.Ingersoll@Sun.COM 	return p;
1294*12720SWyllys.Ingersoll@Sun.COM }
1295*12720SWyllys.Ingersoll@Sun.COM 
1296*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_put__QName(struct soap *soap, char *const*a, const char *tag, const char *type)
1297*12720SWyllys.Ingersoll@Sun.COM {
1298*12720SWyllys.Ingersoll@Sun.COM 	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE__QName);
1299*12720SWyllys.Ingersoll@Sun.COM 	if (soap_out__QName(soap, tag?tag:"byte", id, a, type))
1300*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
1301*12720SWyllys.Ingersoll@Sun.COM 	return soap_putindependent(soap);
1302*12720SWyllys.Ingersoll@Sun.COM }
1303*12720SWyllys.Ingersoll@Sun.COM 
1304*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 char ** SOAP_FMAC4 soap_get__QName(struct soap *soap, char **p, const char *tag, const char *type)
1305*12720SWyllys.Ingersoll@Sun.COM {
1306*12720SWyllys.Ingersoll@Sun.COM 	if ((p = soap_in__QName(soap, tag, p, type)))
1307*12720SWyllys.Ingersoll@Sun.COM 		if (soap_getindependent(soap))
1308*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
1309*12720SWyllys.Ingersoll@Sun.COM 	return p;
1310*12720SWyllys.Ingersoll@Sun.COM }
1311*12720SWyllys.Ingersoll@Sun.COM 
1312*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_default_string(struct soap *soap, char **a)
1313*12720SWyllys.Ingersoll@Sun.COM {
1314*12720SWyllys.Ingersoll@Sun.COM 	(void)soap; /* appease -Wall -Werror */
1315*12720SWyllys.Ingersoll@Sun.COM #ifdef SOAP_DEFAULT_string
1316*12720SWyllys.Ingersoll@Sun.COM 	*a = SOAP_DEFAULT_string;
1317*12720SWyllys.Ingersoll@Sun.COM #else
1318*12720SWyllys.Ingersoll@Sun.COM 	*a = (char *)0;
1319*12720SWyllys.Ingersoll@Sun.COM #endif
1320*12720SWyllys.Ingersoll@Sun.COM }
1321*12720SWyllys.Ingersoll@Sun.COM 
1322*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 void SOAP_FMAC4 soap_serialize_string(struct soap *soap, char *const*a)
1323*12720SWyllys.Ingersoll@Sun.COM {
1324*12720SWyllys.Ingersoll@Sun.COM 	soap_reference(soap, *a, SOAP_TYPE_string);
1325*12720SWyllys.Ingersoll@Sun.COM }
1326*12720SWyllys.Ingersoll@Sun.COM 
1327*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_out_string(struct soap *soap, const char *tag, int id, char *const*a, const char *type)
1328*12720SWyllys.Ingersoll@Sun.COM {
1329*12720SWyllys.Ingersoll@Sun.COM 	return soap_outstring(soap, tag, id, a, type, SOAP_TYPE_string);
1330*12720SWyllys.Ingersoll@Sun.COM }
1331*12720SWyllys.Ingersoll@Sun.COM 
1332*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 char * * SOAP_FMAC4 soap_in_string(struct soap *soap, const char *tag, char **a, const char *type)
1333*12720SWyllys.Ingersoll@Sun.COM {	char **p;
1334*12720SWyllys.Ingersoll@Sun.COM 	p = soap_instring(soap, tag, a, type, SOAP_TYPE_string, 1, -1, -1);
1335*12720SWyllys.Ingersoll@Sun.COM 	return p;
1336*12720SWyllys.Ingersoll@Sun.COM }
1337*12720SWyllys.Ingersoll@Sun.COM 
1338*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 int SOAP_FMAC4 soap_put_string(struct soap *soap, char *const*a, const char *tag, const char *type)
1339*12720SWyllys.Ingersoll@Sun.COM {
1340*12720SWyllys.Ingersoll@Sun.COM 	register int id = soap_embed(soap, (void*)a, NULL, 0, tag, SOAP_TYPE_string);
1341*12720SWyllys.Ingersoll@Sun.COM 	if (soap_out_string(soap, tag?tag:"byte", id, a, type))
1342*12720SWyllys.Ingersoll@Sun.COM 		return soap->error;
1343*12720SWyllys.Ingersoll@Sun.COM 	return soap_putindependent(soap);
1344*12720SWyllys.Ingersoll@Sun.COM }
1345*12720SWyllys.Ingersoll@Sun.COM 
1346*12720SWyllys.Ingersoll@Sun.COM SOAP_FMAC3 char ** SOAP_FMAC4 soap_get_string(struct soap *soap, char **p, const char *tag, const char *type)
1347*12720SWyllys.Ingersoll@Sun.COM {
1348*12720SWyllys.Ingersoll@Sun.COM 	if ((p = soap_in_string(soap, tag, p, type)))
1349*12720SWyllys.Ingersoll@Sun.COM 		if (soap_getindependent(soap))
1350*12720SWyllys.Ingersoll@Sun.COM 			return NULL;
1351*12720SWyllys.Ingersoll@Sun.COM 	return p;
1352*12720SWyllys.Ingersoll@Sun.COM }
1353*12720SWyllys.Ingersoll@Sun.COM 
1354*12720SWyllys.Ingersoll@Sun.COM #if defined(__BORLANDC__)
1355*12720SWyllys.Ingersoll@Sun.COM #pragma option pop
1356*12720SWyllys.Ingersoll@Sun.COM #pragma option pop
1357*12720SWyllys.Ingersoll@Sun.COM #endif
1358*12720SWyllys.Ingersoll@Sun.COM 
1359*12720SWyllys.Ingersoll@Sun.COM /* End of envC.cpp */
1360