annotate GEMBASSY-1.0.3/gsoap/stdsoap2.h @ 0:8300eb051bea draft

Initial upload
author ktnyt
date Fri, 26 Jun 2015 05:19:29 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1 /*
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2 stdsoap2.h 2.8.17r
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
3
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
4 gSOAP runtime engine
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
5
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
6 gSOAP XML Web services tools
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
7 Copyright (C) 2000-2013, Robert van Engelen, Genivia Inc., All Rights Reserved.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
8 This part of the software is released under ONE of the following licenses:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
9 GPL, or the gSOAP public license, or Genivia's license for commercial use.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
10 --------------------------------------------------------------------------------
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
11 Contributors:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
12
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
13 Wind River Systems, Inc., for the following additions
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
14 - vxWorks compatible
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
15 --------------------------------------------------------------------------------
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
16 gSOAP public license.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
17
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
18 The contents of this file are subject to the gSOAP Public License Version 1.3
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
19 (the "License"); you may not use this file except in compliance with the
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
20 License. You may obtain a copy of the License at
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
21 http://www.cs.fsu.edu/~engelen/soaplicense.html
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
22 Software distributed under the License is distributed on an "AS IS" basis,
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
23 WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
24 for the specific language governing rights and limitations under the License.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
25
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
26 The Initial Developer of the Original Code is Robert A. van Engelen.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
27 Copyright (C) 2000-2013, Robert van Engelen, Genivia Inc., All Rights Reserved.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
28 --------------------------------------------------------------------------------
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
29 GPL license.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
30
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
31 This program is free software; you can redistribute it and/or modify it under
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
32 the terms of the GNU General Public License as published by the Free Software
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
33 Foundation; either version 2 of the License, or (at your option) any later
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
34 version.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
35
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
36 This program is distributed in the hope that it will be useful, but WITHOUT ANY
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
37 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
38 PARTICULAR PURPOSE. See the GNU General Public License for more details.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
39
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
40 You should have received a copy of the GNU General Public License along with
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
41 this program; if not, write to the Free Software Foundation, Inc., 59 Temple
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
42 Place, Suite 330, Boston, MA 02111-1307 USA
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
43
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
44 Author contact information:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
45 engelen@genivia.com / engelen@acm.org
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
46
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
47 This program is released under the GPL with the additional exemption that
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
48 compiling, linking, and/or using OpenSSL is allowed.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
49 --------------------------------------------------------------------------------
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
50 A commercial use license is available from Genivia, Inc., contact@genivia.com
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
51 --------------------------------------------------------------------------------
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
52 */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
53
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
54 #define GSOAP_VERSION 20817
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
55
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
56 #ifdef WITH_SOAPDEFS_H
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
57 # include "soapdefs.h" /* include user-defined stuff */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
58 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
59
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
60 #ifndef _THREAD_SAFE
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
61 # define _THREAD_SAFE
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
62 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
63
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
64 #ifndef OPENSERVER
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
65 # ifndef _REENTRANT
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
66 # define _REENTRANT
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
67 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
68 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
69
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
70 #ifndef SOAP_FMAC1 /* stdsoap2.h declaration macro */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
71 # define SOAP_FMAC1
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
72 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
73
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
74 #ifndef SOAP_FMAC2 /* stdsoap2.h declaration macro */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
75 # define SOAP_FMAC2
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
76 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
77
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
78 #ifndef SOAP_FMAC3 /* (de)serializer declaration macro */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
79 # define SOAP_FMAC3
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
80 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
81
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
82 #ifndef SOAP_FMAC3S /* string converter for (de)serializer declaration macro */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
83 # define SOAP_FMAC3S SOAP_FMAC3
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
84 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
85
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
86 #ifndef SOAP_FMAC4 /* (de)serializer declaration macro */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
87 # define SOAP_FMAC4
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
88 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
89
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
90 #ifndef SOAP_FMAC4S /* string converter for (de)serializer declaration macro */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
91 # define SOAP_FMAC4S SOAP_FMAC4
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
92 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
93
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
94 #ifndef SOAP_FMAC5 /* stub/skeleton declaration macro */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
95 # define SOAP_FMAC5
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
96 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
97
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
98 #ifndef SOAP_FMAC6 /* stub/skeleton declaration macro */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
99 # define SOAP_FMAC6
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
100 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
101
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
102 #ifndef SOAP_CMAC /* class declaration macro */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
103 # define SOAP_CMAC
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
104 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
105
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
106 #ifndef SOAP_NMAC /* namespace table declaration macro */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
107 # define SOAP_NMAC
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
108 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
109
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
110 #ifndef SOAP_SOURCE_STAMP
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
111 # define SOAP_SOURCE_STAMP(str)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
112 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
113
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
114 /* gSOAP 2.7.4 and higher: fast look-aside buffering is stable */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
115 #ifndef WITH_FAST
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
116 # define WITH_FAST
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
117 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
118
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
119 #ifndef STDSOAP_H
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
120 #define STDSOAP_H
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
121
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
122 #if defined(__vxworks) || defined(__VXWORKS__)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
123 # ifndef VXWORKS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
124 # define VXWORKS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
125 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
126 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
127
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
128 #ifdef _WIN32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
129 # ifndef WIN32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
130 # define WIN32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
131 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
132 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
133
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
134 /* for legacy purposes we use WIN32 macro even though 64 bit is supported */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
135 #ifdef _WIN64
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
136 # ifndef WIN32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
137 # define WIN32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
138 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
139 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
140
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
141 #ifdef _WIN32_WCE
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
142 # ifndef UNDER_CE
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
143 # define UNDER_CE _WIN32_WCE
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
144 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
145 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
146
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
147 #ifdef UNDER_CE
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
148 # ifndef WIN32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
149 # define WIN32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
150 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
151 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
152
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
153 #ifdef __BORLANDC__
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
154 # ifdef __WIN32__
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
155 # ifndef WIN32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
156 # define WIN32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
157 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
158 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
159 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
160
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
161 #ifdef __CYGWIN__
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
162 # ifndef CYGWIN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
163 # define CYGWIN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
164 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
165 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
166
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
167 #ifdef __SYMBIAN32__
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
168 # define SYMBIAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
169 # undef WIN32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
170 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
171
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
172 #if defined(__palmos__) || defined(PALM_GCC) || defined(__PALMOS_TRAPS__)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
173 # ifndef PALM
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
174 # define PALM
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
175 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
176 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
177
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
178 #if defined(__hpux)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
179 # ifndef HP_UX
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
180 # define HP_UX
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
181 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
182 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
183
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
184 #if defined(__digital__) && defined(__unix__)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
185 # ifndef TRU64
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
186 # define TRU64
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
187 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
188 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
189
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
190 #ifdef __MVS__
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
191 # ifndef OS390
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
192 # define OS390
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
193 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
194 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
195
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
196 #ifdef HAVE_CONFIG_H
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
197 # include "config.h"
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
198 # if defined(WITH_OPENSSL)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
199 # ifndef HAVE_OPENSSL_SSL_H
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
200 # undef WITH_OPENSSL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
201 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
202 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
203 # if defined(WITH_GNUTLS)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
204 # ifndef HAVE_GNUTLS_GNUTLS_H
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
205 # undef WITH_GNUTLS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
206 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
207 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
208 # if defined(WITH_ZLIB) || defined(WITH_GZIP)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
209 # ifndef HAVE_ZLIB_H
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
210 # undef WITH_ZLIB
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
211 # undef WITH_GZIP
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
212 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
213 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
214 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
215 # if defined(UNDER_CE)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
216 # define WITH_LEAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
217 # define HAVE_SSCANF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
218 # elif defined(WIN32)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
219 # if _MSC_VER >= 1400
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
220 # define HAVE_SNPRINTF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
221 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
222 # define HAVE_STRRCHR
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
223 # define HAVE_STRTOD
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
224 # define HAVE_SSCANF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
225 # define HAVE_STRTOD_L
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
226 # define HAVE_SPRINTF_L
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
227 # define HAVE_STRTOL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
228 # define HAVE_STRTOUL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
229 # if _MSC_VER >= 1300
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
230 # define HAVE_STRTOLL /* use _strtoi64 */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
231 # define HAVE_STRTOULL /* use _strtoui64 */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
232 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
233 # define HAVE_SYS_TIMEB_H
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
234 # define HAVE_FTIME
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
235 # define HAVE_GMTIME
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
236 # define HAVE_WCTOMB
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
237 # define HAVE_MBTOWC
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
238 # define SOAP_LONG_FORMAT "%I64d"
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
239 # define SOAP_ULONG_FORMAT "%I64u"
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
240 # elif defined(CYGWIN)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
241 # define HAVE_POLL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
242 # define HAVE_SNPRINTF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
243 # define HAVE_STRRCHR
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
244 # define HAVE_STRTOD
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
245 # define HAVE_SSCANF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
246 # define HAVE_STRTOL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
247 # define HAVE_STRTOUL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
248 # define HAVE_SYS_TIMEB_H
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
249 # define HAVE_FTIME
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
250 # define HAVE_RAND_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
251 # define HAVE_GMTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
252 # define HAVE_LOCALTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
253 # define HAVE_STRERROR_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
254 # define HAVE_WCTOMB
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
255 # define HAVE_MBTOWC
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
256 # elif defined(__APPLE__)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
257 # define HAVE_POLL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
258 # define HAVE_SNPRINTF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
259 # define HAVE_STRRCHR
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
260 # define HAVE_STRTOD
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
261 # define HAVE_SSCANF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
262 # define HAVE_STRTOD_L
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
263 # define HAVE_SSCANF_L
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
264 # define HAVE_SPRINTF_L
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
265 # define HAVE_STRTOL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
266 # define HAVE_STRTOUL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
267 # define HAVE_RAND_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
268 # define HAVE_GMTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
269 # define HAVE_TM_GMTOFF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
270 # define HAVE_GETTIMEOFDAY
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
271 # define HAVE_LOCALTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
272 # define HAVE_STRERROR_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
273 # define HAVE_TIMEGM
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
274 # define HAVE_WCTOMB
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
275 # define HAVE_MBTOWC
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
276 # define HAVE_INTTYPES_H
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
277 # elif defined(_AIX43)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
278 # define HAVE_SNPRINTF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
279 # define HAVE_STRRCHR
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
280 # define HAVE_STRTOD
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
281 # define HAVE_SSCANF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
282 # define HAVE_STRTOL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
283 # define HAVE_STRTOUL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
284 # define HAVE_SYS_TIMEB_H
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
285 # define HAVE_FTIME
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
286 # define HAVE_RAND_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
287 # define HAVE_GMTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
288 # define HAVE_LOCALTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
289 # define HAVE_WCTOMB
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
290 # define HAVE_MBTOWC
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
291 # elif defined(_AIX41)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
292 # define HAVE_SNPRINTF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
293 # define HAVE_STRRCHR
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
294 # define HAVE_STRTOD
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
295 # define HAVE_SSCANF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
296 # define HAVE_STRTOL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
297 # define HAVE_STRTOUL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
298 # define HAVE_SYS_TIMEB_H
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
299 # define HAVE_WCTOMB
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
300 # define HAVE_MBTOWC
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
301 # elif defined(HP_UX)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
302 # define HAVE_SNPRINTF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
303 # define HAVE_STRRCHR
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
304 # define HAVE_STRTOD
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
305 # define HAVE_SSCANF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
306 # define HAVE_STRTOL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
307 # define HAVE_STRTOUL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
308 # define HAVE_SYS_TIMEB_H
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
309 # define HAVE_FTIME
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
310 # define HAVE_RAND_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
311 # define HAVE_GMTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
312 # define HAVE_LOCALTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
313 # define HAVE_WCTOMB
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
314 # define HAVE_MBTOWC
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
315 # define HAVE_ISNAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
316 # elif defined(FREEBSD) || defined(__FreeBSD__) || defined(OPENBSD)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
317 # define HAVE_POLL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
318 # define HAVE_SNPRINTF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
319 # define HAVE_STRRCHR
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
320 # define HAVE_STRTOD
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
321 # define HAVE_SSCANF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
322 # define HAVE_STRTOD_L
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
323 # define HAVE_SSCANF_L
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
324 # define HAVE_SPRINTF_L
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
325 # define HAVE_STRTOL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
326 # define HAVE_STRTOUL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
327 # define HAVE_STRTOLL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
328 # define HAVE_STRTOULL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
329 # define HAVE_GETTIMEOFDAY
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
330 # define HAVE_RAND_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
331 # define HAVE_GMTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
332 # define HAVE_LOCALTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
333 # define HAVE_STRERROR_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
334 # define HAVE_WCTOMB
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
335 # define HAVE_MBTOWC
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
336 # define SOAP_LONG_FORMAT "%qd"
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
337 # define SOAP_ULONG_FORMAT "%qu"
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
338 # define HAVE_ISNAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
339 # define HAVE_ISINF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
340 # elif defined(__VMS)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
341 # include <ioctl.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
342 # define HAVE_SNPRINTF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
343 # define HAVE_STRRCHR
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
344 # define HAVE_STRTOD
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
345 # define HAVE_SSCANF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
346 # define HAVE_STRTOL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
347 # define HAVE_STRTOUL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
348 # define HAVE_SYS_TIMEB_H
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
349 # define HAVE_FTIME
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
350 # define HAVE_RAND_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
351 # define HAVE_GMTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
352 # define HAVE_LOCALTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
353 # define HAVE_WCTOMB
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
354 # define HAVE_MBTOWC
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
355 # elif defined(__GLIBC__) || defined(__GNU__)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
356 # define HAVE_POLL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
357 # define HAVE_SNPRINTF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
358 # define HAVE_STRRCHR
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
359 # define HAVE_STRTOD
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
360 # define HAVE_SSCANF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
361 # define HAVE_STRTOD_L
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
362 # define HAVE_SSCANF_L
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
363 # define HAVE_SPRINTF_L
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
364 # define HAVE_STRTOL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
365 # define HAVE_STRTOUL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
366 # define HAVE_STRTOLL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
367 # define HAVE_STRTOULL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
368 # define HAVE_SYS_TIMEB_H
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
369 # define HAVE_FTIME
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
370 # define HAVE_RAND_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
371 # define HAVE_GMTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
372 # define HAVE_LOCALTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
373 # define HAVE_STRERROR_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
374 # define HAVE_TIMEGM
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
375 # define HAVE_WCTOMB
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
376 # define HAVE_MBTOWC
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
377 # define HAVE_ISNAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
378 # define HAVE_ISINF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
379 # elif defined(TRU64)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
380 # define HAVE_SNPRINTF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
381 # define HAVE_STRRCHR
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
382 # define HAVE_STRTOD
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
383 # define HAVE_SSCANF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
384 # define HAVE_STRTOL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
385 # define HAVE_STRTOUL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
386 # define HAVE_GETTIMEOFDAY
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
387 # define HAVE_SYS_TIMEB_H
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
388 # define HAVE_RAND_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
389 # define HAVE_GMTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
390 # define HAVE_LOCALTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
391 # define __USE_STD_IOSTREAM
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
392 # define HAVE_WCTOMB
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
393 # define HAVE_MBTOWC
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
394 # define SOAP_LONG_FORMAT "%ld"
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
395 # define SOAP_ULONG_FORMAT "%lu"
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
396 # elif defined(MAC_CARBON)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
397 # define WITH_NOIO
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
398 # define HAVE_SNPRINTF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
399 # define HAVE_STRRCHR
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
400 # define HAVE_STRTOD
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
401 # define HAVE_SSCANF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
402 # define HAVE_STRTOD_L
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
403 # define HAVE_SSCANF_L
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
404 # define HAVE_SPRINTF_L
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
405 # define HAVE_STRTOL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
406 # define HAVE_STRTOUL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
407 # define HAVE_FTIME
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
408 # define HAVE_RAND_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
409 # define HAVE_GETHOSTBYNAME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
410 # define HAVE_GMTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
411 # define HAVE_LOCALTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
412 # define HAVE_STRERROR_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
413 # define HAVE_WCTOMB
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
414 # define HAVE_MBTOWC
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
415 # elif defined(PALM)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
416 # define WITH_LEAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
417 # define HAVE_STRTOD /* strtod() is defined in palmFunctions.h */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
418 # include <stdlib.h> /* Needs to be included before unix headers */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
419 # include <sys_types.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
420 # define IGNORE_STDIO_STUBS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
421 # include <StdIOPalm.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
422 # define O_NONBLOCK FNONBIO
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
423 # include <sys_socket.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
424 # include "palmFunctions.h"
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
425 # elif defined(SYMBIAN)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
426 # define WITH_LEAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
427 # define WITH_NONAMESPACES
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
428 # define HAVE_STRTOD /* use STRTOD since sscanf doesn't seem to work */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
429 # include <e32def.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
430 # include <sys/ioctl.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
431 # elif defined(VXWORKS)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
432 # ifdef _WRS_KERNEL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
433 # define _POSIX_THREADS 1
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
434 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
435 # define HAVE_STRRCHR
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
436 # define HAVE_STRTOD
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
437 # define HAVE_SSCANF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
438 # define HAVE_STRTOL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
439 # define HAVE_STRTOUL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
440 # define HAVE_GMTIME
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
441 # define HAVE_LOCALTIME
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
442 # define HAVE_MKTIME
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
443 # elif defined(OS390)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
444 # define HAVE_SNPRINTF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
445 # define HAVE_STRRCHR
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
446 # define HAVE_STRTOD
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
447 # define HAVE_SSCANF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
448 # define HAVE_STRTOL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
449 # define HAVE_STRTOUL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
450 # define HAVE_SYS_TIMEB_H
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
451 # define HAVE_FTIME
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
452 # define HAVE_RAND_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
453 # define HAVE_GMTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
454 # define HAVE_LOCALTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
455 # define HAVE_WCTOMB
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
456 # define HAVE_MBTOWC
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
457 # elif defined(AS400)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
458 # define HAVE_SNPRINTF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
459 # define HAVE_STRRCHR
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
460 # define HAVE_STRTOD
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
461 # define HAVE_SSCANF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
462 # define HAVE_STRTOL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
463 # define HAVE_STRTOUL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
464 # define HAVE_SYS_TIMEB_H
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
465 # define HAVE_FTIME
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
466 # define HAVE_RAND_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
467 # define HAVE_GMTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
468 # define HAVE_LOCALTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
469 # define HAVE_WCTOMB
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
470 # define HAVE_MBTOWC
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
471 # elif defined(__QNX__) || defined(QNX)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
472 /* QNX does not have a working version of strtof */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
473 # undef HAVE_STRTOF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
474 # define HAVE_POLL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
475 # define HAVE_SNPRINTF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
476 # define HAVE_STRRCHR
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
477 # define HAVE_STRTOD
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
478 # define HAVE_SSCANF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
479 # define HAVE_STRTOL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
480 # define HAVE_STRTOUL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
481 # define HAVE_SYS_TIMEB_H
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
482 # define HAVE_FTIME
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
483 # define HAVE_RAND_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
484 # define HAVE_GETHOSTBYNAME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
485 # define HAVE_GMTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
486 # define HAVE_LOCALTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
487 # define HAVE_STRERROR_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
488 # define HAVE_WCTOMB
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
489 # define HAVE_MBTOWC
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
490 # elif defined(SUN_OS)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
491 # define HAVE_SNPRINTF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
492 # define HAVE_STRRCHR
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
493 # define HAVE_STRTOD
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
494 # define HAVE_SSCANF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
495 # define HAVE_STRTOL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
496 # define HAVE_STRTOUL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
497 # define HAVE_SYS_TIMEB_H
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
498 # define HAVE_FTIME
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
499 # define HAVE_RAND_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
500 # define HAVE_GETHOSTBYNAME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
501 # define HAVE_GMTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
502 # define HAVE_LOCALTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
503 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
504 /* Default assumptions for supported functions */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
505 # define HAVE_SNPRINTF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
506 # define HAVE_STRRCHR
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
507 # define HAVE_STRTOD
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
508 # define HAVE_SSCANF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
509 # define HAVE_STRTOL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
510 # define HAVE_STRTOUL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
511 # define HAVE_SYS_TIMEB_H
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
512 # define HAVE_FTIME
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
513 # define HAVE_RAND_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
514 # define HAVE_GETHOSTBYNAME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
515 # define HAVE_GMTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
516 # define HAVE_LOCALTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
517 # define HAVE_STRERROR_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
518 # ifdef MB_LEN_MAX
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
519 # define HAVE_WCTOMB
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
520 # define HAVE_MBTOWC
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
521 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
522 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
523 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
524
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
525 /* gSOAP 2.7.15 and higher: always retain CDATA in literal XML, unless WITH_LEAN or WITH_NOCDATA */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
526 #ifndef WITH_LEAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
527 # ifndef WITH_NOCDATA
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
528 # ifndef WITH_CDATA
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
529 # define WITH_CDATA
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
530 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
531 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
532 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
533
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
534 #ifdef WITH_LEANER
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
535 # ifndef WITH_LEAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
536 # define WITH_LEAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
537 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
538 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
539
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
540 #ifdef WITH_LEAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
541 # ifdef WITH_COOKIES
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
542 # error "Cannot build WITH_LEAN code WITH_COOKIES enabled"
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
543 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
544 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
545
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
546 /* native Win, HP-UX, and AIX compilers don't like empty structs */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
547 #if defined(WIN32) || defined(HP_UX) || defined(_AIX) || defined(AIX) || defined(VXWORKS)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
548 # define WITH_NOEMPTYSTRUCT
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
549 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
550
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
551 #ifdef WITH_PURE_VIRTUAL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
552 # define SOAP_PURE_VIRTUAL = 0
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
553 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
554 # define SOAP_PURE_VIRTUAL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
555 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
556
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
557 #ifdef HP_UX
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
558 # undef HAVE_STRTOLL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
559 # undef HAVE_STRTOULL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
560 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
561
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
562 /* older OpenVMS TCP/IP stacks cannot handle 65536 bytes */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
563 #ifdef __VMS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
564 # ifndef SOAP_BUFLEN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
565 # define SOAP_BUFLEN (65535)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
566 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
567 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
568
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
569 /* if we have xlocale.h we use it to avoid decimal point conversion issues */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
570 #ifdef WITH_C_LOCALE
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
571 # ifdef WIN32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
572 # include <locale.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
573 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
574 # include <xlocale.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
575 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
576 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
577 # undef HAVE_STRTOF_L
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
578 # undef HAVE_STRTOD_L
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
579 # undef HAVE_SSCANF_L
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
580 # undef HAVE_SPRINTF_L
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
581 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
582
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
583 #ifdef TANDEM_NONSTOP /* Support for Guardian */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
584 # define SOAP_BUFLEN (32767)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
585 /*# define WITH_NOSTDLIB */ /* uncommment to remove stdlib dependences */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
586 # define WITH_NOIO /* no IO dependences, e.g. remove TCP/IP */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
587 # define int32_t int
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
588 # define int64_t long long
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
589 # define LONG64 long long
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
590 # define ULONG64 long long
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
591 # define DBL_PINFTY (1.1579208923716189e77)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
592 # define WITH_NOEMPTYSTRUCT
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
593 # undef HAVE_WCTOMB
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
594 # undef HAVE_MBTOWC
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
595 # undef HAVE_GMTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
596 # undef HAVE_LOCALTIME_R
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
597 # undef HAVE_SNPRINTF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
598 # define SOAP_BUFLEN (32767)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
599 # define SOAP_SOCKET short
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
600 #pragma nolist
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
601 # include <sys\param.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
602 # include <sys\socket.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
603 # include <netinet\in.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
604 # include <netdb.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
605 # include <stdio.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
606 # include <fcntl.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
607 # include <string.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
608 # include <stdlib.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
609 # include <memory.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
610 # include <errno.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
611 # include <cextdecs.h(TIME,FILE_CLOSE_,AWAITIOX,DELAY,FILEINFO,FILE_GETINFO_)>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
612 # define INET_ERROR 4294967295
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
613 #pragma list
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
614 #elif defined(__TANDEM) /* Support for OSS */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
615 # define int32_t int
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
616 # define SOAP_BUFLEN (32767)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
617 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
618
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
619 #ifndef WITH_NOSTDLIB
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
620 # include <stdlib.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
621 # ifndef PALM
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
622 # include <stdio.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
623 # include <string.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
624 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
625 # include <ctype.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
626 # include <limits.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
627 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
628
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
629 #ifdef WITH_NTLM
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
630 # include <ntlm.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
631 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
632
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
633 #ifdef HAVE_POLL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
634 # include <poll.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
635 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
636
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
637 #if defined(__cplusplus) && !defined(WITH_LEAN) && !defined(WITH_COMPAT)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
638 # include <string>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
639 # include <iostream>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
640 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
641
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
642 #ifdef WITH_NOHTTP
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
643 # ifndef WITH_NOIO
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
644 # define WITH_NOIO
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
645 # undef WITH_COOKIES
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
646 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
647 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
648
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
649 /* Suggestion when SOAP_FD_EXCEEDED error occurs:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
650 Some systems allow increasing FD_SETSIZE before including sys/types.h:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
651 #define FD_SETSIZE (2048)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
652 */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
653
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
654 #ifndef UNDER_CE
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
655 # ifndef PALM
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
656 # ifndef WITH_NOIO
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
657 # include <errno.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
658 # include <sys/types.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
659 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
660 # ifndef WITH_LEAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
661 # ifdef HAVE_SYS_TIMEB_H
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
662 # include <sys/timeb.h> /* for ftime() */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
663 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
664 # include <time.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
665 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
666 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
667 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
668
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
669 #ifdef OPENSERVER
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
670 # include <sys/socket.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
671 # include <sys/stream.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
672 # include <sys/protosw.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
673 extern int h_errno;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
674 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
675
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
676 #ifndef WITH_NOIO
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
677 # ifndef WIN32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
678 # ifndef PALM
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
679 # include <sys/socket.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
680 # ifdef VXWORKS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
681 # include <sockLib.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
682 # include <selectLib.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
683 # ifndef _WRS_KERNEL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
684 # include <strings.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
685 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
686 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
687 # ifndef SYMBIAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
688 # include <strings.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
689 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
690 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
691 # ifdef SUN_OS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
692 # include <sys/stream.h> /* SUN */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
693 # include <sys/socketvar.h> /* SUN < 2.8 (?) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
694 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
695 # ifdef VXWORKS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
696 # ifdef _WRS_KERNEL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
697 # include <sys/times.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
698 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
699 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
700 # include <sys/time.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
701 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
702 # include <netinet/in.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
703 # ifdef OS390
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
704 # include <netinet/tcp_var.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
705 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
706 # include <netinet/tcp.h> /* TCP_NODELAY */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
707 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
708 # include <arpa/inet.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
709 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
710 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
711 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
712
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
713 #ifdef WIN32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
714 # define SOAP_WINSOCKINT int
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
715 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
716 # define SOAP_WINSOCKINT size_t
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
717 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
718
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
719 #if defined(WITH_IPV6_V6ONLY) || defined(WITH_NO_IPV6_V6ONLY)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
720 # ifndef WITH_IPV6
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
721 # define WITH_IPV6
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
722 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
723 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
724
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
725 #ifdef WIN32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
726 # ifndef UNDER_CE
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
727 # include <io.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
728 # include <fcntl.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
729 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
730 // When you get macro redefinition errors when compiling the code below, then:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
731 // a) try arrange your includes so <windows.h> is included after "stdsoap2.h"
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
732 // b) or define _WINSOCKAPI_ first:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
733 // #define _WINSOCKAPI_ // stops windows.h including winsock.h
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
734 // #include <windows.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
735 // #include "stdsoap2.h"
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
736 // c) or compile with the -DWIN32_LEAN_AND_MEAN switch
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
737 # include <winsock2.h> // Visual Studio 2005 users: install Platform SDK (R2)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
738 # include <ws2tcpip.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
739 // # define _WSPIAPI_COUNTOF // DEV NOTE: enble to fix problems with VC6
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
740 // # include <wspiapi.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
741 # include <ws2spi.h> // DEV NOTE: replaces older wspiapi.h above
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
742 # ifdef WITH_IPV6
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
743 # define SOAP_GAI_STRERROR gai_strerrorA
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
744 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
745 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
746 # ifdef VXWORKS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
747 # include <hostLib.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
748 # include <ioctl.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
749 # include <ioLib.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
750 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
751 # ifndef WITH_NOIO
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
752 # ifndef PALM
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
753 # include <netdb.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
754 # include <netinet/in.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
755 # include <unistd.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
756 # include <fcntl.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
757 # ifdef _AIX41
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
758 # include <sys/select.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
759 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
760 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
761 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
762 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
763
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
764 #ifdef WITH_FASTCGI
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
765 # include <fcgi_stdio.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
766 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
767
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
768 #ifdef WITH_OPENSSL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
769 # ifdef __VMS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
770 # pragma names save
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
771 # pragma names uppercase
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
772 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
773 # undef WITH_GNUTLS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
774 # define OPENSSL_NO_KRB5
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
775 # include <openssl/bio.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
776 # include <openssl/err.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
777 # include <openssl/rand.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
778 # include <openssl/ssl.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
779 # include <openssl/x509v3.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
780 # ifndef ALLOW_OLD_VERSIONS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
781 # if (OPENSSL_VERSION_NUMBER < 0x00905100L)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
782 # error "Must use OpenSSL 0.9.6 or later"
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
783 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
784 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
785 # ifdef __VMS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
786 # pragma names restore
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
787 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
788 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
789
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
790 #ifdef WITH_GNUTLS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
791 # include <gnutls/gnutls.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
792 # include <gnutls/x509.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
793 # include <gcrypt.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
794 # ifndef HAVE_PTHREAD_H
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
795 # ifdef _POSIX_THREADS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
796 # define HAVE_PTHREAD_H /* make GNUTLS thread safe */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
797 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
798 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
799 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
800
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
801 #ifdef WITH_GZIP
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
802 # ifndef WITH_ZLIB
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
803 # define WITH_ZLIB
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
804 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
805 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
806
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
807 #ifdef WITH_CASEINSENSITIVETAGS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
808 # define SOAP_STRCMP soap_tag_cmp /* case insensitve XML element/attribute names */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
809 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
810 # define SOAP_STRCMP strcmp /* case sensitive XML element/attribute names */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
811 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
812
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
813 #ifdef WITH_ZLIB
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
814 # include <zlib.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
815 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
816
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
817 #ifndef WITH_NOSTDLIB
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
818 # ifndef PALM
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
819 # include <math.h> /* for isnan() */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
820 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
821 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
822
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
823 /* #define DEBUG */ /* Uncomment to debug sending (in file SENT.log) receiving (in file RECV.log) and internal operations (in file TEST.log) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
824
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
825 /* #define DEBUG_STAMP */ /* Uncomment to debug sending (in file SENT.log) receiving (in file RECV.log) and time-stamped operations (in file TEST.log) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
826
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
827 #ifdef __cplusplus
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
828 extern "C" {
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
829 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
830
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
831 /* Portability: define SOAP_SOCKLEN_T */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
832 #if defined(_AIX) || defined(AIX)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
833 # if defined(_AIX43)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
834 # define SOAP_SOCKLEN_T socklen_t
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
835 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
836 # define SOAP_SOCKLEN_T int
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
837 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
838 #elif defined(SOCKLEN_T)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
839 # define SOAP_SOCKLEN_T SOCKLEN_T
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
840 #elif defined(__socklen_t_defined) || defined(_SOCKLEN_T) || defined(CYGWIN) || defined(FREEBSD) || defined(__FreeBSD__) || defined(OPENBSD) || defined(__QNX__) || defined(QNX) || defined(OS390) || defined(__ANDROID__)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
841 # define SOAP_SOCKLEN_T socklen_t
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
842 #elif defined(IRIX) || defined(WIN32) || defined(__APPLE__) || defined(SUN_OS) || defined(OPENSERVER) || defined(TRU64) || defined(VXWORKS) || defined(HP_UX)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
843 # define SOAP_SOCKLEN_T int
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
844 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
845 # define SOAP_SOCKLEN_T size_t
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
846 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
847
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
848 #ifndef SOAP_SOCKET
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
849 # ifdef WIN32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
850 # define SOAP_SOCKET SOCKET
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
851 # define soap_closesocket(n) closesocket(n)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
852 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
853 # define SOAP_SOCKET int
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
854 # define soap_closesocket(n) close(n)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
855 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
856 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
857
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
858 #define SOAP_INVALID_SOCKET ((SOAP_SOCKET)-1)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
859 #define soap_valid_socket(n) ((n) != SOAP_INVALID_SOCKET)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
860
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
861 #define SOAP_SHUT_WR 1
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
862 #define SOAP_SHUT_RDWR 2
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
863
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
864 #ifndef SOAP_GAI_STRERROR
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
865 # define SOAP_GAI_STRERROR gai_strerror
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
866 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
867
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
868 #ifndef FD_SETSIZE
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
869 # define FD_SETSIZE (1024)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
870 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
871
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
872 #ifdef WITH_LEAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
873 # define SOAP_CHK_EOF SOAP_EOF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
874 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
875 # define SOAP_CHK_EOF (soap->error ? soap->error : SOAP_EOF)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
876 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
877
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
878 #ifdef __cplusplus
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
879 # ifndef __STDC_FORMAT_MACROS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
880 # define __STDC_FORMAT_MACROS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
881 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
882 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
883
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
884 #if defined(SYMBIAN)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
885 # define LONG64 long
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
886 # define ULONG64 unsigned LONG64
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
887 #elif !defined(WIN32) || defined(CYGWIN) || defined(__GLIBC__) || defined(__GNU__)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
888 # ifndef LONG64
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
889 # if defined(HAVE_INTTYPES_H)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
890 # ifdef HAVE_STDINT_H
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
891 # include <stdint.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
892 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
893 # include <inttypes.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
894 # define LONG64 int64_t
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
895 # define ULONG64 uint64_t
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
896 # elif defined(HAVE_SYS_INTTYPES_H)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
897 # include <sys/inttypes.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
898 # define LONG64 int64_t
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
899 # define ULONG64 uint64_t
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
900 # elif defined(HAVE_STDINT_H)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
901 # include <stdint.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
902 # define LONG64 int64_t
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
903 # define ULONG64 uint64_t
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
904 # elif defined(__GLIBC__)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
905 # include <bits/wordsize.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
906 # if (__WORDSIZE == 64)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
907 # define LONG64 int64_t
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
908 # define ULONG64 uint64_t
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
909 # ifndef SOAP_LONG_FORMAT
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
910 # define SOAP_LONG_FORMAT "%ld"
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
911 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
912 # ifndef SOAP_ULONG_FORMAT
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
913 # define SOAP_ULONG_FORMAT "%lu"
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
914 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
915 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
916 # define LONG64 long long
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
917 # define ULONG64 unsigned LONG64
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
918 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
919 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
920 # define LONG64 long long
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
921 # define ULONG64 unsigned LONG64
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
922 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
923 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
924 #elif defined(UNDER_CE)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
925 # define LONG64 __int64
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
926 # define ULONG64 unsigned LONG64
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
927 #elif defined(__BORLANDC__)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
928 # define LONG64 __int64
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
929 # define ULONG64 unsigned LONG64
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
930 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
931
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
932 #ifdef PRId64
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
933 # ifndef SOAP_LONG_FORMAT
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
934 # define SOAP_LONG_FORMAT "%" PRId64
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
935 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
936 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
937
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
938 #ifdef PRIu64
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
939 # ifndef SOAP_ULONG_FORMAT
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
940 # define SOAP_ULONG_FORMAT "%" PRIu64
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
941 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
942 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
943
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
944 #ifndef SOAP_LONG_FORMAT
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
945 # define SOAP_LONG_FORMAT "%lld" /* printf format for 64 bit ints */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
946 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
947
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
948 #ifndef SOAP_ULONG_FORMAT
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
949 # define SOAP_ULONG_FORMAT "%llu" /* printf format for unsigned 64 bit ints */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
950 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
951
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
952 #if defined(WIN32) && !defined(CYGWIN)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
953 # define soap_int32 __int32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
954 #elif defined(SYMBIAN)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
955 # define soap_int32 long
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
956 #elif defined(PALM)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
957 # define soap_int32 Int32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
958 #elif defined(_AIX) || defined(AIX)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
959 # if defined(_AIX43)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
960 # define soap_int32 int32_t
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
961 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
962 # define soap_int32 signed int
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
963 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
964 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
965 # define soap_int32 int32_t
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
966 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
967
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
968 #ifdef WIN32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
969 # define SOAP_ERANGE ERANGE
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
970 # define SOAP_EINTR WSAEINTR
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
971 # define SOAP_EAGAIN WSAEWOULDBLOCK
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
972 # define SOAP_EWOULDBLOCK WSAEWOULDBLOCK
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
973 # define SOAP_EINPROGRESS WSAEINPROGRESS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
974 # define SOAP_EADDRINUSE WSAEADDRINUSE
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
975 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
976 # define SOAP_ERANGE ERANGE
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
977 # define SOAP_EINTR EINTR
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
978 # define SOAP_EAGAIN EAGAIN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
979 # define SOAP_EADDRINUSE EADDRINUSE
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
980 # ifdef SYMBIAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
981 # define SOAP_EWOULDBLOCK 9898
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
982 # define SOAP_EINPROGRESS 9899
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
983 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
984 # define SOAP_EWOULDBLOCK EWOULDBLOCK
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
985 # define SOAP_EINPROGRESS EINPROGRESS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
986 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
987 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
988
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
989 #ifdef WIN32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
990 # ifdef UNDER_CE
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
991 # define soap_errno GetLastError()
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
992 # define soap_socket_errno(s) GetLastError()
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
993 # define soap_reset_errno SetLastError(0)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
994 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
995 # define soap_errno GetLastError()
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
996 # define soap_socket_errno(s) WSAGetLastError()
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
997 # define soap_reset_errno SetLastError(0)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
998 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
999 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1000 # ifndef WITH_NOIO
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1001 # define soap_errno errno
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1002 # define soap_socket_errno(s) errno
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1003 # define soap_reset_errno (errno = 0)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1004 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1005 # define soap_errno 0
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1006 # define soap_socket_errno(s) 0
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1007 # define soap_reset_errno
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1008 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1009 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1010
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1011 #ifndef SOAP_BUFLEN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1012 # if !defined(WITH_LEAN)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1013 # define SOAP_BUFLEN (65536) /* buffer length for socket packets, also used by gethostbyname_r and UDP messages, so don't make this too small */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1014 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1015 # define SOAP_BUFLEN (2048) /* lean size */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1016 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1017 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1018 #ifndef SOAP_LABLEN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1019 # define SOAP_LABLEN (256) /* initial look-aside buffer length */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1020 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1021 #ifndef SOAP_PTRBLK
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1022 # define SOAP_PTRBLK (32) /* block allocation for pointer hash table chains */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1023 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1024 #ifndef SOAP_PTRHASH
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1025 # ifndef WITH_LEAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1026 # define SOAP_PTRHASH (4096) /* size of pointer analysis hash table (must be power of 2) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1027 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1028 # define SOAP_PTRHASH (32)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1029 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1030 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1031 #ifndef SOAP_IDHASH
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1032 # ifndef WITH_LEAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1033 # define SOAP_IDHASH (1999) /* prime size of hash table for parsed id/ref */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1034 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1035 # define SOAP_IDHASH (19) /* 19, 199 */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1036 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1037 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1038 #ifndef SOAP_BLKLEN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1039 # ifndef WITH_LEAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1040 # define SOAP_BLKLEN (256) /* to collect long strings and XML attributes */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1041 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1042 # define SOAP_BLKLEN (32)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1043 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1044 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1045 #ifndef SOAP_TAGLEN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1046 # ifndef WITH_LEAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1047 # define SOAP_TAGLEN (1024) /* maximum length of XML element tag/attribute name or host/path name + 1 */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1048 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1049 # define SOAP_TAGLEN (128)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1050 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1051 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1052 #ifndef SOAP_HDRLEN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1053 # ifndef WITH_LEAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1054 # define SOAP_HDRLEN (8192) /* maximum length of HTTP header line (must be >4096 to read cookies) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1055 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1056 # define SOAP_HDRLEN (1024)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1057 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1058 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1059 #ifndef SOAP_MAXDIMS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1060 # ifndef WITH_LEAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1061 # define SOAP_MAXDIMS (16) /* maximum array dimensions (array nestings) must be less than 64 to protect soap->tmpbuf */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1062 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1063 # define SOAP_MAXDIMS (4)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1064 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1065 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1066
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1067 #ifndef SOAP_MAXLOGS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1068 # define SOAP_MAXLOGS (3) /* max number of debug logs per struct soap environment */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1069 # define SOAP_INDEX_RECV (0)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1070 # define SOAP_INDEX_SENT (1)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1071 # define SOAP_INDEX_TEST (2)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1072 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1073
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1074 /* Max number of EINTR while poll/select on a socket */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1075 /* Each EINTR can lengthen the I/O blocking time by at most one second */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1076 #ifndef SOAP_MAXEINTR
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1077 # define SOAP_MAXEINTR (10)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1078 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1079
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1080 /* Max iterations in soap_serve() to keep server connection alive */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1081 #ifndef SOAP_MAXKEEPALIVE
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1082 # define SOAP_MAXKEEPALIVE (100)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1083 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1084
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1085 /* Trusted max size of inbound SOAP array for compound array allocation.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1086 Increase if necessary to allow larger arrays.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1087 */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1088 #ifndef SOAP_MAXARRAYSIZE
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1089 # define SOAP_MAXARRAYSIZE (1000000)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1090 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1091
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1092 /* Trusted max size of inbound DIME data.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1093 Increase if necessary to allow larger attachments, or decrease when server
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1094 resources are limited.
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1095 */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1096 #ifndef SOAP_MAXDIMESIZE
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1097 # define SOAP_MAXDIMESIZE (8388608) /* 8 MB */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1098 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1099
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1100 #ifdef VXWORKS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1101 # ifdef WMW_RPM_IO
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1102 # include "httpLib.h"
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1103 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1104 # ifdef __INCmathh
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1105 # include <private/mathP.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1106 # ifndef HAVE_ISNAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1107 # define HAVE_ISNAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1108 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1109 # ifndef soap_isnan
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1110 # define soap_isnan(num) isNan(num)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1111 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1112 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1113 # ifdef WM_SECURE_KEY_STORAGE
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1114 # include <ipcom_key_db.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1115 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1116 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1117
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1118 #ifdef WIN32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1119 # include <float.h>
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1120 # ifndef HAVE_ISNAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1121 # define HAVE_ISNAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1122 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1123 # define soap_isnan(n) _isnan(n)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1124 # ifndef HAVE_ISINF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1125 # define HAVE_ISINF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1126 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1127 # define soap_isinf(n) (!_finite(n))
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1128 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1129
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1130 #ifdef SUN_OS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1131 # define HAVE_ISNAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1132 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1133
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1134 #ifdef __APPLE__
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1135 # ifdef __cplusplus
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1136 # ifndef isnan
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1137 extern "C" int isnan(double);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1138 extern "C" int isinf(double);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1139 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1140 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1141 # ifndef HAVE_ISNAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1142 # define HAVE_ISNAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1143 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1144 # ifndef HAVE_ISINF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1145 # define HAVE_ISINF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1146 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1147 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1148
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1149 #if !defined(HAVE_ISNAN) && (defined(_MATH_H) || defined(_MATH_INCLUDED))
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1150 # define HAVE_ISNAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1151 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1152
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1153 union soap_double_nan {struct {unsigned int n1, n2;} iv; double dv; float fv;};
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1154 extern const union soap_double_nan soap_double_nan;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1155 extern const char soap_base64o[], soap_base64i[];
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1156
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1157 #ifdef VXWORKS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1158 # ifndef FLT_MAX
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1159 # define FLT_MAX _ARCH_FLT_MAX
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1160 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1161 # ifndef DBL_MAX
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1162 # define DBL_MAX _ARCH_DBL_MAX
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1163 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1164 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1165
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1166 #ifndef FLT_NAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1167 # define FLT_NAN (soap_double_nan.fv)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1168 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1169
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1170 #ifndef FLT_PINFTY
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1171 # if defined(FLT_MAX)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1172 # define FLT_PINFTY FLT_MAX
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1173 # elif defined(HUGE_VALF)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1174 # define FLT_PINFTY (float)HUGE_VALF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1175 # elif defined(HUGE_VAL)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1176 # define FLT_PINFTY (float)HUGE_VAL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1177 # elif defined(FLOAT_MAX)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1178 # define FLT_PINFTY FLOAT_MAX
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1179 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1180 # define FLT_PINFTY (3.40282347e+38F)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1181 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1182 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1183
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1184 #ifndef FLT_NINFTY
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1185 # define FLT_NINFTY (-FLT_PINFTY)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1186 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1187
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1188 #ifndef DBL_NAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1189 # define DBL_NAN (soap_double_nan.dv)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1190 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1191
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1192 #ifndef DBL_PINFTY
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1193 # if defined(DBL_MAX)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1194 # define DBL_PINFTY DBL_MAX
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1195 # elif defined(HUGE_VALF)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1196 # define DBL_PINFTY (double)HUGE_VALF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1197 # elif defined(HUGE_VAL)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1198 # define DBL_PINFTY (double)HUGE_VAL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1199 # elif defined(DOUBLE_MAX)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1200 # define DBL_PINFTY DOUBLE_MAX
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1201 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1202 # define DBL_PINFTY (1.7976931348623157e+308)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1203 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1204 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1205
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1206 #ifndef DBL_NINFTY
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1207 # define DBL_NINFTY (-DBL_PINFTY)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1208 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1209
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1210 #ifndef soap_isnan
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1211 # ifdef HAVE_ISNAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1212 # define soap_isnan(n) isnan(n)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1213 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1214 # define soap_isnan(n) ((n) != (n))
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1215 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1216 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1217
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1218 #ifndef soap_isinf
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1219 # ifdef HAVE_ISINF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1220 # define soap_isinf(n) isinf(n)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1221 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1222 # define soap_isinf(n) (!soap_isnan(n) && soap_isnan((n) - (n)))
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1223 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1224 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1225
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1226 #define soap_ispinfd(n) ((n) > 0 && soap_isinf(n))
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1227 #define soap_ispinff(n) ((n) > 0 && soap_isinf(n))
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1228 #define soap_isninfd(n) ((n) < 0 && soap_isinf(n))
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1229 #define soap_isninff(n) ((n) < 0 && soap_isinf(n))
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1230
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1231 #ifdef HAVE_SNPRINTF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1232 # ifdef WIN32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1233 # define soap_snprintf(buf, len, ...) (_snprintf((buf), (len), __VA_ARGS__), (buf)[(len)-1] = '\0')
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1234 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1235 # define soap_snprintf snprintf
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1236 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1237 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1238
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1239 /* gSOAP status/error codes */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1240
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1241 typedef soap_int32 soap_status;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1242
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1243 #define SOAP_EOF EOF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1244 #define SOAP_ERR EOF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1245 #define SOAP_OK 0
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1246 #define SOAP_CLI_FAULT 1
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1247 #define SOAP_SVR_FAULT 2
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1248 #define SOAP_TAG_MISMATCH 3
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1249 #define SOAP_TYPE 4
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1250 #define SOAP_SYNTAX_ERROR 5
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1251 #define SOAP_NO_TAG 6
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1252 #define SOAP_IOB 7
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1253 #define SOAP_MUSTUNDERSTAND 8
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1254 #define SOAP_NAMESPACE 9
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1255 #define SOAP_USER_ERROR 10
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1256 #define SOAP_FATAL_ERROR 11
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1257 #define SOAP_FAULT 12
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1258 #define SOAP_NO_METHOD 13
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1259 #define SOAP_NO_DATA 14
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1260 #define SOAP_GET_METHOD 15
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1261 #define SOAP_PUT_METHOD 16
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1262 #define SOAP_DEL_METHOD 17 /* deprecated */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1263 #define SOAP_HEAD_METHOD 18 /* deprecated */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1264 #define SOAP_HTTP_METHOD 19
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1265 #define SOAP_EOM 20
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1266 #define SOAP_MOE 21
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1267 #define SOAP_HDR 22
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1268 #define SOAP_NULL 23
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1269 #define SOAP_DUPLICATE_ID 24
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1270 #define SOAP_MISSING_ID 25
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1271 #define SOAP_HREF 26
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1272 #define SOAP_UDP_ERROR 27
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1273 #define SOAP_TCP_ERROR 28
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1274 #define SOAP_HTTP_ERROR 29
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1275 #define SOAP_SSL_ERROR 30
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1276 #define SOAP_ZLIB_ERROR 31
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1277 #define SOAP_DIME_ERROR 32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1278 #define SOAP_DIME_HREF 33
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1279 #define SOAP_DIME_MISMATCH 34
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1280 #define SOAP_DIME_END 35
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1281 #define SOAP_MIME_ERROR 36
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1282 #define SOAP_MIME_HREF 37
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1283 #define SOAP_MIME_END 38
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1284 #define SOAP_VERSIONMISMATCH 39
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1285 #define SOAP_PLUGIN_ERROR 40
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1286 #define SOAP_DATAENCODINGUNKNOWN 41
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1287 #define SOAP_REQUIRED 42
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1288 #define SOAP_PROHIBITED 43
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1289 #define SOAP_OCCURS 44
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1290 #define SOAP_LENGTH 45
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1291 #define SOAP_FD_EXCEEDED 46
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1292 #define SOAP_UTF_ERROR 47
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1293 #define SOAP_NTLM_ERROR 48
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1294
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1295 #define soap_xml_error_check(e) ((e) == SOAP_TAG_MISMATCH || (e) == SOAP_NO_TAG || (e) == SOAP_SYNTAX_ERROR || (e) == SOAP_NAMESPACE || (e) == SOAP_DUPLICATE_ID || (e) == SOAP_MISSING_ID || (e) == SOAP_REQUIRED || (e) == SOAP_PROHIBITED || (e) == SOAP_OCCURS || (e) == SOAP_LENGTH || (e) == SOAP_NULL || (e) == SOAP_HREF)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1296 #define soap_soap_error_check(e) ((e) == SOAP_CLI_FAULT || (e) == SOAP_SVR_FAULT || (e) == SOAP_VERSIONMISMATCH || (e) == SOAP_MUSTUNDERSTAND || (e) == SOAP_FAULT || (e) == SOAP_NO_METHOD)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1297 #define soap_tcp_error_check(e) ((e) == SOAP_EOF || (e) == SOAP_TCP_ERROR)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1298 #define soap_ssl_error_check(e) ((e) == SOAP_SSL_ERROR)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1299 #define soap_zlib_error_check(e) ((e) == SOAP_ZLIB_ERROR)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1300 #define soap_http_error_check(e) ((e) == SOAP_HTTP_ERROR || (e) == SOAP_NO_DATA || ((e) >= SOAP_GET_METHOD && (e) <= SOAP_HTTP_METHOD) || ((e) >= 100 && (e) < 600))
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1301
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1302 /* gSOAP HTTP response status codes 100 to 599 are reserved */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1303
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1304 /* Codes 600 to 999 are user definable */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1305
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1306 /* Exceptional gSOAP HTTP server response status codes >= 1000 */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1307
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1308 #define SOAP_STOP 1000 /* No HTTP response */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1309 #define SOAP_FORM 1001 /* Request (form) data is present, no HTTP response */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1310 #define SOAP_HTML 1002 /* Custom HTML response */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1311 #define SOAP_FILE 1003 /* Custom file-based response */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1312
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1313 /* gSOAP HTTP method codes (client) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1314
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1315 #define SOAP_POST 2000 /* POST request */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1316 #define SOAP_POST_FILE 2001 /* Custom file-based POST request */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1317 #define SOAP_GET 2002 /* GET request */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1318 #define SOAP_PUT 2003 /* PUT request */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1319 #define SOAP_DEL 2004 /* DELETE request */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1320 #define SOAP_CONNECT 2005 /* CONNECT request */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1321
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1322 /* gSOAP DIME */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1323
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1324 #define SOAP_DIME_CF 0x01
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1325 #define SOAP_DIME_ME 0x02
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1326 #define SOAP_DIME_MB 0x04
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1327 #define SOAP_DIME_VERSION 0x08 /* DIME version 1 */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1328 #define SOAP_DIME_MEDIA 0x10
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1329 #define SOAP_DIME_ABSURI 0x20
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1330
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1331 /* gSOAP ZLIB */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1332
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1333 #define SOAP_ZLIB_NONE 0x00
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1334 #define SOAP_ZLIB_DEFLATE 0x01
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1335 #define SOAP_ZLIB_INFLATE 0x02
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1336 #define SOAP_ZLIB_GZIP 0x02
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1337
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1338 /* gSOAP transport, connection, and content encoding modes */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1339
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1340 typedef soap_int32 soap_mode;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1341
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1342 #define SOAP_IO 0x00000003 /* IO mask */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1343 #define SOAP_IO_FLUSH 0x00000000 /* flush output immediately, no buffering */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1344 #define SOAP_IO_BUFFER 0x00000001 /* buffer output in packets of size SOAP_BUFLEN */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1345 #define SOAP_IO_STORE 0x00000002 /* store entire output to determine length for transport */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1346 #define SOAP_IO_CHUNK 0x00000003 /* use HTTP chunked transfer AND buffer packets */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1347
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1348 #define SOAP_IO_UDP 0x00000004 /* TCP or UDP */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1349 #define SOAP_IO_LENGTH 0x00000008 /* calc message length (internal) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1350 #define SOAP_IO_KEEPALIVE 0x00000010 /* keep connection alive */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1351
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1352 #define SOAP_ENC 0x00000FFF /* IO and ENC mask */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1353 #define SOAP_ENC_LATIN 0x00000020 /* in: accept iso-8859-1 */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1354 #define SOAP_ENC_XML 0x00000040 /* out: plain XML encoding, no HTTP header */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1355 #define SOAP_ENC_DIME 0x00000080
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1356 #define SOAP_ENC_MIME 0x00000100
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1357 #define SOAP_ENC_MTOM 0x00000200
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1358 #define SOAP_ENC_ZLIB 0x00000400
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1359 #define SOAP_ENC_SSL 0x00000800
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1360
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1361 #define SOAP_XML_STRICT 0x00001000 /* in: strict validation */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1362 #define SOAP_XML_INDENT 0x00002000 /* out: emit indented XML */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1363 #define SOAP_XML_IGNORENS 0x00004000 /* in: ignore namespaces */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1364 #define SOAP_XML_DEFAULTNS 0x00008000 /* out: emit xmlns="..." */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1365 #define SOAP_XML_CANONICAL 0x00010000 /* out: excC14N canonical XML */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1366 #define SOAP_XML_TREE 0x00020000 /* in/out: XML tree (no id/ref) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1367 #define SOAP_XML_NIL 0x00040000 /* out: NULLs as xsi:nil */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1368 #define SOAP_XML_NOTYPE 0x00080000 /* out: do not add xsi:type */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1369
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1370 #define SOAP_DOM_TREE 0x00100000 /* see DOM manual */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1371 #define SOAP_DOM_NODE 0x00200000
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1372 #define SOAP_DOM_ASIS 0x00400000
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1373
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1374 #define SOAP_C_NOIOB 0x01000000 /* don't fault on array index out of bounds (just ignore) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1375 #define SOAP_C_UTFSTRING 0x02000000 /* (de)serialize strings with UTF8 content */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1376 #define SOAP_C_MBSTRING 0x04000000 /* (de)serialize strings with multi-byte content */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1377 #define SOAP_C_NILSTRING 0x08000000 /* serialize empty strings as nil (omitted) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1378
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1379 #define SOAP_XML_DOM 0x10000000 /* enable internal DOM */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1380 #define SOAP_XML_GRAPH 0x20000000 /* force id-ref XML graph */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1381
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1382 #define SOAP_MIME_POSTCHECK 0x40000000 /* MIME flag (internal) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1383
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1384 #define SOAP_SEC_WSUID 0x80000000 /* Add Body wsu:Id */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1385
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1386 /* WITH_XMLNS backward compatibility: always use XML default namespaces */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1387 #ifdef WITH_XMLNS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1388 # define SOAP_IO_DEFAULT (SOAP_IO_FLUSH | SOAP_XML_DEFAULTNS)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1389 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1390 # define SOAP_IO_DEFAULT SOAP_IO_FLUSH
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1391 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1392
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1393 /* SSL client/server authentication settings */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1394
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1395 #define SOAP_SSL_NO_AUTHENTICATION 0x00 /* for testing purposes */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1396 #define SOAP_SSL_REQUIRE_SERVER_AUTHENTICATION 0x01 /* client requires server to authenticate */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1397 #define SOAP_SSL_REQUIRE_CLIENT_AUTHENTICATION 0x02 /* server requires client to authenticate */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1398 #define SOAP_SSL_SKIP_HOST_CHECK 0x04 /* client does not check the common name of the host in certificate */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1399 #define SOAP_SSL_ALLOW_EXPIRED_CERTIFICATE 0x08 /* client does not check the expiration date of the host certificate */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1400 #define SOAP_SSL_NO_DEFAULT_CA_PATH 0x10 /* don't use default_verify_paths */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1401 #define SOAP_SSL_RSA 0x20 /* use RSA */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1402 #define SOAP_SSLv3 0x40 /* SSL v3 only */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1403 #define SOAP_TLSv1 0x80 /* TLS v1 only */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1404 #define SOAP_SSLv3_TLSv1 0x00 /* SSL v3 and TLS v1 support by default (no SSL v1/v2) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1405 #define SOAP_SSL_CLIENT 0x100 /* client context */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1406
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1407 #define SOAP_SSL_DEFAULT (SOAP_SSL_REQUIRE_SERVER_AUTHENTICATION | SOAP_SSLv3_TLSv1)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1408
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1409 /* state */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1410
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1411 #define SOAP_NONE 0
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1412 #define SOAP_INIT 1
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1413 #define SOAP_COPY 2
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1414
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1415 #define soap_check_state(soap) (!(soap) || ((soap)->state != SOAP_INIT && (soap)->state != SOAP_COPY))
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1416
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1417 /* parts */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1418
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1419 #define SOAP_BEGIN 0
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1420 #define SOAP_IN_ENVELOPE 2
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1421 #define SOAP_IN_HEADER 3
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1422 #define SOAP_END_HEADER 4
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1423 #define SOAP_NO_BODY 5
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1424 #define SOAP_IN_BODY 6
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1425 #define SOAP_END_BODY 7
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1426 #define SOAP_END_ENVELOPE 8
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1427 #define SOAP_END 9
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1428
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1429 /* events */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1430
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1431 #define SOAP_SEC_BEGIN 1
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1432 #define SOAP_SEC_SIGN 2
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1433 #define SOAP_SEC_DECRYPT 3
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1434
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1435 /* DEBUG macros */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1436
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1437 #ifndef WITH_LEAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1438 # ifdef DEBUG_STAMP
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1439 # ifndef DEBUG
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1440 # define DEBUG
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1441 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1442 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1443 # ifdef DEBUG
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1444 # ifndef SOAP_DEBUG
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1445 # define SOAP_DEBUG
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1446 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1447 # ifndef SOAP_MEM_DEBUG
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1448 # define SOAP_MEM_DEBUG
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1449 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1450 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1451 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1452
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1453 #ifdef SOAP_MEM_DEBUG
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1454 # ifndef SOAP_MALLOC
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1455 # define SOAP_MALLOC(soap, size) soap_track_malloc(soap, __FILE__, __LINE__, size)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1456 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1457 # ifndef SOAP_FREE
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1458 # define SOAP_FREE(soap, ptr) soap_track_free(soap, __FILE__, __LINE__, ptr)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1459 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1460 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1461
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1462 #ifndef SOAP_MALLOC /* use libc malloc */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1463 # define SOAP_MALLOC(soap, size) malloc(size)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1464 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1465
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1466 #ifndef SOAP_FREE /* use libc free */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1467 # define SOAP_FREE(soap, ptr) free(ptr)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1468 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1469
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1470 #if defined(__GNUC__) && (__GNUC__ <= 2)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1471 # define SOAP_NOTHROW
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1472 #elif !defined(WITH_LEAN) && !defined(WITH_COMPAT) && !defined(SOAP_NOTHROW)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1473 # define SOAP_NOTHROW (std::nothrow)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1474 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1475 # define SOAP_NOTHROW
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1476 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1477
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1478 #if (defined(__GNUC__) && (__GNUC__ <= 2) && !defined(__BORLANDC__)) || defined(__clang__) || defined(_AIX) || defined(AIX)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1479 /* old form w/o parenthesis */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1480 # ifndef SOAP_NEW
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1481 # define SOAP_NEW(type) new SOAP_NOTHROW type
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1482 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1483 # ifndef SOAP_NEW_ARRAY
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1484 # define SOAP_NEW_ARRAY(type, n) new SOAP_NOTHROW type[n]
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1485 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1486 # ifndef SOAP_PLACEMENT_NEW
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1487 # define SOAP_PLACEMENT_NEW(buf, type) new (buf) type
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1488 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1489 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1490 /* new form with parenthesis */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1491 # ifndef SOAP_NEW
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1492 # define SOAP_NEW(type) new SOAP_NOTHROW (type)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1493 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1494 # ifndef SOAP_NEW_ARRAY
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1495 # define SOAP_NEW_ARRAY(type, n) new SOAP_NOTHROW type[n]
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1496 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1497 # ifndef SOAP_PLACEMENT_NEW
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1498 # define SOAP_PLACEMENT_NEW(buf, type) new (buf) (type)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1499 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1500 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1501
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1502 #ifndef SOAP_NEW_COPY /* use C++ new operator for ::copy() */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1503 # define SOAP_NEW_COPY(clas) new SOAP_NOTHROW clas
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1504 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1505
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1506 #ifndef SOAP_DELETE /* use C++ delete operator */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1507 # define SOAP_DELETE(obj) delete obj
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1508 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1509
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1510 #ifndef SOAP_DELETE_ARRAY /* use C++ delete[] operator */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1511 # define SOAP_DELETE_ARRAY(obj) delete[] obj
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1512 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1513
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1514 #ifdef SOAP_DEBUG
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1515 # ifndef SOAP_MESSAGE
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1516 # define SOAP_MESSAGE fprintf
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1517 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1518 # ifndef DBGLOG
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1519 # ifdef DEBUG_STAMP
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1520 # ifdef WIN32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1521 # define DBGLOG(DBGFILE, CMD) \
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1522 { if (soap)\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1523 { if (!soap->fdebug[SOAP_INDEX_##DBGFILE])\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1524 soap_open_logfile((struct soap*)soap, SOAP_INDEX_##DBGFILE);\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1525 if (soap->fdebug[SOAP_INDEX_##DBGFILE])\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1526 { FILE *fdebug = soap->fdebug[SOAP_INDEX_##DBGFILE];\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1527 SYSTEMTIME _localTime;\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1528 ::GetLocalTime(&_localTime); \
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1529 fprintf(fdebug, "%02d%02d%02d %02d:%02d:%02d.%03d|", _localTime.wYear%100, _localTime.wMonth, _localTime.wDay, _localTime.wHour, _localTime.wMinute, _localTime.wSecond, _localTime.wMilliseconds);\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1530 CMD;\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1531 fflush(fdebug);\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1532 }\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1533 }\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1534 }
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1535 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1536 # define DBGLOG(DBGFILE, CMD) \
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1537 { if (soap)\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1538 { if (!soap->fdebug[SOAP_INDEX_##DBGFILE])\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1539 soap_open_logfile((struct soap*)soap, SOAP_INDEX_##DBGFILE);\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1540 if (soap->fdebug[SOAP_INDEX_##DBGFILE])\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1541 { FILE *fdebug = soap->fdebug[SOAP_INDEX_##DBGFILE];\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1542 struct timeval _tv;\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1543 struct tm _tm;\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1544 gettimeofday(&_tv, NULL);\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1545 localtime_r(&_tv.tv_sec, &_tm);\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1546 fprintf(fdebug, "%02d%02d%02d %02d:%02d:%02d.%06d|", _tm.tm_year%100, _tm.tm_mon+1, _tm.tm_mday, _tm.tm_hour, _tm.tm_min, _tm.tm_sec, _tv.tv_usec);\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1547 CMD;\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1548 fflush(fdebug);\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1549 }\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1550 }\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1551 }
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1552 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1553 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1554 # define DBGLOG(DBGFILE, CMD) \
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1555 { if (soap)\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1556 { if (!soap->fdebug[SOAP_INDEX_##DBGFILE])\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1557 soap_open_logfile((struct soap*)soap, SOAP_INDEX_##DBGFILE);\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1558 if (soap->fdebug[SOAP_INDEX_##DBGFILE])\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1559 { FILE *fdebug = soap->fdebug[SOAP_INDEX_##DBGFILE];\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1560 CMD;\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1561 fflush(fdebug);\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1562 }\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1563 }\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1564 }
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1565 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1566 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1567 # ifndef DBGMSG
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1568 # define DBGMSG(DBGFILE, MSG, LEN) \
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1569 { if (soap)\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1570 { if (!soap->fdebug[SOAP_INDEX_##DBGFILE])\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1571 soap_open_logfile((struct soap*)soap, SOAP_INDEX_##DBGFILE);\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1572 if (soap->fdebug[SOAP_INDEX_##DBGFILE])\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1573 { fwrite((MSG), 1, (LEN), soap->fdebug[SOAP_INDEX_##DBGFILE]);\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1574 fflush(soap->fdebug[SOAP_INDEX_##DBGFILE]);\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1575 }\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1576 }\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1577 }
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1578 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1579 # ifndef DBGFUN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1580 # define DBGFUN(FNAME) DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%s(%d): %s()\n", __FILE__, __LINE__, FNAME))
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1581 # define DBGFUN1(FNAME, FMT, ARG) DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%s(%d): %s(" FMT ")\n", __FILE__, __LINE__, FNAME, (ARG)))
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1582 # define DBGFUN2(FNAME, FMT1, ARG1, FMT2, ARG2) DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%s(%d): %s(" FMT1 ", " FMT2 ")\n", __FILE__, __LINE__, FNAME, (ARG1), (ARG2)))
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1583 # define DBGFUN3(FNAME, FMT1, ARG1, FMT2, ARG2, FMT3, ARG3) DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%s(%d): %s(" FMT1 ", " FMT2 ", " FMT3 ")\n", __FILE__, __LINE__, FNAME, (ARG1), (ARG2), (ARG3)))
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1584 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1585 # ifndef DBGHEX
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1586 # define DBGHEX(DBGFILE, MSG, LEN) \
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1587 { if (soap)\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1588 { if (!soap->fdebug[SOAP_INDEX_##DBGFILE])\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1589 soap_open_logfile(soap, SOAP_INDEX_##DBGFILE);\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1590 if (soap->fdebug[SOAP_INDEX_##DBGFILE])\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1591 { int i; char *s;\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1592 for (s = (char*)(MSG), i = (LEN); i; i--)\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1593 fprintf(soap->fdebug[SOAP_INDEX_##DBGFILE], "%2.2X ", (int)*s++&0xFF);\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1594 fflush(soap->fdebug[SOAP_INDEX_##DBGFILE]);\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1595 }\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1596 }\
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1597 }
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1598 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1599 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1600 # define DBGLOG(DBGFILE, CMD)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1601 # define DBGMSG(DBGFILE, MSG, LEN)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1602 # define DBGFUN(FNAME)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1603 # define DBGFUN1(FNAME, FMT, ARG)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1604 # define DBGFUN2(FNAME, FMT1, ARG1, FMT2, ARG2)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1605 # define DBGFUN3(FNAME, FMT1, ARG1, FMT2, ARG2, FMT3, ARG3)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1606 # define DBGHEX(DBGFILE, MSG, LEN)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1607 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1608
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1609 /* UCS-4 requires 32 bits (0-7FFFFFFF, the sign bit is used by gSOAP to distinguish XML entities) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1610 typedef soap_int32 soap_wchar;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1611
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1612 /* namespace table row */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1613 struct Namespace
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1614 { const char *id;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1615 const char *ns;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1616 const char *in;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1617 char *out;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1618 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1619
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1620 /* namespace stack */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1621 struct soap_nlist
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1622 { struct soap_nlist *next;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1623 unsigned int level; /* nesting depth level */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1624 short index; /* corresponding entry in ns mapping table */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1625 const char *ns; /* only set when parsed ns URI is not in the ns mapping table */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1626 char id[1]; /* the actual string value flows into the allocated region below this struct */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1627 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1628
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1629 /* block stack for nested block allocations */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1630 struct soap_blist
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1631 { struct soap_blist *next;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1632 char *ptr;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1633 size_t size;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1634 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1635
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1636 /* array layout */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1637 struct soap_array
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1638 { void *__ptr;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1639 int __size;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1640 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1641
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1642 /* pointer serialization management */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1643 struct soap_plist
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1644 { struct soap_plist *next;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1645 const void *ptr;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1646 const struct soap_array *array;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1647 int type;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1648 int id;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1649 char mark1; /* 0=single-ref, 1=embedded-multi-ref (SOAP1.1), 2=multi-ref, 3=attachment */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1650 char mark2;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1651 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1652
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1653 /* block allocation for pointer serialization management */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1654 struct soap_pblk
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1655 { struct soap_pblk *next;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1656 struct soap_plist plist[SOAP_PTRBLK];
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1657 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1658
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1659 #ifdef SOAP_MEM_DEBUG
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1660 /* malloc/free tracking for debugging */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1661 struct soap_mlist
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1662 { struct soap_mlist *next;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1663 const void *ptr;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1664 const char *file;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1665 int line;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1666 short live;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1667 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1668 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1669
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1670 /* class allocation list */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1671 struct soap_clist
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1672 { struct soap_clist *next;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1673 void *ptr;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1674 int type;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1675 int size;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1676 int (*fdelete)(struct soap_clist*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1677 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1678
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1679 /* attributes */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1680 struct soap_attribute
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1681 { struct soap_attribute *next;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1682 short flag; /* soap_set_attr: 1 = normal, 2 = utf content */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1683 char *value;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1684 size_t size;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1685 const char *ns;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1686 short visible;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1687 char name[1]; /* the actual name string flows into the allocated region below this struct */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1688 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1689
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1690 #ifndef WITH_LEAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1691 struct soap_cookie
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1692 { struct soap_cookie *next;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1693 char *name;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1694 char *value;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1695 char *domain;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1696 char *path;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1697 time_t expire; /* client-side: local time to expire */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1698 long maxage; /* server-side: seconds to expire */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1699 unsigned int version;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1700 short secure;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1701 short session; /* server-side */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1702 short env; /* server-side: got cookie from client and should not be (re)send */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1703 short modified; /* server-side: client cookie was modified and should be send */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1704 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1705 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1706
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1707 SOAP_FMAC1 struct soap_multipart* SOAP_FMAC2 soap_next_multipart(struct soap_multipart*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1708
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1709 #ifdef __cplusplus
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1710
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1711 class soap_multipart_iterator
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1712 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1713 struct soap_multipart *content;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1714 bool operator==(const soap_multipart_iterator& iter) const
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1715 { return (bool)(content == iter.content); }
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1716 bool operator!=(const soap_multipart_iterator& iter) const
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1717 { return (bool)(content != iter.content); }
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1718 struct soap_multipart &operator*() const
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1719 { return *content; }
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1720 soap_multipart_iterator &operator++()
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1721 { content = soap_next_multipart(content); return *this; }
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1722 soap_multipart_iterator() : content(NULL)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1723 { }
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1724 soap_multipart_iterator(struct soap_multipart *p) : content(p)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1725 { }
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1726 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1727 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1728
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1729 #ifndef WITH_LEANER
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1730 struct soap_dime
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1731 { size_t count;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1732 size_t size;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1733 size_t chunksize;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1734 size_t buflen;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1735 char flags;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1736 char *ptr;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1737 const char *id;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1738 const char *type;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1739 const char *options;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1740 struct soap_multipart *list; /* list of DIME attachments received */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1741 struct soap_multipart *first, *last; /* temporary in/out queue */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1742 #ifdef __cplusplus
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1743 soap_multipart_iterator begin()
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1744 { soap_multipart_iterator iter(list); return iter; };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1745 soap_multipart_iterator end()
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1746 { soap_multipart_iterator iter(NULL); return iter; };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1747 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1748 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1749 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1750
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1751 #ifndef WITH_LEANER
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1752 struct soap_mime
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1753 { char *boundary; /* MIME boundary */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1754 const char *start; /* MIME start ID */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1755 struct soap_multipart *list; /* list of MIME attachments received */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1756 struct soap_multipart *first, *last; /* temporary in/out queue */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1757 #ifdef __cplusplus
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1758 soap_multipart_iterator begin()
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1759 { soap_multipart_iterator iter(list); return iter; };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1760 soap_multipart_iterator end()
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1761 { soap_multipart_iterator iter(NULL); return iter; };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1762 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1763 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1764 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1765
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1766 #ifndef WITH_LEANER
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1767 /* RFC2045 MIME content transfer encodings */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1768 enum soap_mime_encoding
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1769 { SOAP_MIME_NONE,
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1770 SOAP_MIME_7BIT,
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1771 SOAP_MIME_8BIT,
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1772 SOAP_MIME_BINARY,
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1773 SOAP_MIME_QUOTED_PRINTABLE,
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1774 SOAP_MIME_BASE64,
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1775 SOAP_MIME_IETF_TOKEN,
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1776 SOAP_MIME_X_TOKEN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1777 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1778 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1779
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1780 #ifndef WITH_LEANER
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1781 /* DIME/MIME multipart list */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1782 struct soap_multipart
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1783 { struct soap_multipart *next;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1784 char *ptr; /* points to raw data content */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1785 size_t size; /* size of data content */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1786 const char *id; /* DIME/MIME content ID or form data name */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1787 const char *type; /* DIME/MIME type (MIME type format) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1788 const char *options; /* DIME options */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1789 enum soap_mime_encoding encoding; /* MIME Content-Transfer-Encoding */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1790 const char *location; /* MIME Content-Location (optional) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1791 const char *description; /* MIME Content-Description (optional) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1792 #ifdef __cplusplus
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1793 typedef soap_multipart_iterator iterator;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1794 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1795 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1796 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1797
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1798 #ifndef WITH_LEANER
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1799 /* attachment DIME and MTOM XOP forwarding */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1800 struct soap_xlist
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1801 { struct soap_xlist *next;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1802 unsigned char **ptr;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1803 int *size;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1804 char *id;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1805 char **type;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1806 char **options;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1807 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1808 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1809
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1810 /******************************************************************************/
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1811
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1812 #ifndef WITH_LEANER
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1813 #ifdef __cplusplus
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1814 class soap_dom_attribute_iterator
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1815 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1816 struct soap_dom_attribute *att;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1817 const char *nstr;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1818 const char *name;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1819 bool operator==(const soap_dom_attribute_iterator&) const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1820 bool operator!=(const soap_dom_attribute_iterator&) const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1821 struct soap_dom_attribute &operator*() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1822 soap_dom_attribute_iterator &operator++();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1823 soap_dom_attribute_iterator();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1824 soap_dom_attribute_iterator(struct soap_dom_attribute*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1825 ~soap_dom_attribute_iterator();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1826 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1827 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1828 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1829
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1830 #ifndef WITH_LEANER
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1831 struct soap_dom_attribute
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1832 { struct soap_dom_attribute *next;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1833 const char *nstr;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1834 char *name;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1835 char *data;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1836 wchar_t *wide;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1837 struct soap *soap;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1838 #ifdef __cplusplus
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1839 typedef soap_dom_attribute_iterator iterator;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1840 struct soap_dom_attribute &set(const char *nstr, const char *name); /* set namespace and name */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1841 struct soap_dom_attribute &set(const char *data); /* set data */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1842 soap_dom_attribute_iterator begin();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1843 soap_dom_attribute_iterator end();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1844 soap_dom_attribute_iterator find(const char *nstr, const char *name);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1845 void unlink();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1846 soap_dom_attribute();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1847 soap_dom_attribute(struct soap *soap);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1848 soap_dom_attribute(struct soap *soap, const char *nstr, const char *name, const char *data);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1849 ~soap_dom_attribute();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1850 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1851 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1852 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1853
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1854 #ifndef WITH_LEANER
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1855 #ifdef __cplusplus
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1856 class soap_dom_element_iterator
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1857 { public:
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1858 struct soap_dom_element *elt;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1859 const char *nstr;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1860 const char *name;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1861 int type;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1862 bool operator==(const soap_dom_element_iterator&) const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1863 bool operator!=(const soap_dom_element_iterator&) const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1864 struct soap_dom_element &operator*() const;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1865 soap_dom_element_iterator &operator++();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1866 soap_dom_element_iterator();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1867 soap_dom_element_iterator(struct soap_dom_element*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1868 ~soap_dom_element_iterator();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1869 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1870 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1871 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1872
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1873 #ifndef WITH_LEANER
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1874 struct soap_dom_element
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1875 { struct soap_dom_element *next; /* next sibling */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1876 struct soap_dom_element *prnt; /* parent */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1877 struct soap_dom_element *elts; /* list of child elements */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1878 struct soap_dom_attribute *atts; /* list of attributes */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1879 const char *nstr; /* namespace string */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1880 char *name; /* element tag name */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1881 char *data; /* element content data (with SOAP_C_UTFSTRING flag set) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1882 wchar_t *wide; /* element content data */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1883 int type; /* optional: serialized C/C++ data type */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1884 void *node; /* optional: pointer to serialized C/C++ data */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1885 char *head; /* leading content before start tag */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1886 char *tail; /* leading content before end tag */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1887 struct soap *soap; /* soap context that manages this node */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1888 #ifdef __cplusplus
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1889 typedef soap_dom_element_iterator iterator;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1890 struct soap_dom_element &set(const char *nstr, const char *name);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1891 struct soap_dom_element &set(const char *data);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1892 struct soap_dom_element &set(void *node, int type);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1893 struct soap_dom_element &add(struct soap_dom_element*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1894 struct soap_dom_element &add(struct soap_dom_element&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1895 struct soap_dom_element &add(struct soap_dom_attribute*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1896 struct soap_dom_element &add(struct soap_dom_attribute&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1897 soap_dom_element_iterator begin();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1898 soap_dom_element_iterator end();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1899 soap_dom_element_iterator find(const char *nstr, const char *name);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1900 soap_dom_element_iterator find(int type);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1901 void unlink();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1902 soap_dom_element();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1903 soap_dom_element(struct soap *soap);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1904 soap_dom_element(struct soap *soap, const char *nstr, const char *name);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1905 soap_dom_element(struct soap *soap, const char *nstr, const char *name, const char *data);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1906 soap_dom_element(struct soap *soap, const char *nstr, const char *name, void *node, int type);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1907 ~soap_dom_element();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1908 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1909 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1910 SOAP_FMAC1 struct soap_dom_element * SOAP_FMAC2 soap_dom_next_element(struct soap_dom_element *elt);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1911 SOAP_FMAC1 struct soap_dom_attribute * SOAP_FMAC2 soap_dom_next_attribute(struct soap_dom_attribute *att);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1912 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1913
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1914 #if defined(__cplusplus) && !defined(WITH_LEAN) && !defined(WITH_COMPAT)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1915 }
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1916 extern std::ostream &operator<<(std::ostream&, const struct soap_dom_element&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1917 extern std::istream &operator>>(std::istream&, struct soap_dom_element&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1918 extern "C" {
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1919 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1920
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1921 /******************************************************************************/
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1922
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1923 #ifdef WIN32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1924 # ifdef SOAP_STD_EXPORTS
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1925 # define SOAP_STD_API __declspec(dllexport)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1926 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1927 # define SOAP_STD_API
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1928 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1929 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1930 # define SOAP_STD_API
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1931 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1932
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1933 struct SOAP_STD_API soap
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1934 { short state; /* 0 = uninitialized, 1 = initialized, 2 = copy of another soap struct */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1935 short version; /* 1 = SOAP1.1 and 2 = SOAP1.2 (set automatically from namespace URI in nsmap table), 0 indicates non-SOAP content */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1936 soap_mode mode;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1937 soap_mode imode;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1938 soap_mode omode;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1939 const char *float_format; /* user-definable format string for floats (<1024 chars) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1940 const char *double_format; /* user-definable format string for doubles (<1024 chars) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1941 const char *dime_id_format; /* user-definable format string for integer DIME id (<SOAP_TAGLEN chars) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1942 const char *http_version; /* HTTP version used "1.0" or "1.1" */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1943 const char *http_content; /* optional custom response content type (with SOAP_FILE) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1944 const char *encodingStyle; /* default = "" which means that SOAP encoding is used */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1945 const char *actor; /* SOAP-ENV:actor or role attribute value */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1946 const char *lang; /* xml:lang attribute value of SOAP-ENV:Text */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1947 int recv_timeout; /* when > 0, gives socket recv timeout in seconds, < 0 in usec */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1948 int send_timeout; /* when > 0, gives socket send timeout in seconds, < 0 in usec */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1949 int connect_timeout; /* when > 0, gives socket connect() timeout in seconds, < 0 in usec */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1950 int accept_timeout; /* when > 0, gives socket accept() timeout in seconds, < 0 in usec */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1951 int socket_flags; /* socket recv() and send() flags, e.g. set to MSG_NOSIGNAL to disable sigpipe */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1952 int connect_flags; /* connect() SOL_SOCKET sockopt flags, e.g. set to SO_DEBUG to debug socket */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1953 int bind_flags; /* bind() SOL_SOCKET sockopt flags, e.g. set to SO_REUSEADDR to enable reuse */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1954 int accept_flags; /* accept() SOL_SOCKET sockopt flags */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1955 unsigned short linger_time; /* linger time for SO_LINGER option */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1956 const struct Namespace *namespaces; /* Pointer to global namespace mapping table */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1957 struct Namespace *local_namespaces; /* Local namespace mapping table */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1958 struct soap_nlist *nlist; /* namespace stack */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1959 struct soap_blist *blist; /* block allocation stack */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1960 struct soap_clist *clist; /* class instance allocation list */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1961 void *alist; /* memory allocation (malloc) list */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1962 #if !defined(WITH_LEAN) || !defined(WITH_NOIDREF)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1963 struct soap_ilist *iht[SOAP_IDHASH];
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1964 struct soap_plist *pht[SOAP_PTRHASH];
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1965 struct soap_pblk *pblk; /* plist block allocation */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1966 short pidx; /* plist block allocation */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1967 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1968 struct SOAP_ENV__Header *header;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1969 struct SOAP_ENV__Fault *fault;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1970 int idnum;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1971 void *user; /* for user to pass user-defined data */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1972 void *data[4]; /* extension data = {smdevp, mecevp, ...} */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1973 struct soap_plugin *plugins; /* linked list of plug-in data */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1974 const char *userid; /* HTTP Basic authorization userid */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1975 const char *passwd; /* HTTP Basic authorization passwd */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1976 const char *authrealm; /* HTTP authentication realm (NTLM domain) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1977 #if !defined(WITH_LEAN) || defined(WITH_NTLM)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1978 const char *ntlm_challenge; /* HTTP NTLM challenge key string */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1979 short ntlm_auth; /* HTTP NTLM authentication type */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1980 short ntlm_stage; /* HTTP NTLM stage 0..3 */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1981 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1982 int (*fpost)(struct soap*, const char*, const char*, int, const char*, const char*, size_t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1983 int (*fget)(struct soap*); /* HTTP GET hook (not set by default) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1984 int (*fput)(struct soap*); /* HTTP PUT hook (handled as POST by default) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1985 int (*fdel)(struct soap*); /* HTTP DELETE hook (not set by default) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1986 int (*fopt)(struct soap*); /* HTTP OPTIONS hook (not set by default) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1987 int (*fhead)(struct soap*); /* HTTP HEAD hook (not set by default) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1988 int (*fform)(struct soap*); /* HTTP/HTML form handler for plugins */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1989 int (*fposthdr)(struct soap*, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1990 int (*fresponse)(struct soap*, int, size_t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1991 int (*fparse)(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1992 int (*fparsehdr)(struct soap*, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1993 int (*fheader)(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1994 int (*fresolve)(struct soap*, const char*, struct in_addr* inaddr);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1995 int (*fconnect)(struct soap*, const char*, const char*, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1996 int (*fdisconnect)(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1997 int (*fclosesocket)(struct soap*, SOAP_SOCKET);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1998 int (*fshutdownsocket)(struct soap*, SOAP_SOCKET, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
1999 SOAP_SOCKET (*fopen)(struct soap*, const char*, const char*, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2000 SOAP_SOCKET (*faccept)(struct soap*, SOAP_SOCKET, struct sockaddr*, int *n);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2001 int (*fclose)(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2002 int (*fsend)(struct soap*, const char*, size_t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2003 size_t (*frecv)(struct soap*, char*, size_t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2004 int (*fpoll)(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2005 void (*fseterror)(struct soap*, const char **c, const char **s);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2006 int (*fignore)(struct soap*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2007 int (*fserveloop)(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2008 void *(*fplugin)(struct soap*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2009 void *(*fmalloc)(struct soap*, size_t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2010 #ifndef WITH_LEANER
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2011 int (*feltbegin)(struct soap*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2012 int (*feltendin)(struct soap*, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2013 int (*feltbegout)(struct soap*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2014 int (*feltendout)(struct soap*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2015 int (*fprepareinitsend)(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2016 int (*fprepareinitrecv)(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2017 int (*fpreparesend)(struct soap*, const char*, size_t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2018 int (*fpreparerecv)(struct soap*, const char*, size_t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2019 int (*fpreparefinalsend)(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2020 int (*fpreparefinalrecv)(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2021 int filterstop;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2022 int (*ffiltersend)(struct soap*, const char**, size_t*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2023 int (*ffilterrecv)(struct soap*, char*, size_t*, size_t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2024 void *(*fdimereadopen)(struct soap*, void*, const char*, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2025 void *(*fdimewriteopen)(struct soap*, const char*, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2026 void (*fdimereadclose)(struct soap*, void*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2027 void (*fdimewriteclose)(struct soap*, void*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2028 size_t (*fdimeread)(struct soap*, void*, char*, size_t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2029 int (*fdimewrite)(struct soap*, void*, const char*, size_t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2030 void *(*fmimereadopen)(struct soap*, void*, const char*, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2031 void *(*fmimewriteopen)(struct soap*, void*, const char*, const char*, const char*, enum soap_mime_encoding);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2032 void (*fmimereadclose)(struct soap*, void*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2033 void (*fmimewriteclose)(struct soap*, void*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2034 size_t (*fmimeread)(struct soap*, void*, char*, size_t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2035 int (*fmimewrite)(struct soap*, void*, const char*, size_t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2036 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2037 SOAP_SOCKET master; /* socket bound to TCP/IP port */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2038 SOAP_SOCKET socket; /* socket to send and receive */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2039 SOAP_SOCKET sendsk; /* socket to send (overrides ::socket) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2040 SOAP_SOCKET recvsk; /* socket to receive (overrides ::socket) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2041 #if defined(__cplusplus) && !defined(WITH_LEAN) && !defined(WITH_COMPAT)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2042 std::ostream *os; /* stream to send */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2043 std::istream *is; /* stream to receive */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2044 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2045 void *os; /* preserve struct size */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2046 void *is; /* preserve struct size */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2047 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2048 #ifndef UNDER_CE
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2049 int sendfd; /* WinCE FD to send */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2050 int recvfd; /* WinCE FD to receive */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2051 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2052 FILE *sendfd; /* FD to send */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2053 FILE *recvfd; /* FD to receive */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2054 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2055 size_t bufidx; /* index in soap.buf[] */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2056 size_t buflen; /* length of soap.buf[] content */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2057 soap_wchar ahead; /* parser lookahead */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2058 short cdata; /* CDATA parser state */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2059 short body; /* HTTP or XML element has a body (1) or not (0) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2060 unsigned int level; /* XML nesting level */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2061 size_t count; /* message length counter */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2062 size_t length; /* message length as set by HTTP header */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2063 char *labbuf; /* look-aside buffer */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2064 size_t lablen; /* look-aside buffer allocated length */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2065 size_t labidx; /* look-aside buffer index to available part */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2066 char buf[SOAP_BUFLEN];/* send and receive buffer */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2067 char msgbuf[1024]; /* in/out buffer for HTTP/MIME headers >=1024 bytes */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2068 char tmpbuf[1024]; /* in/out buffer for HTTP/MIME headers, simpleType values, element and attribute tag names, and DIME must be >=1024 bytes */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2069 char tag[SOAP_TAGLEN];
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2070 char id[SOAP_TAGLEN];
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2071 char href[SOAP_TAGLEN];
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2072 char type[SOAP_TAGLEN];
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2073 char arrayType[SOAP_TAGLEN];
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2074 char arraySize[SOAP_TAGLEN];
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2075 char arrayOffset[SOAP_TAGLEN];
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2076 short other;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2077 short root;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2078 int position;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2079 int positions[SOAP_MAXDIMS];
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2080 struct soap_attribute *attributes; /* attribute list */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2081 short encoding; /* when set, output encodingStyle */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2082 short mustUnderstand; /* a mustUnderstand element was parsed or is output */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2083 short null; /* parsed XML is xsi:nil */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2084 short ns; /* when not set, output full xmlns bindings */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2085 short part; /* SOAP part state (header or body) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2086 short event; /* engine events and states for use by plugins */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2087 unsigned int evlev; /* event level */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2088 short alloced;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2089 short peeked;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2090 size_t chunksize;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2091 size_t chunkbuflen;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2092 char endpoint[SOAP_TAGLEN];
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2093 char path[SOAP_TAGLEN];
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2094 char host[SOAP_TAGLEN];
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2095 char *action;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2096 char *prolog; /* XML declaration prolog */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2097 unsigned long ip; /* IP number */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2098 int port; /* port number */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2099 short keep_alive; /* connection should be kept open */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2100 short tcp_keep_alive; /* enable SO_KEEPALIVE */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2101 unsigned int tcp_keep_idle; /* set TCP_KEEPIDLE */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2102 unsigned int tcp_keep_intvl; /* set TCP_KEEPINTVL */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2103 unsigned int tcp_keep_cnt; /* set TCP_KEEPCNT */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2104 unsigned int max_keep_alive; /* maximum keep-alive session (default=100) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2105 const char *proxy_http_version;/* HTTP version of proxy "1.0" or "1.1" */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2106 const char *proxy_host; /* Proxy Server host name */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2107 int proxy_port; /* Proxy Server port (default = 8080) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2108 const char *proxy_userid; /* Proxy Authorization user name */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2109 const char *proxy_passwd; /* Proxy Authorization password */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2110 const char *proxy_from; /* X-Forwarding-For header returned by proxy */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2111 int status; /* -1 when request, else error code to be returned by server */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2112 int error;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2113 int errmode;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2114 int errnum;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2115 #ifndef WITH_LEANER
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2116 struct soap_dom_element *dom;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2117 struct soap_dime dime;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2118 struct soap_mime mime;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2119 struct soap_xlist *xlist;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2120 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2121 #if !defined(WITH_LEAN) || defined(SOAP_DEBUG)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2122 const char *logfile[SOAP_MAXLOGS];
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2123 FILE *fdebug[SOAP_MAXLOGS];
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2124 struct soap_mlist *mht[SOAP_PTRHASH];
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2125 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2126 #ifndef WITH_LEAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2127 const char *wsuid; /* space-separated string of element tags */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2128 const char *c14nexclude; /* space-separated string of prefixes */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2129 struct soap_cookie *cookies;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2130 const char *cookie_domain;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2131 const char *cookie_path;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2132 int cookie_max;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2133 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2134 #ifndef WITH_NOIO
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2135 unsigned int ipv6_multicast_if; /* in_addr_t in6addr->sin6_scope_id IPv6 value */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2136 char* ipv4_multicast_if; /* IP_MULTICAST_IF IPv4 setsockopt interface_addr */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2137 unsigned char ipv4_multicast_ttl; /* IP_MULTICAST_TTL value 0..255 */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2138 #ifdef WITH_IPV6
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2139 struct sockaddr_storage peer; /* IPv6: set by soap_accept and by UDP recv */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2140 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2141 struct sockaddr_in peer; /* IPv4: set by soap_connect/soap_accept and by UDP recv */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2142 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2143 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2144 size_t peerlen;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2145 #if defined(WITH_OPENSSL) /* OpenSSL */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2146 int (*fsslauth)(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2147 int (*fsslverify)(int, X509_STORE_CTX*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2148 BIO *bio;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2149 SSL *ssl;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2150 SSL_CTX *ctx;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2151 SSL_SESSION *session;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2152 const char *dhfile;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2153 const char *randfile;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2154 #elif defined(WITH_GNUTLS) /* GNUTLS */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2155 int (*fsslauth)(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2156 void *fsslverify;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2157 gnutls_certificate_credentials_t xcred; /* cert pointer */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2158 gnutls_anon_client_credentials_t acred; /* anon pointer */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2159 gnutls_priority_t cache; /* priority cache pointer */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2160 gnutls_session_t session; /* session pointer */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2161 gnutls_dh_params_t dh_params;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2162 gnutls_rsa_params_t rsa_params;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2163 #else /* No SSL/TLS */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2164 void *fsslauth; /* dummy members, to preserve struct size */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2165 void *fsslverify;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2166 void *bio;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2167 void *ssl;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2168 void *ctx;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2169 void *session;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2170 void *dh_params;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2171 void *rsa_params;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2172 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2173 unsigned short ssl_flags;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2174 const char *keyfile;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2175 const char *keyid;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2176 const char *password;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2177 const char *cafile;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2178 const char *capath;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2179 const char *crlfile;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2180 char session_host[SOAP_TAGLEN];
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2181 int session_port;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2182 #ifdef WITH_C_LOCALE
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2183 # ifdef WIN32
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2184 _locale_t c_locale; /* set to C locale by default */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2185 # else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2186 locale_t c_locale; /* set to C locale by default */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2187 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2188 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2189 void *c_locale;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2190 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2191 #ifdef WITH_ZLIB
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2192 z_stream *d_stream; /* decompression stream */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2193 uLong z_crc; /* internal gzip crc */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2194 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2195 void *d_stream; /* dummy members, to preserve struct size */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2196 soap_int32 z_crc;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2197 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2198 const char *z_dict; /* support for zlib static dictionaries */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2199 unsigned int z_dict_len;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2200 short zlib_state; /* SOAP_ZLIB_NONE, SOAP_ZLIB_DEFLATE, or SOAP_ZLIB_INFLATE */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2201 short zlib_in; /* SOAP_ZLIB_NONE, SOAP_ZLIB_DEFLATE, or SOAP_ZLIB_GZIP */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2202 short zlib_out; /* SOAP_ZLIB_NONE, SOAP_ZLIB_DEFLATE, or SOAP_ZLIB_GZIP */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2203 char *z_buf; /* buffer */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2204 size_t z_buflen;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2205 unsigned short z_level; /* compression level to be used (0=none, 1=fast to 9=best) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2206 float z_ratio_in; /* detected compression ratio compressed_length/length of inbound message */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2207 float z_ratio_out; /* detected compression ratio compressed_length/length of outbound message */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2208 #ifdef WMW_RPM_IO /* VxWorks */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2209 void *rpmreqid;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2210 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2211 #ifdef __cplusplus
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2212 soap();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2213 soap(soap_mode);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2214 soap(soap_mode, soap_mode);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2215 soap(const struct soap&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2216 virtual ~soap();
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2217 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2218 void (*dummy)(void);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2219 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2220 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2221
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2222 struct soap_code_map
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2223 { long code;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2224 const char *string;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2225 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2226
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2227 /* forwarding list */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2228 struct soap_flist
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2229 { struct soap_flist *next;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2230 int type;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2231 void *ptr;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2232 unsigned int level;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2233 size_t len;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2234 void (*fcopy)(struct soap*, int, int, void*, size_t, const void*, size_t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2235 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2236
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2237 /* id-ref forwarding list */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2238 struct soap_ilist
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2239 { struct soap_ilist *next;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2240 int type;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2241 size_t size;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2242 void *link;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2243 void *copy;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2244 struct soap_flist *flist;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2245 void *ptr;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2246 unsigned int level;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2247 char id[1]; /* the actual id string value flows into the allocated region below this struct */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2248 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2249
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2250 struct soap_plugin
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2251 { struct soap_plugin *next;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2252 const char *id;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2253 void *data;
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2254 int (*fcopy)(struct soap *soap, struct soap_plugin *dst, struct soap_plugin *src);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2255 void (*fdelete)(struct soap *soap, struct soap_plugin *p); /* should delete fields of plugin only and not free(p) */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2256 };
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2257
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2258 extern SOAP_NMAC struct Namespace namespaces[];
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2259
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2260 #ifndef WITH_LEAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2261 # define soap_get0(soap) (((soap)->bufidx>=(soap)->buflen && soap_recv(soap)) ? EOF : (unsigned char)(soap)->buf[(soap)->bufidx])
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2262 # define soap_get1(soap) (((soap)->bufidx>=(soap)->buflen && soap_recv(soap)) ? EOF : (unsigned char)(soap)->buf[(soap)->bufidx++])
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2263 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2264 soap_wchar soap_get0(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2265 soap_wchar soap_get1(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2266 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2267
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2268 #define SOAP_XSTRINGIFY(s) SOAP_STRINGIFY(s)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2269 #define SOAP_STRINGIFY(s) #s
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2270
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2271 #define soap_versioning_paste(name, ext) name##_LIBRARY_VERSION_REQUIRED_##ext
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2272 #define soap_versioning_ext(name, ext) soap_versioning_paste(name, ext)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2273 #define soap_versioning(name) soap_versioning_ext(name, GSOAP_VERSION)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2274
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2275 #define soap_init(soap) soap_init1(soap, SOAP_IO_DEFAULT)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2276 #define soap_init1(soap, mode) soap_init2(soap, mode, mode)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2277 #define soap_init2(soap, imode, omode) soap_versioning(soap_init)(soap, imode, omode)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2278
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2279 #define soap_new() soap_new1(SOAP_IO_DEFAULT)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2280 #define soap_new1(mode) soap_new2(mode, mode)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2281 #define soap_new2(imode, omode) soap_versioning(soap_new)(imode, omode)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2282
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2283 #define soap_revget1(soap) ((soap)->bufidx--)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2284 #define soap_unget(soap, c) ((soap)->ahead = c)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2285 #define soap_register_plugin(soap, plugin) soap_register_plugin_arg(soap, plugin, NULL)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2286 #define soap_mode(soap, n) ((soap)->mode = (soap)->imode = (soap)->omode = (n))
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2287 #define soap_imode(soap, n) ((soap)->imode = (n))
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2288 #define soap_omode(soap, n) ((soap)->omode = (n))
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2289 #define soap_set_imode(soap, n) ((soap)->imode |= (n))
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2290 #define soap_clr_imode(soap, n) ((soap)->imode &= ~(n))
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2291 #define soap_set_omode(soap, n) ((soap)->omode |= (n))
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2292 #define soap_clr_omode(soap, n) ((soap)->omode &= ~(n))
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2293 #define soap_set_mode(soap, n) ((soap)->imode |= (n), (soap)->omode |= (n))
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2294 #define soap_clr_mode(soap, n) ((soap)->imode &= ~(n), (soap)->omode &= ~(n))
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2295 #define soap_destroy(soap) soap_delete((soap), NULL)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2296
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2297 #ifdef HAVE_STRRCHR
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2298 # define soap_strrchr(s, t) strrchr(s, t)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2299 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2300 SOAP_FMAC1 char* SOAP_FMAC2 soap_strrchr(const char *s, int t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2301 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2302
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2303 #ifdef HAVE_STRTOL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2304 # define soap_strtol(s, t, b) strtol(s, t, b)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2305 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2306 SOAP_FMAC1 long SOAP_FMAC2 soap_strtol(const char *s, char **t, int b);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2307 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2308
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2309 #ifdef HAVE_STRTOUL
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2310 # define soap_strtoul(s, t, b) strtoul(s, t, b)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2311 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2312 SOAP_FMAC1 unsigned long SOAP_FMAC2 soap_strtoul(const char *s, char **t, int b);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2313 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2314
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2315 #if defined(WIN32) && !defined(__MINGW32__)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2316 # define soap_strtoll _strtoi64
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2317 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2318 # define soap_strtoll strtoll
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2319 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2320
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2321 #if defined(WIN32) && !defined(__MINGW32__)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2322 # define soap_strtoull _strtoui64
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2323 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2324 # define soap_strtoull strtoull
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2325 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2326
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2327 #if defined(WITH_OPENSSL)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2328 # define soap_random soap_rand()
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2329 SOAP_FMAC1 int SOAP_FMAC2 soap_rand(void);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2330 #elif defined(HAVE_RANDOM)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2331 # define soap_random (int)random()
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2332 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2333 # define soap_random rand()
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2334 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2335
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2336 #ifdef WITH_NOIDREF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2337 # define soap_embedded(s, p, t) (0)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2338 # define soap_id_lookup(s, i, p, t, n, k) (p)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2339 # define soap_id_forward(s, h, p, len, st, tt, n, k, fc) (p)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2340 # define soap_reference(s, a, t) (1)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2341 # define soap_array_reference(s, p, a, n, t) (1)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2342 # define soap_embed(s, p, a, n, t, pp) (0)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2343 # define soap_embedded_id(s, i, p, t) (i)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2344 # define soap_is_embedded(s, p) (0)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2345 # define soap_is_single(s, p) (1)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2346 # define soap_lookup_type(s, i) (0)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2347 # define soap_getindependent(s) (0)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2348 # define soap_putindependent(s) (0)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2349 # define soap_markelement(s, p, n) (0)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2350 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2351
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2352 /* soap_traverse() traversal/walker routines take walker function arguments */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2353 typedef void soap_walker(struct soap*, void*, int, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2354
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2355 SOAP_FMAC5 int SOAP_FMAC6 soap_serve(struct soap *soap);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2356 SOAP_FMAC5 int SOAP_FMAC6 soap_serve_request(struct soap *soap);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2357
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2358 SOAP_FMAC3 void SOAP_FMAC4 soap_header(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2359 SOAP_FMAC3 void SOAP_FMAC4 soap_fault(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2360 SOAP_FMAC3 const char** SOAP_FMAC4 soap_faultcode(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2361 SOAP_FMAC3 const char** SOAP_FMAC4 soap_faultsubcode(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2362 SOAP_FMAC3 const char** SOAP_FMAC4 soap_faultstring(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2363 SOAP_FMAC3 const char** SOAP_FMAC4 soap_faultdetail(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2364 SOAP_FMAC3 const char* SOAP_FMAC4 soap_check_faultsubcode(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2365 SOAP_FMAC3 const char* SOAP_FMAC4 soap_check_faultdetail(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2366 SOAP_FMAC3 void SOAP_FMAC4 soap_serializefault(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2367
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2368 SOAP_FMAC1 void SOAP_FMAC2 soap_serializeheader(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2369 SOAP_FMAC1 int SOAP_FMAC2 soap_getheader(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2370 SOAP_FMAC1 int SOAP_FMAC2 soap_putheader(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2371 SOAP_FMAC1 int SOAP_FMAC2 soap_getfault(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2372 SOAP_FMAC1 int SOAP_FMAC2 soap_putfault(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2373
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2374 SOAP_FMAC1 void SOAP_FMAC2 soap_ssl_init(void);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2375 SOAP_FMAC1 int SOAP_FMAC2 soap_poll(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2376 SOAP_FMAC1 int SOAP_FMAC2 soap_connect_command(struct soap*, int, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2377 SOAP_FMAC1 int SOAP_FMAC2 soap_connect(struct soap*, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2378 SOAP_FMAC1 SOAP_SOCKET SOAP_FMAC2 soap_bind(struct soap*, const char*, int, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2379 SOAP_FMAC1 SOAP_SOCKET SOAP_FMAC2 soap_accept(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2380 SOAP_FMAC1 int SOAP_FMAC2 soap_ssl_accept(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2381 SOAP_FMAC1 const char * SOAP_FMAC2 soap_ssl_error(struct soap*, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2382
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2383 #if defined(VXWORKS) && defined(WM_SECURE_KEY_STORAGE)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2384 SOAP_FMAC1 int SOAP_FMAC2 soap_ssl_server_context(struct soap *soap, unsigned short flags, const char *keyfile, const char *keyid, const char *password, const char *cafile, const char *capath, const char *dhfile, const char *randfile, const char *sid);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2385 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2386 SOAP_FMAC1 int SOAP_FMAC2 soap_ssl_server_context(struct soap *soap, unsigned short flags, const char *keyfile, const char *password, const char *cafile, const char *capath, const char *dhfile, const char *randfile, const char *sid);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2387 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2388 #if defined(VXWORKS) && defined(WM_SECURE_KEY_STORAGE)
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2389 SOAP_FMAC1 int SOAP_FMAC2 soap_ssl_client_context(struct soap *soap, unsigned short flags, const char *keyfile, const char *keyid, const char *password, const char *cafile, const char *capath, const char *randfile);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2390 #else
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2391 SOAP_FMAC1 int SOAP_FMAC2 soap_ssl_client_context(struct soap *soap, unsigned short flags, const char *keyfile, const char *password, const char *cafile, const char *capath, const char *randfile);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2392 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2393
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2394 SOAP_FMAC1 int SOAP_FMAC2 soap_puthttphdr(struct soap*, int status, size_t count);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2395
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2396 SOAP_FMAC1 const char* SOAP_FMAC2 soap_get_header_attribute(struct soap*, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2397 SOAP_FMAC1 const char* SOAP_FMAC2 soap_decode_key(char*, size_t, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2398 SOAP_FMAC1 const char* SOAP_FMAC2 soap_decode_val(char*, size_t, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2399
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2400 SOAP_FMAC1 size_t SOAP_FMAC2 soap_hash(const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2401 SOAP_FMAC1 void SOAP_FMAC2 soap_set_endpoint(struct soap*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2402 SOAP_FMAC1 int SOAP_FMAC2 soap_flush_raw(struct soap*, const char*, size_t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2403 SOAP_FMAC1 int SOAP_FMAC2 soap_flush(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2404 SOAP_FMAC1 soap_wchar SOAP_FMAC2 soap_get(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2405 SOAP_FMAC1 soap_wchar SOAP_FMAC2 soap_getchar(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2406 SOAP_FMAC1 int SOAP_FMAC2 soap_tag_cmp(const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2407 SOAP_FMAC1 void SOAP_FMAC2 soap_set_fault(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2408 SOAP_FMAC1 int SOAP_FMAC2 soap_sender_fault(struct soap*, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2409 SOAP_FMAC1 int SOAP_FMAC2 soap_sender_fault_subcode(struct soap*, const char*, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2410 SOAP_FMAC1 int SOAP_FMAC2 soap_receiver_fault(struct soap*, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2411 SOAP_FMAC1 int SOAP_FMAC2 soap_receiver_fault_subcode(struct soap*, const char*, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2412 SOAP_FMAC1 int SOAP_FMAC2 soap_set_sender_error(struct soap*, const char*, const char*, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2413 SOAP_FMAC1 int SOAP_FMAC2 soap_set_receiver_error(struct soap*, const char*, const char*, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2414
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2415 SOAP_FMAC1 int SOAP_FMAC2 soap_send_raw(struct soap*, const char*, size_t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2416 SOAP_FMAC1 int SOAP_FMAC2 soap_recv_raw(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2417 SOAP_FMAC1 int SOAP_FMAC2 soap_recv(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2418 SOAP_FMAC1 int SOAP_FMAC2 soap_send(struct soap*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2419 SOAP_FMAC1 int SOAP_FMAC2 soap_send2(struct soap*, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2420 SOAP_FMAC1 int SOAP_FMAC2 soap_send3(struct soap*, const char*, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2421
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2422 SOAP_FMAC1 int SOAP_FMAC2 soap_pututf8(struct soap*, unsigned long);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2423 SOAP_FMAC1 soap_wchar SOAP_FMAC2 soap_getutf8(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2424
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2425 SOAP_FMAC1 int SOAP_FMAC2 soap_putbase64(struct soap*, const unsigned char*, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2426 SOAP_FMAC1 unsigned char* SOAP_FMAC2 soap_getbase64(struct soap*, int*, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2427 SOAP_FMAC1 int SOAP_FMAC2 soap_puthex(struct soap*, const unsigned char*, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2428 SOAP_FMAC1 unsigned char* SOAP_FMAC2 soap_gethex(struct soap*, int*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2429
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2430 #ifndef WITH_LEANER
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2431 SOAP_FMAC1 int SOAP_FMAC2 soap_xop_forward(struct soap*, unsigned char**, int*, char**, char**, char**);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2432 SOAP_FMAC1 int SOAP_FMAC2 soap_dime_forward(struct soap*, unsigned char**, int*, char**, char**, char**);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2433 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2434
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2435 #ifndef WITH_NOIDREF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2436 SOAP_FMAC1 int SOAP_FMAC2 soap_pointer_lookup_id(struct soap*, void *p, int t, struct soap_plist**);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2437 SOAP_FMAC1 int SOAP_FMAC2 soap_pointer_lookup(struct soap*, const void *p, int t, struct soap_plist**);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2438 SOAP_FMAC1 int SOAP_FMAC2 soap_pointer_enter(struct soap*, const void *p, const struct soap_array *a, int n, int t, struct soap_plist**);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2439 SOAP_FMAC1 int SOAP_FMAC2 soap_array_pointer_lookup(struct soap*, const void *p, const struct soap_array *a, int n, int t, struct soap_plist**);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2440 SOAP_FMAC1 int SOAP_FMAC2 soap_embed(struct soap *soap, const void *p, const struct soap_array *a, int n, const char *tag, int type);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2441 SOAP_FMAC1 struct soap_ilist* SOAP_FMAC2 soap_lookup(struct soap*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2442 SOAP_FMAC1 struct soap_ilist* SOAP_FMAC2 soap_enter(struct soap*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2443 SOAP_FMAC1 int SOAP_FMAC2 soap_resolve(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2444 SOAP_FMAC1 void SOAP_FMAC2 soap_embedded(struct soap*, const void *p, int t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2445 SOAP_FMAC1 int SOAP_FMAC2 soap_reference(struct soap*, const void *p, int t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2446 SOAP_FMAC1 int SOAP_FMAC2 soap_array_reference(struct soap*, const void *p, const struct soap_array *a, int n, int t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2447 SOAP_FMAC1 int SOAP_FMAC2 soap_embedded_id(struct soap*, int id, const void *p, int t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2448 SOAP_FMAC1 int SOAP_FMAC2 soap_is_embedded(struct soap*, struct soap_plist*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2449 SOAP_FMAC1 int SOAP_FMAC2 soap_is_single(struct soap*, struct soap_plist*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2450 SOAP_FMAC1 void SOAP_FMAC2 soap_set_embedded(struct soap*, struct soap_plist*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2451 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2452
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2453 SOAP_FMAC1 int SOAP_FMAC2 soap_begin_count(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2454 SOAP_FMAC1 int SOAP_FMAC2 soap_end_count(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2455 SOAP_FMAC1 int SOAP_FMAC2 soap_begin_send(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2456 SOAP_FMAC1 int SOAP_FMAC2 soap_end_send(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2457 SOAP_FMAC1 int SOAP_FMAC2 soap_end_send_flush(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2458
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2459 SOAP_FMAC1 const struct soap_code_map* SOAP_FMAC2 soap_code(const struct soap_code_map*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2460 SOAP_FMAC1 long SOAP_FMAC2 soap_code_int(const struct soap_code_map*, const char*, long);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2461 SOAP_FMAC1 const char* SOAP_FMAC2 soap_code_str(const struct soap_code_map*, long);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2462 SOAP_FMAC1 long SOAP_FMAC2 soap_code_bits(const struct soap_code_map*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2463 SOAP_FMAC1 const char* SOAP_FMAC2 soap_code_list(struct soap*, const struct soap_code_map*, long);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2464
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2465 SOAP_FMAC1 int SOAP_FMAC2 soap_getline(struct soap*, char*, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2466 SOAP_FMAC1 int SOAP_FMAC2 soap_begin_serve(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2467 SOAP_FMAC1 int SOAP_FMAC2 soap_begin_recv(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2468 SOAP_FMAC1 int SOAP_FMAC2 soap_end_recv(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2469
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2470 SOAP_FMAC1 void* SOAP_FMAC2 soap_malloc(struct soap*, size_t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2471 SOAP_FMAC1 void SOAP_FMAC2 soap_dealloc(struct soap*, void*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2472 SOAP_FMAC1 struct soap_clist * SOAP_FMAC2 soap_link(struct soap*, void*, int, int, int (*fdelete)(struct soap_clist*));
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2473 SOAP_FMAC1 int SOAP_FMAC2 soap_unlink(struct soap*, const void*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2474 SOAP_FMAC1 void SOAP_FMAC2 soap_free_temp(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2475 SOAP_FMAC1 void SOAP_FMAC2 soap_del(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2476
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2477 SOAP_FMAC1 void* SOAP_FMAC2 soap_track_malloc(struct soap*, const char*, int, size_t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2478 SOAP_FMAC1 void SOAP_FMAC2 soap_track_free(struct soap*, const char*, int, void*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2479
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2480 #ifndef WITH_NOIDREF
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2481 SOAP_FMAC1 int SOAP_FMAC2 soap_lookup_type(struct soap*, const char *id);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2482 SOAP_FMAC1 void* SOAP_FMAC2 soap_id_lookup(struct soap*, const char *id, void **p, int t, size_t n, unsigned int k);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2483 SOAP_FMAC1 void* SOAP_FMAC2 soap_id_forward(struct soap*, const char *id, void *p, size_t len, int st, int tt, size_t n, unsigned int k, void(*fcopy)(struct soap*, int, int, void*, size_t, const void*, size_t));
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2484 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2485 SOAP_FMAC1 void* SOAP_FMAC2 soap_id_enter(struct soap*, const char *id, void *p, int t, size_t n, unsigned int k, const char *type, const char *arrayType, void *(*finstantiate)(struct soap*, int, const char*, const char*, size_t*));
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2486 SOAP_FMAC1 void SOAP_FMAC2 soap_fcopy(struct soap *soap, int st, int tt, void *p, size_t, const void *q, size_t n);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2487
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2488 SOAP_FMAC1 int SOAP_FMAC2 soap_size(const int *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2489 SOAP_FMAC1 int SOAP_FMAC2 soap_getoffsets(const char *, const int *, int *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2490 SOAP_FMAC1 int SOAP_FMAC2 soap_getsize(const char *, const char *, int *);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2491 SOAP_FMAC1 int SOAP_FMAC2 soap_getsizes(const char *, int *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2492 SOAP_FMAC1 int SOAP_FMAC2 soap_getposition(const char *, int *);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2493
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2494 SOAP_FMAC1 char* SOAP_FMAC2 soap_putsize(struct soap*, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2495 SOAP_FMAC1 char* SOAP_FMAC2 soap_putsizesoffsets(struct soap*, const char *, const int *, const int *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2496 SOAP_FMAC1 char* SOAP_FMAC2 soap_putsizes(struct soap*, const char *, const int *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2497 SOAP_FMAC1 char* SOAP_FMAC2 soap_putoffset(struct soap*, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2498 SOAP_FMAC1 char* SOAP_FMAC2 soap_putoffsets(struct soap*, const int *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2499
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2500 SOAP_FMAC1 int SOAP_FMAC2 soap_closesock(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2501 SOAP_FMAC1 int SOAP_FMAC2 soap_force_closesock(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2502
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2503 SOAP_FMAC1 struct soap *SOAP_FMAC2 soap_versioning(soap_new)(soap_mode, soap_mode);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2504 SOAP_FMAC1 void SOAP_FMAC2 soap_free(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2505 SOAP_FMAC1 struct soap *SOAP_FMAC2 soap_copy(const struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2506 SOAP_FMAC1 struct soap *SOAP_FMAC2 soap_copy_context(struct soap*, const struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2507 SOAP_FMAC1 void SOAP_FMAC2 soap_copy_stream(struct soap*, struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2508 SOAP_FMAC1 void SOAP_FMAC2 soap_free_stream(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2509 SOAP_FMAC1 void SOAP_FMAC2 soap_versioning(soap_init)(struct soap*, soap_mode, soap_mode);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2510 SOAP_FMAC1 void SOAP_FMAC2 soap_initialize(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2511 SOAP_FMAC1 void SOAP_FMAC2 soap_done(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2512 SOAP_FMAC1 void SOAP_FMAC2 soap_cleanup(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2513 SOAP_FMAC1 void SOAP_FMAC2 soap_begin(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2514 SOAP_FMAC1 void SOAP_FMAC2 soap_end(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2515 SOAP_FMAC1 void SOAP_FMAC2 soap_delete(struct soap*, void*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2516 SOAP_FMAC1 void SOAP_FMAC2 soap_delegate_deletion(struct soap*, struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2517
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2518 /* API functions available with DEBUG or SOAP_DEBUG defined: */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2519 SOAP_FMAC1 void SOAP_FMAC2 soap_set_recv_logfile(struct soap*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2520 SOAP_FMAC1 void SOAP_FMAC2 soap_set_sent_logfile(struct soap*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2521 SOAP_FMAC1 void SOAP_FMAC2 soap_set_test_logfile(struct soap*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2522 SOAP_FMAC1 void SOAP_FMAC2 soap_close_logfiles(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2523 SOAP_FMAC1 void SOAP_FMAC2 soap_open_logfile(struct soap*, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2524 /* */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2525
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2526 SOAP_FMAC1 const char* SOAP_FMAC2 soap_value(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2527
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2528 SOAP_FMAC1 int SOAP_FMAC2 soap_match_tag(struct soap*, const char*, const char *);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2529 SOAP_FMAC1 int SOAP_FMAC2 soap_match_array(struct soap*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2530
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2531 SOAP_FMAC1 int SOAP_FMAC2 soap_element(struct soap*, const char*, int, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2532 SOAP_FMAC1 int SOAP_FMAC2 soap_element_begin_out(struct soap*, const char *tag, int id, const char *type);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2533 SOAP_FMAC1 int SOAP_FMAC2 soap_array_begin_out(struct soap*, const char *tag, int id, const char *type, const char *offset);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2534 SOAP_FMAC1 int SOAP_FMAC2 soap_element_ref(struct soap*, const char *tag, int id, int href);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2535 SOAP_FMAC1 int SOAP_FMAC2 soap_element_href(struct soap*, const char *tag, int id, const char *ref, const char *val);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2536 SOAP_FMAC1 int SOAP_FMAC2 soap_element_null(struct soap*, const char *tag, int id, const char *type);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2537 SOAP_FMAC1 int SOAP_FMAC2 soap_element_nil(struct soap*, const char *tag);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2538 SOAP_FMAC1 int SOAP_FMAC2 soap_element_id(struct soap*, const char *tag, int id, const void *p, const struct soap_array *a, int d, const char *type, int n);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2539 SOAP_FMAC1 int SOAP_FMAC2 soap_element_result(struct soap*, const char *tag);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2540 SOAP_FMAC1 void SOAP_FMAC2 soap_check_result(struct soap*, const char *tag);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2541 SOAP_FMAC1 int SOAP_FMAC2 soap_element_end_out(struct soap*, const char *tag);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2542 SOAP_FMAC1 int SOAP_FMAC2 soap_element_start_end_out(struct soap*, const char *tag);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2543
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2544 SOAP_FMAC1 int SOAP_FMAC2 soap_attribute(struct soap*, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2545
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2546 SOAP_FMAC1 int SOAP_FMAC2 soap_element_begin_in(struct soap*, const char *tag, int nillable, const char *type);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2547
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2548 SOAP_FMAC1 int SOAP_FMAC2 soap_element_end_in(struct soap*, const char *tag);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2549
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2550 SOAP_FMAC1 int SOAP_FMAC2 soap_peek_element(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2551
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2552 SOAP_FMAC1 void SOAP_FMAC2 soap_retry(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2553 SOAP_FMAC1 void SOAP_FMAC2 soap_revert(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2554
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2555 SOAP_FMAC1 char* SOAP_FMAC2 soap_strdup(struct soap*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2556 SOAP_FMAC1 wchar_t* SOAP_FMAC2 soap_wstrdup(struct soap*, const wchar_t*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2557 SOAP_FMAC1 const char * SOAP_FMAC2 soap_tagsearch(const char *big, const char *little);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2558
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2559 SOAP_FMAC1 int SOAP_FMAC2 soap_string_out(struct soap*, const char *s, int flag);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2560 SOAP_FMAC1 char* SOAP_FMAC2 soap_string_in(struct soap*, int, long, long);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2561
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2562 #ifndef WITH_LEANER
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2563 SOAP_FMAC1 int SOAP_FMAC2 soap_wstring_out(struct soap*, const wchar_t *s, int flag);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2564 SOAP_FMAC1 wchar_t* SOAP_FMAC2 soap_wstring_in(struct soap*, int, long, long);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2565 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2566
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2567 SOAP_FMAC1 int SOAP_FMAC2 soap_match_namespace(struct soap*, const char *, const char*, size_t n1, size_t n2);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2568
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2569 SOAP_FMAC1 void SOAP_FMAC2 soap_set_version(struct soap*, short);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2570 SOAP_FMAC1 int SOAP_FMAC2 soap_set_namespaces(struct soap*, const struct Namespace*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2571 SOAP_FMAC1 void SOAP_FMAC2 soap_set_local_namespaces(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2572
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2573 SOAP_FMAC1 void SOAP_FMAC2 soap_pop_namespace(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2574 SOAP_FMAC1 struct soap_nlist* SOAP_FMAC2 soap_push_namespace(struct soap*, const char *,const char *);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2575 SOAP_FMAC1 const char* SOAP_FMAC2 soap_current_namespace(struct soap *soap, const char *tag);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2576
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2577 SOAP_FMAC1 struct soap_nlist* SOAP_FMAC2 soap_lookup_ns(struct soap *soap, const char *tag, size_t n);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2578
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2579 SOAP_FMAC1 int SOAP_FMAC2 soap_store_lab(struct soap*, const char*, size_t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2580 SOAP_FMAC1 int SOAP_FMAC2 soap_append_lab(struct soap*, const char*, size_t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2581
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2582 SOAP_FMAC1 struct soap_blist* SOAP_FMAC2 soap_new_block(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2583 SOAP_FMAC1 void* SOAP_FMAC2 soap_push_block(struct soap*, struct soap_blist*, size_t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2584 SOAP_FMAC1 void SOAP_FMAC2 soap_pop_block(struct soap*, struct soap_blist*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2585 SOAP_FMAC1 size_t SOAP_FMAC2 soap_size_block(struct soap*, struct soap_blist*, size_t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2586 SOAP_FMAC1 char* SOAP_FMAC2 soap_first_block(struct soap*, struct soap_blist*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2587 SOAP_FMAC1 char* SOAP_FMAC2 soap_next_block(struct soap*, struct soap_blist*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2588 SOAP_FMAC1 size_t SOAP_FMAC2 soap_block_size(struct soap*, struct soap_blist*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2589 SOAP_FMAC1 char* SOAP_FMAC2 soap_save_block(struct soap*, struct soap_blist*, char*, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2590 SOAP_FMAC1 void SOAP_FMAC2 soap_end_block(struct soap*, struct soap_blist*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2591 SOAP_FMAC1 void SOAP_FMAC2 soap_update_pointers(struct soap *soap, char *start, char *end, char *p1, char *p2);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2592
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2593 SOAP_FMAC1 int SOAP_FMAC2 soap_envelope_begin_out(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2594 SOAP_FMAC1 int SOAP_FMAC2 soap_envelope_end_out(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2595
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2596 SOAP_FMAC1 char * SOAP_FMAC2 soap_get_http_body(struct soap*, size_t *len);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2597
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2598 SOAP_FMAC1 int SOAP_FMAC2 soap_envelope_begin_in(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2599 SOAP_FMAC1 int SOAP_FMAC2 soap_envelope_end_in(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2600
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2601 SOAP_FMAC1 int SOAP_FMAC2 soap_body_begin_out(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2602 SOAP_FMAC1 int SOAP_FMAC2 soap_body_end_out(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2603
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2604 SOAP_FMAC1 int SOAP_FMAC2 soap_body_begin_in(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2605 SOAP_FMAC1 int SOAP_FMAC2 soap_body_end_in(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2606
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2607 SOAP_FMAC1 int SOAP_FMAC2 soap_recv_header(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2608
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2609 SOAP_FMAC1 int SOAP_FMAC2 soap_response(struct soap*, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2610
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2611 SOAP_FMAC1 int SOAP_FMAC2 soap_send_empty_response(struct soap*, int status);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2612 SOAP_FMAC1 int SOAP_FMAC2 soap_recv_empty_response(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2613
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2614 SOAP_FMAC1 int SOAP_FMAC2 soap_send_fault(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2615 SOAP_FMAC1 int SOAP_FMAC2 soap_recv_fault(struct soap*, int check);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2616
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2617 #ifndef WITH_NOSTDLIB
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2618 SOAP_FMAC1 void SOAP_FMAC2 soap_print_fault(struct soap*, FILE*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2619 SOAP_FMAC1 void SOAP_FMAC2 soap_print_fault_location(struct soap*, FILE*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2620 # ifndef WITH_LEAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2621 # ifndef WITH_COMPAT
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2622 # ifdef __cplusplus
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2623 SOAP_FMAC1 void SOAP_FMAC2 soap_stream_fault(struct soap*, std::ostream&);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2624 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2625 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2626 SOAP_FMAC1 char* SOAP_FMAC2 soap_sprint_fault(struct soap*, char*, size_t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2627 # endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2628 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2629
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2630 SOAP_FMAC1 int SOAP_FMAC2 soap_s2byte(struct soap*, const char*, char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2631 SOAP_FMAC1 int SOAP_FMAC2 soap_s2short(struct soap*, const char*, short*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2632 SOAP_FMAC1 int SOAP_FMAC2 soap_s2int(struct soap*, const char*, int*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2633 SOAP_FMAC1 int SOAP_FMAC2 soap_s2long(struct soap*, const char*, long*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2634 SOAP_FMAC1 int SOAP_FMAC2 soap_s2LONG64(struct soap*, const char*, LONG64*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2635 SOAP_FMAC1 int SOAP_FMAC2 soap_s2float(struct soap*, const char*, float*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2636 SOAP_FMAC1 int SOAP_FMAC2 soap_s2double(struct soap*, const char*, double*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2637 SOAP_FMAC1 int SOAP_FMAC2 soap_s2unsignedByte(struct soap*, const char*, unsigned char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2638 SOAP_FMAC1 int SOAP_FMAC2 soap_s2unsignedShort(struct soap*, const char*, unsigned short*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2639 SOAP_FMAC1 int SOAP_FMAC2 soap_s2unsignedInt(struct soap*, const char*, unsigned int*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2640 SOAP_FMAC1 int SOAP_FMAC2 soap_s2unsignedLong(struct soap*, const char*, unsigned long*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2641 SOAP_FMAC1 int SOAP_FMAC2 soap_s2ULONG64(struct soap*, const char*, ULONG64*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2642 SOAP_FMAC1 int SOAP_FMAC2 soap_s2string(struct soap*, const char*, char**, long minlen, long maxlen);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2643 SOAP_FMAC1 int SOAP_FMAC2 soap_s2QName(struct soap*, const char*, char**, long minlen, long maxlen);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2644
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2645 #ifndef WITH_LEAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2646 SOAP_FMAC1 int SOAP_FMAC2 soap_s2wchar(struct soap*, const char*, wchar_t**, long minlen, long maxlen);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2647 SOAP_FMAC1 int SOAP_FMAC2 soap_s2dateTime(struct soap*, const char*, time_t*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2648 SOAP_FMAC1 char* SOAP_FMAC2 soap_s2base64(struct soap*, const unsigned char*, char*, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2649 SOAP_FMAC1 char* SOAP_FMAC2 soap_s2hex(struct soap*, const unsigned char*, char*, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2650 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2651
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2652 SOAP_FMAC1 const char* SOAP_FMAC2 soap_byte2s(struct soap*, char);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2653 SOAP_FMAC1 const char* SOAP_FMAC2 soap_short2s(struct soap*, short);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2654 SOAP_FMAC1 const char* SOAP_FMAC2 soap_int2s(struct soap*, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2655 SOAP_FMAC1 const char* SOAP_FMAC2 soap_long2s(struct soap*, long);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2656 SOAP_FMAC1 const char* SOAP_FMAC2 soap_LONG642s(struct soap*, LONG64);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2657 SOAP_FMAC1 const char* SOAP_FMAC2 soap_float2s(struct soap*, float);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2658 SOAP_FMAC1 const char* SOAP_FMAC2 soap_double2s(struct soap*, double);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2659 SOAP_FMAC1 const char* SOAP_FMAC2 soap_unsignedByte2s(struct soap*, unsigned char);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2660 SOAP_FMAC1 const char* SOAP_FMAC2 soap_unsignedShort2s(struct soap*, unsigned short);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2661 SOAP_FMAC1 const char* SOAP_FMAC2 soap_unsignedInt2s(struct soap*, unsigned int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2662 SOAP_FMAC1 const char* SOAP_FMAC2 soap_unsignedLong2s(struct soap*, unsigned long);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2663 SOAP_FMAC1 const char* SOAP_FMAC2 soap_ULONG642s(struct soap*, ULONG64);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2664 SOAP_FMAC1 const char* SOAP_FMAC2 soap_QName2s(struct soap*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2665
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2666 #ifndef WITH_LEAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2667 SOAP_FMAC1 const char* SOAP_FMAC2 soap_wchar2s(struct soap*, const wchar_t*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2668 SOAP_FMAC1 const char* SOAP_FMAC2 soap_dateTime2s(struct soap*, time_t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2669 SOAP_FMAC1 const char* SOAP_FMAC2 soap_base642s(struct soap*, const char*, char*, size_t, int*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2670 SOAP_FMAC1 const char* SOAP_FMAC2 soap_hex2s(struct soap*, const char*, char*, size_t, int*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2671 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2672
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2673
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2674 SOAP_FMAC1 int* SOAP_FMAC2 soap_inint(struct soap*, const char *tag, int *p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2675 SOAP_FMAC1 char* SOAP_FMAC2 soap_inbyte(struct soap*, const char *tag, char *p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2676 SOAP_FMAC1 long* SOAP_FMAC2 soap_inlong(struct soap*, const char *tag, long *p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2677 SOAP_FMAC1 LONG64* SOAP_FMAC2 soap_inLONG64(struct soap*, const char *tag, LONG64 *p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2678 SOAP_FMAC1 short* SOAP_FMAC2 soap_inshort(struct soap*, const char *tag, short *p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2679 SOAP_FMAC1 float* SOAP_FMAC2 soap_infloat(struct soap*, const char *tag, float *p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2680 SOAP_FMAC1 double* SOAP_FMAC2 soap_indouble(struct soap*, const char *tag, double *p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2681 SOAP_FMAC1 unsigned char* SOAP_FMAC2 soap_inunsignedByte(struct soap*, const char *tag, unsigned char *p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2682 SOAP_FMAC1 unsigned short* SOAP_FMAC2 soap_inunsignedShort(struct soap*, const char *tag, unsigned short *p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2683 SOAP_FMAC1 unsigned int* SOAP_FMAC2 soap_inunsignedInt(struct soap*, const char *tag, unsigned int *p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2684 SOAP_FMAC1 unsigned long* SOAP_FMAC2 soap_inunsignedLong(struct soap*, const char *tag, unsigned long *p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2685 SOAP_FMAC1 ULONG64* SOAP_FMAC2 soap_inULONG64(struct soap*, const char *tag, ULONG64 *p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2686 SOAP_FMAC1 char** SOAP_FMAC2 soap_instring(struct soap*, const char *tag, char **p, const char *, int, int, long, long);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2687 SOAP_FMAC1 char** SOAP_FMAC2 soap_inliteral(struct soap*, const char *tag, char **p);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2688
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2689 #ifndef WITH_LEAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2690 SOAP_FMAC1 time_t* SOAP_FMAC2 soap_indateTime(struct soap*, const char *tag, time_t *p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2691 SOAP_FMAC1 time_t SOAP_FMAC2 soap_timegm(struct tm*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2692 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2693
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2694 #ifndef WITH_LEANER
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2695 SOAP_FMAC1 wchar_t** SOAP_FMAC2 soap_inwstring(struct soap*, const char *tag, wchar_t **p, const char *, int, long, long);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2696 SOAP_FMAC1 wchar_t** SOAP_FMAC2 soap_inwliteral(struct soap*, const char *tag, wchar_t **p);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2697 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2698
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2699 SOAP_FMAC1 int SOAP_FMAC2 soap_outbyte(struct soap*, const char *tag, int id, const char *p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2700 SOAP_FMAC1 int SOAP_FMAC2 soap_outshort(struct soap*, const char *tag, int id, const short *p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2701 SOAP_FMAC1 int SOAP_FMAC2 soap_outint(struct soap*, const char *tag, int id, const int *p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2702 SOAP_FMAC1 int SOAP_FMAC2 soap_outlong(struct soap*, const char *tag, int id, const long *p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2703 SOAP_FMAC1 int SOAP_FMAC2 soap_outLONG64(struct soap*, const char *tag, int id, const LONG64 *p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2704 SOAP_FMAC1 int SOAP_FMAC2 soap_outfloat(struct soap*, const char *tag, int id, const float *p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2705 SOAP_FMAC1 int SOAP_FMAC2 soap_outdouble(struct soap*, const char *tag, int id, const double *p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2706 SOAP_FMAC1 int SOAP_FMAC2 soap_outunsignedByte(struct soap*, const char *tag, int id, const unsigned char *p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2707 SOAP_FMAC1 int SOAP_FMAC2 soap_outunsignedShort(struct soap*, const char *tag, int id, const unsigned short *p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2708 SOAP_FMAC1 int SOAP_FMAC2 soap_outunsignedInt(struct soap*, const char *tag, int id, const unsigned int *p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2709 SOAP_FMAC1 int SOAP_FMAC2 soap_outunsignedLong(struct soap*, const char *tag, int id, const unsigned long *p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2710 SOAP_FMAC1 int SOAP_FMAC2 soap_outULONG64(struct soap*, const char *tag, int id, const ULONG64 *p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2711 SOAP_FMAC1 int SOAP_FMAC2 soap_outstring(struct soap*, const char *tag, int id, char *const*p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2712 SOAP_FMAC1 int SOAP_FMAC2 soap_outliteral(struct soap*, const char *tag, char *const*p, const char *type);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2713
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2714 #ifndef WITH_LEAN
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2715 SOAP_FMAC1 int SOAP_FMAC2 soap_outdateTime(struct soap*, const char *tag, int id, const time_t *p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2716 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2717
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2718 #ifndef WITH_LEANER
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2719 SOAP_FMAC1 int SOAP_FMAC2 soap_outwstring(struct soap*, const char *tag, int id, wchar_t *const*p, const char *, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2720 SOAP_FMAC1 int SOAP_FMAC2 soap_outwliteral(struct soap*, const char *tag, wchar_t *const*p, const char *type);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2721 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2722
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2723 #ifndef WITH_LEANER
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2724 SOAP_FMAC1 int SOAP_FMAC2 soap_attachment(struct soap *, const char*, int, const void*, const struct soap_array*, const char*, const char*, const char*, int, const char*, int);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2725 SOAP_FMAC1 int SOAP_FMAC2 soap_move(struct soap*, size_t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2726 SOAP_FMAC1 size_t SOAP_FMAC2 soap_tell(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2727 SOAP_FMAC1 char* SOAP_FMAC2 soap_dime_option(struct soap*, unsigned short, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2728 SOAP_FMAC1 int SOAP_FMAC2 soap_getdimehdr(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2729 SOAP_FMAC1 int SOAP_FMAC2 soap_getdime(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2730 SOAP_FMAC1 int SOAP_FMAC2 soap_putdimehdr(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2731 SOAP_FMAC1 int SOAP_FMAC2 soap_putdime(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2732 SOAP_FMAC1 int SOAP_FMAC2 soap_getmimehdr(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2733 SOAP_FMAC1 int SOAP_FMAC2 soap_getmime(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2734 SOAP_FMAC1 int SOAP_FMAC2 soap_putmimehdr(struct soap*, struct soap_multipart*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2735 SOAP_FMAC1 int SOAP_FMAC2 soap_putmime(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2736 SOAP_FMAC1 void SOAP_FMAC2 soap_set_dime(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2737 SOAP_FMAC1 void SOAP_FMAC2 soap_set_mime(struct soap*, const char *boundary, const char *start);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2738 SOAP_FMAC1 void SOAP_FMAC2 soap_clr_dime(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2739 SOAP_FMAC1 void SOAP_FMAC2 soap_clr_mime(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2740 SOAP_FMAC1 int SOAP_FMAC2 soap_set_dime_attachment(struct soap*, char *ptr, size_t size, const char *type, const char *id, unsigned short optype, const char *option);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2741 SOAP_FMAC1 int SOAP_FMAC2 soap_set_mime_attachment(struct soap*, char *ptr, size_t size, enum soap_mime_encoding encoding, const char *type, const char *id, const char *location, const char *description);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2742 SOAP_FMAC1 void SOAP_FMAC2 soap_post_check_mime_attachments(struct soap *soap);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2743 SOAP_FMAC1 int SOAP_FMAC2 soap_check_mime_attachments(struct soap *soap);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2744 SOAP_FMAC1 struct soap_multipart* SOAP_FMAC2 soap_get_mime_attachment(struct soap *soap, void *handle);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2745 SOAP_FMAC1 int SOAP_FMAC2 soap_match_cid(struct soap*, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2746 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2747
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2748 SOAP_FMAC1 int SOAP_FMAC2 soap_register_plugin_arg(struct soap*, int (*fcreate)(struct soap*, struct soap_plugin*, void*), void*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2749 SOAP_FMAC1 void* SOAP_FMAC2 soap_lookup_plugin(struct soap*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2750
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2751 SOAP_FMAC1 const char* SOAP_FMAC2 soap_attr_value(struct soap *soap, const char *name, int flag);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2752 SOAP_FMAC1 int SOAP_FMAC2 soap_set_attr(struct soap *soap, const char *name, const char *value, int flag);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2753 SOAP_FMAC1 void SOAP_FMAC2 soap_clr_attr(struct soap *soap);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2754
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2755 SOAP_FMAC1 const char* SOAP_FMAC2 soap_url(struct soap *soap, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2756 SOAP_FMAC1 size_t SOAP_FMAC2 soap_encode_url(const char*, char*, size_t);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2757 SOAP_FMAC1 const char* SOAP_FMAC2 soap_encode_url_string(struct soap*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2758 #ifdef WITH_COOKIES
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2759 SOAP_FMAC1 void SOAP_FMAC2 soap_getcookies(struct soap *soap, const char *val);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2760 SOAP_FMAC1 extern struct soap_cookie* SOAP_FMAC2 soap_set_cookie(struct soap*, const char*, const char*, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2761 SOAP_FMAC1 extern struct soap_cookie* SOAP_FMAC2 soap_cookie(struct soap*, const char*, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2762 SOAP_FMAC1 extern char* SOAP_FMAC2 soap_cookie_value(struct soap*, const char*, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2763 SOAP_FMAC1 extern char* SOAP_FMAC2 soap_env_cookie_value(struct soap*, const char*, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2764 SOAP_FMAC1 extern time_t SOAP_FMAC2 soap_cookie_expire(struct soap*, const char*, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2765 SOAP_FMAC1 extern int SOAP_FMAC2 soap_set_cookie_expire(struct soap*, const char*, long, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2766 SOAP_FMAC1 extern int SOAP_FMAC2 soap_set_cookie_session(struct soap*, const char*, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2767 SOAP_FMAC1 extern int SOAP_FMAC2 soap_clr_cookie_session(struct soap*, const char*, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2768 SOAP_FMAC1 extern void SOAP_FMAC2 soap_clr_cookie(struct soap*, const char*, const char*, const char*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2769 SOAP_FMAC1 extern int SOAP_FMAC2 soap_getenv_cookies(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2770 SOAP_FMAC1 extern struct soap_cookie* SOAP_FMAC2 soap_copy_cookies(struct soap*, const struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2771 SOAP_FMAC1 extern void SOAP_FMAC2 soap_free_cookies(struct soap*);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2772 SOAP_FMAC1 int SOAP_FMAC2 soap_putsetcookies(struct soap *soap);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2773 SOAP_FMAC1 int SOAP_FMAC2 soap_putcookies(struct soap *soap, const char *domain, const char *path, int secure);
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2774 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2775
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2776 #ifdef __cplusplus
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2777 } /* extern "C" */
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2778 #endif
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2779
8300eb051bea Initial upload
ktnyt
parents:
diff changeset
2780 #endif /* STDSOAP_H */