~ifolder-dev/simias/trunk-packaging

« back to all changes in this revision

Viewing changes to tools/gsoap/gsoap-linux-2.7/samples/quote_VC/.svn/text-base/stdsoap2.h.svn-base

  • Committer: Jorge O. Castro
  • Date: 2007-12-03 06:56:46 UTC
  • Revision ID: jorge@ubuntu.com-20071203065646-mupcnjcwgm5mnhyt
* Remove a bunch of .svn directories we no longer need.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 
3
 
stdsoap2.h 2.7.9k
4
 
 
5
 
gSOAP runtime
6
 
 
7
 
gSOAP XML Web services tools
8
 
Copyright (C) 2000-2007, Robert van Engelen, Genivia Inc., All Rights Reserved.
9
 
This part of the software is released under one of the following licenses:
10
 
GPL, the gSOAP public license, or Genivia's license for commercial use.
11
 
--------------------------------------------------------------------------------
12
 
Contributors:
13
 
 
14
 
Wind River Systems, Inc., for the following additions (marked WR[...]):
15
 
  - vxWorks compatible
16
 
--------------------------------------------------------------------------------
17
 
gSOAP public license.
18
 
 
19
 
The contents of this file are subject to the gSOAP Public License Version 1.3
20
 
(the "License"); you may not use this file except in compliance with the
21
 
License. You may obtain a copy of the License at
22
 
http://www.cs.fsu.edu/~engelen/soaplicense.html
23
 
Software distributed under the License is distributed on an "AS IS" basis,
24
 
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
25
 
for the specific language governing rights and limitations under the License.
26
 
 
27
 
The Initial Developer of the Original Code is Robert A. van Engelen.
28
 
Copyright (C) 2000-2007, Robert van Engelen, Genivia Inc., All Rights Reserved.
29
 
--------------------------------------------------------------------------------
30
 
GPL license.
31
 
 
32
 
This program is free software; you can redistribute it and/or modify it under
33
 
the terms of the GNU General Public License as published by the Free Software
34
 
Foundation; either version 2 of the License, or (at your option) any later
35
 
version.
36
 
 
37
 
This program is distributed in the hope that it will be useful, but WITHOUT ANY
38
 
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
39
 
PARTICULAR PURPOSE. See the GNU General Public License for more details.
40
 
 
41
 
You should have received a copy of the GNU General Public License along with
42
 
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
43
 
Place, Suite 330, Boston, MA 02111-1307 USA
44
 
 
45
 
Author contact information:
46
 
engelen@genivia.com / engelen@acm.org
47
 
--------------------------------------------------------------------------------
48
 
A commercial use license is available from Genivia, Inc., contact@genivia.com
49
 
--------------------------------------------------------------------------------
50
 
*/
51
 
 
52
 
#ifdef WITH_SOAPDEFS_H
53
 
# include "soapdefs.h"          /* include user-defined stuff */
54
 
#endif
55
 
 
56
 
#ifndef _THREAD_SAFE
57
 
# define _THREAD_SAFE
58
 
#endif
59
 
 
60
 
#ifndef OPENSERVER
61
 
# ifndef _REENTRANT
62
 
#  define _REENTRANT
63
 
# endif
64
 
#endif
65
 
 
66
 
#ifndef SOAP_FMAC1      /* stdsoap2.h declaration macro */
67
 
# define SOAP_FMAC1
68
 
#endif
69
 
 
70
 
#ifndef SOAP_FMAC2      /* stdsoap2.h declaration macro */
71
 
# define SOAP_FMAC2
72
 
#endif
73
 
 
74
 
#ifndef SOAP_FMAC3      /* (de)serializer declaration macro */
75
 
# define SOAP_FMAC3
76
 
#endif
77
 
 
78
 
#ifndef SOAP_FMAC3S     /* string converter for (de)serializer declaration macro */
79
 
# define SOAP_FMAC3S SOAP_FMAC3
80
 
#endif
81
 
 
82
 
#ifndef SOAP_FMAC4      /* (de)serializer declaration macro */
83
 
# define SOAP_FMAC4
84
 
#endif
85
 
 
86
 
#ifndef SOAP_FMAC4S     /* string converter for (de)serializer declaration macro */
87
 
# define SOAP_FMAC4S SOAP_FMAC4
88
 
#endif
89
 
 
90
 
#ifndef SOAP_FMAC5      /* stub/skeleton declaration macro */
91
 
# define SOAP_FMAC5
92
 
#endif
93
 
 
94
 
#ifndef SOAP_FMAC6      /* stub/skeleton declaration macro */
95
 
# define SOAP_FMAC6
96
 
#endif
97
 
 
98
 
#ifndef SOAP_CMAC       /* class declaration macro */
99
 
# define SOAP_CMAC
100
 
#endif
101
 
 
102
 
#ifndef SOAP_NMAC       /* namespace table declaration macro */
103
 
# define SOAP_NMAC
104
 
#endif
105
 
 
106
 
#ifndef SOAP_SOURCE_STAMP
107
 
# define SOAP_SOURCE_STAMP(str)
108
 
#endif
109
 
 
110
 
/* gSOAP 2.7.4 and higher: fast look-aside buffering is stable */
111
 
#ifndef WITH_FAST
112
 
# define WITH_FAST
113
 
#endif
114
 
 
115
 
#ifdef WITH_LEANER
116
 
# ifndef WITH_LEAN
117
 
#  define WITH_LEAN
118
 
# endif
119
 
#endif
120
 
 
121
 
#ifdef WITH_LEAN
122
 
# ifdef WITH_COOKIES
123
 
#  error "Cannot build WITH_LEAN code WITH_COOKIES enabled"
124
 
# endif
125
 
#endif
126
 
 
127
 
#ifndef STDSOAP_H
128
 
#define STDSOAP_H
129
 
 
130
 
#if defined(__vxworks) || defined(__VXWORKS__)
131
 
# define VXWORKS
132
 
#endif
133
 
 
134
 
#ifdef _WIN32
135
 
# ifndef WIN32
136
 
#  define WIN32
137
 
# endif
138
 
#endif
139
 
 
140
 
#ifdef _WIN32_WCE
141
 
# ifndef UNDER_CE
142
 
#  define UNDER_CE _WIN32_WCE
143
 
# endif
144
 
#endif
145
 
 
146
 
#ifdef UNDER_CE
147
 
# ifndef WIN32
148
 
#  define WIN32
149
 
# endif
150
 
#endif
151
 
 
152
 
#ifdef __BORLANDC__
153
 
# ifdef __WIN32__
154
 
#  ifndef WIN32
155
 
#   define WIN32
156
 
#  endif
157
 
# endif
158
 
#endif
159
 
 
160
 
#ifdef __CYGWIN__
161
 
# ifndef CYGWIN
162
 
#  define CYGWIN
163
 
# endif
164
 
#endif
165
 
 
166
 
#ifdef __SYMBIAN32__ 
167
 
# define SYMBIAN
168
 
# undef WIN32
169
 
#endif
170
 
 
171
 
#if defined(__palmos__) || defined(PALM_GCC) || defined(__PALMOS_TRAPS__)
172
 
# ifndef PALM
173
 
#  define PALM
174
 
# endif
175
 
#endif
176
 
 
177
 
#if defined(__hpux)
178
 
# ifndef HP_UX
179
 
#  define HP_UX
180
 
# endif
181
 
#endif
182
 
 
183
 
#if defined(__digital__) && defined(__unix__)
184
 
# ifndef TRU64
185
 
#  define TRU64 
186
 
# endif
187
 
#endif
188
 
 
189
 
#ifdef __MVS__
190
 
# ifndef OS390
191
 
#  define OS390
192
 
# endif
193
 
#endif
194
 
 
195
 
#ifdef HAVE_CONFIG_H
196
 
# include "config.h"
197
 
# ifdef WITH_OPENSSL
198
 
#  ifndef HAVE_OPENSSL_SSL_H
199
 
#   undef WITH_OPENSSL
200
 
#  endif
201
 
# endif
202
 
#else
203
 
# if defined(UNDER_CE)
204
 
#  define WITH_NOEMPTYSTRUCT
205
 
#  define WITH_LEAN
206
 
#  define HAVE_SSCANF
207
 
# elif defined(WIN32)
208
 
#  define WITH_NOEMPTYSTRUCT
209
 
#  define HAVE_STRRCHR
210
 
#  define HAVE_STRTOD
211
 
#  define HAVE_SSCANF
212
 
#  define HAVE_STRTOL
213
 
#  define HAVE_STRTOUL
214
 
#  define HAVE_SYS_TIMEB_H
215
 
#  define HAVE_FTIME
216
 
#  define HAVE_WCTOMB
217
 
#  define HAVE_MBTOWC
218
 
#  define SOAP_LONG_FORMAT "%I64d"
219
 
#  define SOAP_ULONG_FORMAT "%I64u"
220
 
# elif defined(CYGWIN)
221
 
#  define HAVE_STRRCHR
222
 
#  define HAVE_STRTOD
223
 
#  define HAVE_SSCANF
224
 
#  define HAVE_STRTOL
225
 
#  define HAVE_STRTOUL
226
 
#  define HAVE_SYS_TIMEB_H
227
 
#  define HAVE_FTIME
228
 
#  define HAVE_RAND_R
229
 
#  define HAVE_GMTIME_R
230
 
#  define HAVE_LOCALTIME_R
231
 
#  define HAVE_WCTOMB
232
 
#  define HAVE_MBTOWC
233
 
# elif defined(__APPLE__)
234
 
#  define HAVE_STRRCHR
235
 
#  define HAVE_STRTOD
236
 
#  define HAVE_SSCANF
237
 
#  define HAVE_STRTOL
238
 
#  define HAVE_STRTOUL
239
 
#  define HAVE_RAND_R
240
 
#  define HAVE_GMTIME_R
241
 
#  define HAVE_LOCALTIME_R
242
 
#  define HAVE_TIMEGM
243
 
#  define HAVE_WCTOMB
244
 
#  define HAVE_MBTOWC
245
 
# elif defined(_AIX43)
246
 
#  define HAVE_STRRCHR
247
 
#  define HAVE_STRTOD
248
 
#  define HAVE_SSCANF
249
 
#  define HAVE_STRTOL
250
 
#  define HAVE_STRTOUL
251
 
#  define HAVE_SYS_TIMEB_H
252
 
#  define HAVE_FTIME
253
 
#  define HAVE_RAND_R
254
 
#  define HAVE_GMTIME_R
255
 
#  define HAVE_LOCALTIME_R
256
 
#  define HAVE_WCTOMB
257
 
#  define HAVE_MBTOWC
258
 
# elif defined(_AIX41)
259
 
#  define HAVE_STRRCHR
260
 
#  define HAVE_STRTOD
261
 
#  define HAVE_SSCANF
262
 
#  define HAVE_STRTOL
263
 
#  define HAVE_STRTOUL
264
 
#  define HAVE_SYS_TIMEB_H
265
 
#  define HAVE_WCTOMB
266
 
#  define HAVE_MBTOWC
267
 
# elif defined(HP_UX)
268
 
#  define HAVE_STRRCHR
269
 
#  define HAVE_STRTOD
270
 
#  define HAVE_SSCANF
271
 
#  define HAVE_STRTOL
272
 
#  define HAVE_STRTOUL
273
 
#  define HAVE_SYS_TIMEB_H
274
 
#  define HAVE_FTIME
275
 
#  define HAVE_RAND_R
276
 
#  define HAVE_GMTIME_R
277
 
#  define HAVE_LOCALTIME_R
278
 
#  define HAVE_WCTOMB
279
 
#  define HAVE_MBTOWC
280
 
# elif defined(FREEBSD) || defined(__FreeBSD__)
281
 
#  define HAVE_STRRCHR
282
 
#  define HAVE_STRTOD
283
 
#  define HAVE_SSCANF
284
 
#  define HAVE_STRTOL
285
 
#  define HAVE_STRTOUL
286
 
#  define HAVE_STRTOLL
287
 
#  define HAVE_STRTOULL
288
 
#  define HAVE_GETTIMEOFDAY
289
 
#  define HAVE_RAND_R
290
 
#  define HAVE_GMTIME_R
291
 
#  define HAVE_LOCALTIME_R
292
 
#  define HAVE_WCTOMB
293
 
#  define HAVE_MBTOWC
294
 
#  define SOAP_LONG_FORMAT "%qd"
295
 
#  define SOAP_ULONG_FORMAT "%qu"
296
 
# elif defined(__VMS)
297
 
#  define HAVE_STRRCHR
298
 
#  define HAVE_STRTOD
299
 
#  define HAVE_SSCANF
300
 
#  define HAVE_STRTOL
301
 
#  define HAVE_STRTOUL
302
 
#  define HAVE_SYS_TIMEB_H
303
 
#  define HAVE_FTIME
304
 
#  define HAVE_RAND_R
305
 
#  define HAVE_GMTIME_R
306
 
#  define HAVE_LOCALTIME_R
307
 
#  define HAVE_WCTOMB
308
 
#  define HAVE_MBTOWC
309
 
# elif defined(__GLIBC__) || defined(__GNU__)
310
 
#  define HAVE_STRRCHR
311
 
#  define HAVE_STRTOD
312
 
#  define HAVE_SSCANF
313
 
#  define HAVE_STRTOL
314
 
#  define HAVE_STRTOUL
315
 
#  define HAVE_STRTOLL
316
 
#  define HAVE_STRTOULL
317
 
#  define HAVE_SYS_TIMEB_H
318
 
#  define HAVE_FTIME
319
 
#  define HAVE_RAND_R
320
 
#  define HAVE_GMTIME_R
321
 
#  define HAVE_LOCALTIME_R
322
 
#  define HAVE_TIMEGM
323
 
#  define HAVE_WCTOMB
324
 
#  define HAVE_MBTOWC
325
 
#  define HAVE_ISNAN
326
 
# elif defined(TRU64)
327
 
#  define HAVE_STRRCHR
328
 
#  define HAVE_STRTOD
329
 
#  define HAVE_SSCANF
330
 
#  define HAVE_STRTOL
331
 
#  define HAVE_STRTOUL
332
 
#  define HAVE_GETTIMEOFDAY
333
 
#  define HAVE_SYS_TIMEB_H
334
 
#  define HAVE_RAND_R
335
 
#  define HAVE_GMTIME_R
336
 
#  define HAVE_LOCALTIME_R
337
 
#  define __USE_STD_IOSTREAM
338
 
#  define HAVE_WCTOMB
339
 
#  define HAVE_MBTOWC
340
 
#  define SOAP_LONG_FORMAT "%ld"
341
 
#  define SOAP_ULONG_FORMAT "%lu"
342
 
# elif defined(MAC_CARBON)
343
 
#  define WITH_NOIO
344
 
#  define HAVE_STRRCHR
345
 
#  define HAVE_STRTOD
346
 
#  define HAVE_SSCANF
347
 
#  define HAVE_STRTOL
348
 
#  define HAVE_STRTOUL
349
 
#  define HAVE_FTIME
350
 
#  define HAVE_RAND_R
351
 
#  define HAVE_GETHOSTBYNAME_R
352
 
#  define HAVE_GMTIME_R
353
 
#  define HAVE_LOCALTIME_R
354
 
#  define HAVE_WCTOMB
355
 
#  define HAVE_MBTOWC
356
 
# elif defined(PALM)
357
 
#  define WITH_LEAN
358
 
#  define HAVE_STRTOD   /* strtod() is defined in palmFunctions.h */
359
 
#  include <stdlib.h>   /* Needs to be included before unix headers */
360
 
#  include <sys_types.h>
361
 
#  define IGNORE_STDIO_STUBS
362
 
#  include <StdIOPalm.h>
363
 
#  define O_NONBLOCK FNONBIO
364
 
#  include <sys_socket.h>
365
 
#  include "palmFunctions.h"
366
 
# elif defined(SYMBIAN)
367
 
#  define WITH_LEAN
368
 
#  define WITH_NONAMESPACES
369
 
#  define HAVE_STRTOD   /* use STRTOD since sscanf doesn't seem to work */
370
 
#  include <e32def.h>
371
 
#  include <sys/ioctl.h>
372
 
# elif defined(VXWORKS)
373
 
#  define HAVE_STRRCHR
374
 
#  define HAVE_STRTOD
375
 
#  define HAVE_SSCANF
376
 
#  define HAVE_STRTOL
377
 
#  define HAVE_STRTOUL
378
 
#  define HAVE_PGMTIME_R
379
 
#  define HAVE_PLOCALTIME_R
380
 
#  define HAVE_MKTIME
381
 
# elif defined(OS390)
382
 
#  define HAVE_STRRCHR
383
 
#  define HAVE_STRTOD
384
 
#  define HAVE_SSCANF
385
 
#  define HAVE_STRTOL
386
 
#  define HAVE_STRTOUL
387
 
#  define HAVE_SYS_TIMEB_H
388
 
#  define HAVE_FTIME
389
 
#  define HAVE_RAND_R
390
 
#  define HAVE_GMTIME_R
391
 
#  define HAVE_LOCALTIME_R
392
 
#  define HAVE_WCTOMB
393
 
#  define HAVE_MBTOWC
394
 
# elif defined(AS400)
395
 
#  define HAVE_STRRCHR
396
 
#  define HAVE_STRTOD
397
 
#  define HAVE_SSCANF
398
 
#  define HAVE_STRTOL
399
 
#  define HAVE_STRTOUL
400
 
#  define HAVE_SYS_TIMEB_H
401
 
#  define HAVE_FTIME
402
 
#  define HAVE_RAND_R
403
 
#  define HAVE_GMTIME_R
404
 
#  define HAVE_LOCALTIME_R
405
 
#  define HAVE_WCTOMB
406
 
#  define HAVE_MBTOWC
407
 
# elif defined(__QNX__) || defined(QNX)
408
 
/* QNX does not have a working version of strtof */
409
 
#  undef HAVE_STRTOF
410
 
#  define HAVE_STRRCHR
411
 
#  define HAVE_STRTOD
412
 
#  define HAVE_SSCANF
413
 
#  define HAVE_STRTOL
414
 
#  define HAVE_STRTOUL
415
 
#  define HAVE_SYS_TIMEB_H
416
 
#  define HAVE_FTIME
417
 
#  define HAVE_RAND_R
418
 
#  define HAVE_GETHOSTBYNAME_R
419
 
#  define HAVE_GMTIME_R
420
 
#  define HAVE_LOCALTIME_R
421
 
#  define HAVE_WCTOMB
422
 
#  define HAVE_MBTOWC
423
 
#  define LONG64 long
424
 
#  define ULONG64 unsigned LONG64
425
 
#  define SOAP_LONG_FORMAT "%ld"
426
 
#  define SOAP_ULONG_FORMAT "%lu"
427
 
# else
428
 
/* Default asumptions on supported functions */
429
 
#  define HAVE_STRRCHR
430
 
#  define HAVE_STRTOD
431
 
#  define HAVE_SSCANF
432
 
#  define HAVE_STRTOL
433
 
#  define HAVE_STRTOUL
434
 
#  define HAVE_SYS_TIMEB_H
435
 
#  define HAVE_FTIME
436
 
#  define HAVE_RAND_R
437
 
#  define HAVE_GETHOSTBYNAME_R
438
 
#  define HAVE_GMTIME_R
439
 
#  define HAVE_LOCALTIME_R
440
 
#  define HAVE_WCTOMB
441
 
#  define HAVE_MBTOWC
442
 
# endif
443
 
#endif
444
 
 
445
 
#ifndef WITH_NOSTDLIB
446
 
# include <stdlib.h>
447
 
# ifndef PALM
448
 
#  include <stdio.h>
449
 
#  include <string.h>
450
 
# endif
451
 
# include <ctype.h>
452
 
# include <limits.h>
453
 
#endif
454
 
 
455
 
#if defined(__cplusplus) && !defined(WITH_LEAN)
456
 
# include <string>
457
 
# include <iostream>
458
 
#endif
459
 
 
460
 
#ifdef WITH_NOHTTP
461
 
# ifndef WITH_NOIO
462
 
#  define WITH_NOIO
463
 
#  undef WITH_COOKIES
464
 
# endif
465
 
#endif
466
 
 
467
 
/* Suggestion when SOAP_FD_EXCEEDED error occurs:
468
 
   Some systems allow increasing FD_SETSIZE before including sys/types.h:
469
 
#define FD_SETSIZE (2048)
470
 
*/
471
 
 
472
 
#ifndef UNDER_CE
473
 
# ifndef PALM
474
 
#  ifndef WITH_NOIO
475
 
#   include <errno.h>
476
 
#   include <sys/types.h>
477
 
#  endif
478
 
#  ifndef WITH_LEAN
479
 
#   ifdef HAVE_SYS_TIMEB_H
480
 
#    include <sys/timeb.h>              /* for ftime() */
481
 
#   endif
482
 
#   include <time.h>
483
 
#  endif
484
 
# endif
485
 
#endif
486
 
 
487
 
#ifdef OPENSERVER
488
 
# include <sys/socket.h>
489
 
# include <sys/stream.h>
490
 
# include <sys/protosw.h>
491
 
  extern int h_errno;
492
 
#endif
493
 
 
494
 
#ifndef WITH_NOIO
495
 
# ifndef WIN32
496
 
#  ifndef PALM
497
 
#   include <sys/socket.h>
498
 
#   ifdef VXWORKS
499
 
#    include <sockLib.h>
500
 
#    include <selectLib.h>
501
 
#   endif
502
 
#   ifndef VXWORKS
503
 
#    ifndef SYMBIAN
504
 
#     include <strings.h>
505
 
#    endif
506
 
#   endif
507
 
#   ifdef SUN_OS
508
 
#    include <sys/stream.h>             /* SUN */
509
 
#    include <sys/socketvar.h>          /* SUN < 2.8 (?) */
510
 
#   endif
511
 
#   ifdef VXWORKS
512
 
#    ifdef _WRS_KERNEL
513
 
#     include <sys/times.h>
514
 
#    endif
515
 
#   else
516
 
#    include <sys/time.h>
517
 
#   endif
518
 
#   include <netinet/in.h>
519
 
#   ifdef OS390
520
 
#    include <netinet/tcp_var.h>
521
 
#   else
522
 
#    include <netinet/tcp.h>          /* TCP_NODELAY */
523
 
#   endif
524
 
#   include <arpa/inet.h>
525
 
#  endif
526
 
# endif
527
 
#endif
528
 
 
529
 
#ifdef WIN32
530
 
# ifndef UNDER_CE
531
 
#  include <io.h>
532
 
#  include <fcntl.h>
533
 
# endif
534
 
# ifdef WITH_IPV6
535
 
#  include <winsock2.h> /* Visual Studio 2005 users: you must install the Platform SDK (R2) */
536
 
#  include <ws2tcpip.h>
537
 
#  include <wspiapi.h>
538
 
#  define SOAP_GAI_STRERROR gai_strerrorA
539
 
# else
540
 
#  include <winsock.h> /* Visual Studio 2005 users: you must install the Platform SDK (R2) */
541
 
/* # include <winsock2.h> */ /* Alternative: use winsock2 (not available with eVC) */
542
 
# endif
543
 
#else
544
 
# ifdef VXWORKS
545
 
#  include <hostLib.h>
546
 
#  include <ioctl.h>
547
 
#  include <ioLib.h>
548
 
# endif
549
 
# ifndef WITH_NOIO
550
 
#  ifndef PALM
551
 
#   include <netdb.h>
552
 
#   include <netinet/in.h>
553
 
#   include <unistd.h>
554
 
#   include <fcntl.h>
555
 
#   ifdef _AIX41
556
 
#    include <sys/select.h>
557
 
#   endif
558
 
#  endif
559
 
# endif
560
 
#endif
561
 
 
562
 
#ifdef WITH_FASTCGI
563
 
# include <fcgi_stdio.h>
564
 
#endif
565
 
 
566
 
#ifdef WITH_OPENSSL
567
 
# define OPENSSL_NO_KRB5
568
 
# include <openssl/bio.h>
569
 
# include <openssl/err.h>
570
 
# include <openssl/rand.h>
571
 
# include <openssl/ssl.h>
572
 
# include <openssl/x509v3.h>
573
 
# ifndef ALLOW_OLD_VERSIONS
574
 
#  if (OPENSSL_VERSION_NUMBER < 0x00905100L)
575
 
#   error "Must use OpenSSL 0.9.6 or later"
576
 
#  endif
577
 
# endif
578
 
#endif
579
 
 
580
 
#ifdef WITH_GZIP
581
 
# ifndef WITH_ZLIB
582
 
#  define WITH_ZLIB
583
 
# endif
584
 
#endif
585
 
 
586
 
#ifdef WITH_CASEINSENSITIVETAGS
587
 
# define SOAP_STRCMP soap_tag_cmp       /* case insensitve XML element/attribute names */
588
 
#else
589
 
# define SOAP_STRCMP strcmp             /* case sensitive XML element/attribute names */
590
 
#endif
591
 
 
592
 
#ifdef WITH_ZLIB
593
 
# include <zlib.h>
594
 
#endif
595
 
 
596
 
#ifndef WITH_NOSTDLIB
597
 
# ifndef PALM
598
 
#  include <math.h>     /* for isnan() */
599
 
# endif
600
 
#endif
601
 
 
602
 
/* #define DEBUG */ /* Uncomment to debug sending (in file SENT.log) receiving (in file RECV.log) and messages (in file TEST.log) */
603
 
 
604
 
#ifdef __cplusplus
605
 
extern "C" {
606
 
#endif
607
 
 
608
 
/* Portability: define SOAP_SOCKLEN_T */
609
 
#if defined(_AIX)
610
 
# if defined(_AIX43)
611
 
#  define SOAP_SOCKLEN_T socklen_t
612
 
# else
613
 
#  define SOAP_SOCKLEN_T int
614
 
# endif
615
 
#elif defined(SOCKLEN_T)
616
 
# define SOAP_SOCKLEN_T SOCKLEN_T
617
 
#elif defined(__socklen_t_defined) || defined(_SOCKLEN_T) || defined(CYGWIN) || defined(FREEBSD) || defined(__FreeBSD__) || defined(__QNX__) || defined(QNX)
618
 
# define SOAP_SOCKLEN_T socklen_t
619
 
#elif defined(IRIX) || defined(WIN32) || defined(__APPLE__) || defined(HP_UX) || defined(SUN_OS) || defined(OPENSERVER) || defined(TRU64) || defined(VXWORKS)
620
 
# define SOAP_SOCKLEN_T int
621
 
#else
622
 
# define SOAP_SOCKLEN_T size_t
623
 
#endif
624
 
 
625
 
#ifndef SOAP_SOCKET
626
 
# ifdef WIN32
627
 
#  define SOAP_SOCKET SOCKET
628
 
#  define soap_closesocket(n) closesocket(n)
629
 
# else
630
 
#  define SOAP_SOCKET int
631
 
#  define soap_closesocket(n) close(n)
632
 
# endif
633
 
#endif
634
 
 
635
 
#define SOAP_INVALID_SOCKET (-1)
636
 
#define soap_valid_socket(n) ((n) != SOAP_INVALID_SOCKET)
637
 
 
638
 
#ifndef SOAP_GAI_STRERROR
639
 
# define SOAP_GAI_STRERROR gai_strerror
640
 
#endif
641
 
 
642
 
#ifndef FD_SETSIZE
643
 
# define FD_SETSIZE (1024)
644
 
#endif
645
 
 
646
 
#if defined(SYMBIAN)
647
 
# define LONG64 long
648
 
# define ULONG64 unsigned LONG64
649
 
#elif !defined(WIN32) || defined(CYGWIN) || defined(__GLIBC__) || defined(__GNU__)
650
 
# ifndef LONG64
651
 
#  if defined(__GLIBC__)
652
 
#   include <bits/wordsize.h>
653
 
#   if (__WORDSIZE == 64)
654
 
#    define LONG64 int64_t
655
 
#    define ULONG64 uint64_t
656
 
#    ifndef SOAP_LONG_FORMAT
657
 
#     define SOAP_LONG_FORMAT "%ld"
658
 
#    endif
659
 
#    ifndef SOAP_ULONG_FORMAT
660
 
#     define SOAP_ULONG_FORMAT "%lu"
661
 
#    endif
662
 
#   else
663
 
#    define LONG64 long long
664
 
#    define ULONG64 unsigned LONG64
665
 
#   endif
666
 
#  else
667
 
#   define LONG64 long long
668
 
#   define ULONG64 unsigned LONG64
669
 
#  endif
670
 
# endif
671
 
#elif defined(UNDER_CE)
672
 
# define LONG64 __int64
673
 
# define ULONG64 unsigned LONG64
674
 
#elif defined(__BORLANDC__)
675
 
# define LONG64 __int64
676
 
# define ULONG64 unsigned LONG64
677
 
#endif
678
 
 
679
 
#ifndef SOAP_LONG_FORMAT
680
 
# define SOAP_LONG_FORMAT "%lld"        /* printf format for 64 bit ints */
681
 
#endif
682
 
 
683
 
#ifndef SOAP_ULONG_FORMAT
684
 
# define SOAP_ULONG_FORMAT "%llu"       /* printf format for unsigned 64 bit ints */
685
 
#endif
686
 
 
687
 
#if defined(WIN32) && !defined(CYGWIN)
688
 
# define soap_int32 __int32
689
 
#elif defined(SYMBIAN)
690
 
# define soap_int32 long
691
 
#elif defined(PALM)
692
 
# define soap_int32 Int32
693
 
#elif defined(_AIX)
694
 
# if defined(_AIX43)
695
 
#  define soap_int32 int32_t
696
 
# else
697
 
#  define soap_int32 signed int
698
 
# endif
699
 
#else
700
 
# define soap_int32 int32_t
701
 
#endif
702
 
 
703
 
#ifdef WIN32
704
 
# define SOAP_ERANGE ERANGE
705
 
# define SOAP_EINTR WSAEINTR
706
 
# define SOAP_EAGAIN WSAEWOULDBLOCK
707
 
# define SOAP_EWOULDBLOCK WSAEWOULDBLOCK
708
 
# define SOAP_EINPROGRESS WSAEINPROGRESS
709
 
# define SOAP_EADDRINUSE WSAEADDRINUSE
710
 
#else
711
 
# define SOAP_ERANGE ERANGE
712
 
# define SOAP_EINTR EINTR
713
 
# define SOAP_EAGAIN EAGAIN
714
 
# define SOAP_EADDRINUSE EADDRINUSE
715
 
# ifdef SYMBIAN
716
 
#  define SOAP_EWOULDBLOCK 9898
717
 
#  define SOAP_EINPROGRESS 9899
718
 
# else
719
 
#  define SOAP_EWOULDBLOCK EWOULDBLOCK
720
 
#  define SOAP_EINPROGRESS EINPROGRESS
721
 
# endif
722
 
#endif
723
 
 
724
 
#ifdef WIN32
725
 
# ifdef UNDER_CE
726
 
#  define soap_errno GetLastError()
727
 
#  define soap_socket_errno(s) GetLastError()
728
 
#  define soap_reset_errno SetLastError(0)
729
 
# else
730
 
#  define soap_errno GetLastError()
731
 
#  define soap_socket_errno(s) WSAGetLastError()
732
 
#  define soap_reset_errno SetLastError(0)
733
 
# endif
734
 
#else
735
 
# ifndef WITH_NOIO
736
 
#  define soap_errno errno
737
 
#  define soap_socket_errno(s) errno
738
 
#  define soap_reset_errno (errno = 0)
739
 
# else
740
 
#  define soap_errno 0
741
 
#  define soap_socket_errno(s) 0
742
 
#  define soap_reset_errno
743
 
# endif
744
 
#endif
745
 
 
746
 
#ifndef SOAP_BUFLEN
747
 
# ifdef WITH_UDP
748
 
#  define SOAP_BUFLEN (65536) /* max UDP packet size */
749
 
# else
750
 
#  ifndef WITH_LEAN
751
 
#   define SOAP_BUFLEN (65536) /* buffer length for socket packets, also used by gethostbyname_r so don't make this too small */
752
 
#  else
753
 
#   define SOAP_BUFLEN  (2048)
754
 
#  endif
755
 
# endif
756
 
#endif
757
 
#ifndef SOAP_LABLEN
758
 
# define SOAP_LABLEN     (256) /* initial look-aside buffer length */
759
 
#endif
760
 
#ifndef SOAP_PTRBLK
761
 
# define SOAP_PTRBLK     (32) /* block allocation for pointer hash table chains */
762
 
#endif
763
 
#ifndef SOAP_PTRHASH
764
 
# ifndef WITH_LEAN
765
 
#  define SOAP_PTRHASH (1024) /* size of pointer analysis hash table (must be power of 2) */
766
 
# else
767
 
#  define SOAP_PTRHASH   (32)
768
 
# endif
769
 
#endif
770
 
#ifndef SOAP_IDHASH
771
 
# ifndef WITH_LEAN
772
 
#  define SOAP_IDHASH  (1999) /* prime size of hash table for parsed id/ref */
773
 
# else
774
 
#  define SOAP_IDHASH    (19) /* 19, 199 */
775
 
# endif
776
 
#endif
777
 
#ifndef SOAP_BLKLEN
778
 
# ifndef WITH_LEAN
779
 
#  define SOAP_BLKLEN   (256) /* size of blocks to collect long strings and XML attributes */
780
 
# else
781
 
#  define SOAP_BLKLEN    (32)
782
 
# endif
783
 
#endif
784
 
#ifndef SOAP_TAGLEN
785
 
# ifndef WITH_LEAN
786
 
#  define SOAP_TAGLEN  (1024) /* maximum length of XML element tag/attribute name or host/path name + 1 */
787
 
# else
788
 
#  define SOAP_TAGLEN    (64)
789
 
# endif
790
 
#endif
791
 
#ifndef SOAP_HDRLEN
792
 
# ifndef WITH_LEAN
793
 
#  define SOAP_HDRLEN  (8192) /* maximum length of HTTP header line (must be >4096 to read cookies) */
794
 
# else
795
 
#  define SOAP_HDRLEN  (1024)
796
 
# endif
797
 
#endif
798
 
#ifndef SOAP_MAXDIMS
799
 
# ifndef WITH_LEAN
800
 
#  define SOAP_MAXDIMS   (16) /* maximum array dimensions (array nestings) must be less than 64 to protect soap->tmpbuf */
801
 
# else
802
 
#  define SOAP_MAXDIMS    (4)
803
 
# endif
804
 
#endif
805
 
 
806
 
#ifndef SOAP_MAXLOGS
807
 
# define SOAP_MAXLOGS     (3) /* max number of debug logs per struct soap environment */
808
 
# define SOAP_INDEX_RECV  (0)
809
 
# define SOAP_INDEX_SENT  (1)
810
 
# define SOAP_INDEX_TEST  (2)
811
 
#endif
812
 
 
813
 
#ifndef SOAP_MAXKEEPALIVE
814
 
# define SOAP_MAXKEEPALIVE (100) /* max iterations to keep server connection alive */
815
 
#endif
816
 
 
817
 
#ifndef SOAP_MAXARRAYSIZE
818
 
# define SOAP_MAXARRAYSIZE (100000) /* "trusted" max size of inbound SOAP array for compound array allocation */
819
 
#endif
820
 
 
821
 
#ifdef VXWORKS
822
 
# ifdef __INCmathh 
823
 
#  include <private/mathP.h>
824
 
#  ifndef HAVE_ISNAN
825
 
#   define HAVE_ISNAN
826
 
#  endif
827
 
#  define soap_isnan(num) isNan(num)
828
 
# endif
829
 
#endif
830
 
 
831
 
#ifdef WIN32 
832
 
# include <float.h>
833
 
# ifndef HAVE_ISNAN
834
 
#  define HAVE_ISNAN
835
 
# endif
836
 
# define soap_isnan(num) _isnan(num)
837
 
#endif
838
 
 
839
 
#ifdef SUN_OS
840
 
# define HAVE_ISNAN
841
 
#endif
842
 
 
843
 
#ifdef __APPLE__
844
 
# ifdef __cplusplus
845
 
#  ifndef isnan
846
 
extern "C" int isnan(double);
847
 
#  endif
848
 
# endif
849
 
# define HAVE_ISNAN
850
 
#endif
851
 
 
852
 
#if !defined(HAVE_ISNAN) && (defined(_MATH_H) || defined(_MATH_INCLUDED))
853
 
# define HAVE_ISNAN
854
 
#endif
855
 
 
856
 
extern const struct soap_double_nan { unsigned int n1, n2; } soap_double_nan;
857
 
 
858
 
#ifdef VXWORKS
859
 
# ifndef FLT_MAX
860
 
#  define FLT_MAX _ARCH_FLT_MAX
861
 
# endif
862
 
# ifndef DBL_MAX
863
 
#  define DBL_MAX _ARCH_DBL_MAX
864
 
# endif
865
 
#endif
866
 
 
867
 
#ifndef FLT_NAN
868
 
#  define FLT_NAN (*(float*)(void*)&soap_double_nan)
869
 
#endif
870
 
 
871
 
#ifndef FLT_PINFTY
872
 
# if defined(FLT_MAX)
873
 
#  define FLT_PINFTY FLT_MAX
874
 
# elif defined(HUGE_VALF)
875
 
#  define FLT_PINFTY (float)HUGE_VALF
876
 
# elif defined(HUGE_VAL)
877
 
#  define FLT_PINFTY (float)HUGE_VAL
878
 
# elif defined(FLOAT_MAX)
879
 
#  define FLT_PINFTY FLOAT_MAX
880
 
# else
881
 
#  define FLT_PINFTY (3.40282347e+38F)
882
 
# endif
883
 
#endif
884
 
 
885
 
#ifndef FLT_NINFTY
886
 
# define FLT_NINFTY (-FLT_PINFTY)
887
 
#endif
888
 
 
889
 
#ifndef DBL_NAN
890
 
#  define DBL_NAN (*(double*)(void*)&soap_double_nan)
891
 
#endif
892
 
 
893
 
#ifndef DBL_PINFTY
894
 
# if defined(DBL_MAX)
895
 
#  define DBL_PINFTY DBL_MAX
896
 
# elif defined(HUGE_VALF)
897
 
#  define DBL_PINFTY (double)HUGE_VALF
898
 
# elif defined(HUGE_VAL)
899
 
#  define DBL_PINFTY (double)HUGE_VAL
900
 
# elif defined(DOUBLE_MAX)
901
 
#  define DBL_PINFTY DOUBLE_MAX
902
 
# else
903
 
#  define DBL_PINFTY (1.7976931348623157e+308)
904
 
# endif
905
 
#endif
906
 
 
907
 
#ifndef DBL_NINFTY
908
 
# define DBL_NINFTY (-DBL_PINFTY)
909
 
#endif
910
 
 
911
 
#ifndef soap_isnan
912
 
# ifdef HAVE_ISNAN
913
 
#  define soap_isnan(n) isnan(n)
914
 
# else
915
 
#  define soap_isnan(n) (0)
916
 
# endif
917
 
#endif
918
 
 
919
 
#define soap_ispinfd(n) ((n) >= DBL_PINFTY)
920
 
#define soap_ispinff(n) ((n) >= FLT_PINFTY)
921
 
#define soap_isninfd(n) ((n) <= DBL_NINFTY)
922
 
#define soap_isninff(n) ((n) <= FLT_NINFTY)
923
 
 
924
 
/* gSOAP error codes */
925
 
 
926
 
#define SOAP_EOF                        EOF
927
 
#define SOAP_ERR                        EOF
928
 
#define SOAP_OK                         0
929
 
#define SOAP_CLI_FAULT                  1
930
 
#define SOAP_SVR_FAULT                  2
931
 
#define SOAP_TAG_MISMATCH               3
932
 
#define SOAP_TYPE                       4
933
 
#define SOAP_SYNTAX_ERROR               5
934
 
#define SOAP_NO_TAG                     6
935
 
#define SOAP_IOB                        7
936
 
#define SOAP_MUSTUNDERSTAND             8
937
 
#define SOAP_NAMESPACE                  9
938
 
#define SOAP_USER_ERROR                 10
939
 
#define SOAP_FATAL_ERROR                11
940
 
#define SOAP_FAULT                      12
941
 
#define SOAP_NO_METHOD                  13
942
 
#define SOAP_NO_DATA                    14
943
 
#define SOAP_GET_METHOD                 15
944
 
#define SOAP_EOM                        16
945
 
#define SOAP_MOE                        17
946
 
#define SOAP_HDR                        18
947
 
#define SOAP_NULL                       19
948
 
#define SOAP_DUPLICATE_ID               20
949
 
#define SOAP_MISSING_ID                 21
950
 
#define SOAP_HREF                       22
951
 
#define SOAP_UDP_ERROR                  23
952
 
#define SOAP_TCP_ERROR                  24
953
 
#define SOAP_HTTP_ERROR                 25
954
 
#define SOAP_SSL_ERROR                  26
955
 
#define SOAP_ZLIB_ERROR                 27
956
 
#define SOAP_DIME_ERROR                 28
957
 
#define SOAP_DIME_HREF                  29
958
 
#define SOAP_DIME_MISMATCH              30
959
 
#define SOAP_DIME_END                   31
960
 
#define SOAP_MIME_ERROR                 32
961
 
#define SOAP_MIME_HREF                  33
962
 
#define SOAP_MIME_END                   34
963
 
#define SOAP_VERSIONMISMATCH            35
964
 
#define SOAP_PLUGIN_ERROR               36
965
 
#define SOAP_DATAENCODINGUNKNOWN        37
966
 
#define SOAP_REQUIRED                   38
967
 
#define SOAP_PROHIBITED                 39
968
 
#define SOAP_OCCURS                     40
969
 
#define SOAP_LENGTH                     41
970
 
#define SOAP_FD_EXCEEDED                42
971
 
 
972
 
#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)
973
 
#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)
974
 
#define soap_tcp_error_check(e) ((e) == SOAP_EOF || (e) == SOAP_TCP_ERROR)
975
 
#define soap_ssl_error_check(e) ((e) == SOAP_SSL_ERROR)
976
 
#define soap_zlib_error_check(e) ((e) == SOAP_ZLIB_ERROR)
977
 
#define soap_http_error_check(e) ((e) == SOAP_HTTP_ERROR || (e) == SOAP_GET_METHOD || (e) == SOAP_NO_DATA || ((e) >= 100 && (e) < 600))
978
 
 
979
 
/* gSOAP HTTP response status codes 100 to 599 are reserved */
980
 
 
981
 
/* Codes 600 to 999 are user definable */
982
 
 
983
 
/* Exceptional gSOAP HTTP response status codes >= 1000 */
984
 
 
985
 
#define SOAP_STOP               1000    /* No HTTP response */
986
 
#define SOAP_FORM               1001    /* Form request/response */
987
 
#define SOAP_HTML               1002    /* Custom HTML response */
988
 
#define SOAP_FILE               1003    /* Custom file-based response */
989
 
 
990
 
/* gSOAP HTTP method codes */
991
 
 
992
 
#define SOAP_POST               2000
993
 
#define SOAP_GET                2001
994
 
 
995
 
/* gSOAP DIME */
996
 
 
997
 
#define SOAP_DIME_CF            0x01
998
 
#define SOAP_DIME_ME            0x02
999
 
#define SOAP_DIME_MB            0x04
1000
 
#define SOAP_DIME_VERSION       0x08 /* DIME version 1 */
1001
 
#define SOAP_DIME_MEDIA         0x10
1002
 
#define SOAP_DIME_ABSURI        0x20
1003
 
 
1004
 
/* gSOAP ZLIB */
1005
 
 
1006
 
#define SOAP_ZLIB_NONE          0x00
1007
 
#define SOAP_ZLIB_DEFLATE       0x01
1008
 
#define SOAP_ZLIB_INFLATE       0x02
1009
 
#define SOAP_ZLIB_GZIP          0x02
1010
 
 
1011
 
/* gSOAP transport, connection, and content encoding modes */
1012
 
 
1013
 
typedef soap_int32 soap_mode;
1014
 
 
1015
 
#define SOAP_IO                 0x00000003      /* IO mask */
1016
 
#define SOAP_IO_FLUSH           0x00000000      /* flush output immediately, no buffering */
1017
 
#define SOAP_IO_BUFFER          0x00000001      /* buffer output in packets of size SOAP_BUFLEN */
1018
 
#define SOAP_IO_STORE           0x00000002      /* store entire output to determine length for transport */
1019
 
#define SOAP_IO_CHUNK           0x00000003      /* use HTTP chunked transfer AND buffer packets */
1020
 
 
1021
 
#define SOAP_IO_UDP             0x00000004      /* TCP or UDP */
1022
 
 
1023
 
#define SOAP_IO_LENGTH          0x00000008      /* calc message length (internal) */
1024
 
#define SOAP_IO_KEEPALIVE       0x00000010      /* keep connection alive */
1025
 
 
1026
 
#define SOAP_ENC_LATIN          0x00000020      /* accept iso-8859-1 encoding */
1027
 
#define SOAP_ENC_XML            0x00000040      /* plain XML encoding, no HTTP header */
1028
 
#define SOAP_ENC_DIME           0x00000080
1029
 
#define SOAP_ENC_MIME           0x00000100
1030
 
#define SOAP_ENC_MTOM           0x00000200
1031
 
#define SOAP_ENC_ZLIB           0x00000400
1032
 
#define SOAP_ENC_SSL            0x00000800
1033
 
 
1034
 
#define SOAP_ENC                0x00000FFF      /* IO and ENC mask */
1035
 
 
1036
 
#define SOAP_XML_STRICT         0x00001000      /* apply strict validation */
1037
 
#define SOAP_XML_INDENT         0x00002000      /* emit indented XML */
1038
 
#define SOAP_XML_CANONICAL      0x00004000      /* EXC C14N canonical XML */
1039
 
#define SOAP_XML_TREE           0x00008000      /* emit XML tree (no id/ref) */
1040
 
#define SOAP_XML_GRAPH          0x00010000
1041
 
#define SOAP_XML_NIL            0x00020000
1042
 
#define SOAP_XML_DOM            0x00040000
1043
 
#define SOAP_XML_SEC            0x00080000      /* reserved for WS security */
1044
 
 
1045
 
#define SOAP_C_NOIOB            0x00100000      /* don't fault on array index out of bounds (just ignore) */
1046
 
#define SOAP_C_UTFSTRING        0x00200000      /* (de)serialize strings with UTF8 content */
1047
 
#define SOAP_C_MBSTRING         0x00400000      /* (de)serialize strings with multi-byte content */
1048
 
#define SOAP_C_NILSTRING        0x00800000      /* serialize empty strings as nil (omitted) */
1049
 
 
1050
 
#define SOAP_DOM_TREE           0x01000000
1051
 
#define SOAP_DOM_NODE           0x02000000
1052
 
#define SOAP_DOM_ASIS           0x04000000
1053
 
 
1054
 
#define SOAP_MIME_POSTCHECK     0x10000000      /* MIME flag (internal) */
1055
 
 
1056
 
#define SOAP_IO_DEFAULT         SOAP_IO_FLUSH
1057
 
 
1058
 
/* SSL client/server authentication settings */
1059
 
 
1060
 
#define SOAP_SSL_NO_AUTHENTICATION              0x00    /* for testing purposes */
1061
 
#define SOAP_SSL_REQUIRE_SERVER_AUTHENTICATION  0x01    /* client requires server to authenticate */
1062
 
#define SOAP_SSL_REQUIRE_CLIENT_AUTHENTICATION  0x02    /* server requires client to authenticate */
1063
 
#define SOAP_SSL_SKIP_HOST_CHECK                0x04    /* client does not check the common name of the host in certificate */
1064
 
#define SOAP_SSL_RSA                            0x08    /* use RSA */
1065
 
#define SOAP_SSLv3_TLSv1                        0x00    /* SSL v3 and TLS v1 support by default */
1066
 
#define SOAP_SSLv3                              0x10    /* SSL v3 only */
1067
 
#define SOAP_TLSv1                              0x20    /* TLS v1 only */
1068
 
 
1069
 
#define SOAP_SSL_DEFAULT                        (SOAP_SSL_REQUIRE_SERVER_AUTHENTICATION | SOAP_SSLv3_TLSv1)
1070
 
 
1071
 
/* state */
1072
 
 
1073
 
#define SOAP_INIT       1
1074
 
#define SOAP_COPY       2
1075
 
 
1076
 
#define soap_check_state(soap) (!(soap) || ((soap)->state != SOAP_INIT && (soap)->state != SOAP_COPY))
1077
 
 
1078
 
/* part */
1079
 
 
1080
 
#define SOAP_BEGIN              0
1081
 
#define SOAP_IN_ENVELOPE        2
1082
 
#define SOAP_IN_HEADER          3
1083
 
#define SOAP_END_HEADER         4
1084
 
#define SOAP_NO_BODY            5
1085
 
#define SOAP_IN_BODY            6
1086
 
#define SOAP_END_BODY           7
1087
 
#define SOAP_END_ENVELOPE       8
1088
 
#define SOAP_END                9
1089
 
#define SOAP_BEGIN_SECURITY     10
1090
 
#define SOAP_IN_SECURITY        11
1091
 
#define SOAP_END_SECURITY       12
1092
 
 
1093
 
/* DEBUG macros */
1094
 
 
1095
 
#ifndef WITH_LEAN
1096
 
# ifdef DEBUG
1097
 
#  ifndef SOAP_DEBUG
1098
 
#   define SOAP_DEBUG
1099
 
#  endif
1100
 
#  ifndef SOAP_MEM_DEBUG
1101
 
#   define SOAP_MEM_DEBUG
1102
 
#  endif
1103
 
# endif
1104
 
#endif
1105
 
 
1106
 
#ifdef SOAP_MEM_DEBUG
1107
 
# ifndef SOAP_MALLOC
1108
 
#  define SOAP_MALLOC(soap, size) soap_track_malloc(soap, __FILE__, __LINE__, size)
1109
 
# endif
1110
 
# ifndef SOAP_FREE
1111
 
#  define SOAP_FREE(soap, ptr) soap_track_free(soap, __FILE__, __LINE__, ptr)
1112
 
# endif
1113
 
#endif
1114
 
 
1115
 
#ifndef SOAP_MALLOC                     /* use libc malloc */
1116
 
# define SOAP_MALLOC(soap, size) malloc(size)
1117
 
#endif
1118
 
 
1119
 
#ifndef SOAP_FREE                       /* use libc free */
1120
 
# define SOAP_FREE(soap, ptr) free(ptr)
1121
 
#endif
1122
 
 
1123
 
#ifdef SOAP_DEBUG
1124
 
# ifndef SOAP_MESSAGE
1125
 
#  define SOAP_MESSAGE fprintf
1126
 
# endif
1127
 
# ifndef DBGLOG
1128
 
#  define DBGLOG(DBGFILE, CMD) \
1129
 
{ if (soap)\
1130
 
  { if (!soap->fdebug[SOAP_INDEX_##DBGFILE])\
1131
 
      soap_open_logfile((struct soap*)soap, SOAP_INDEX_##DBGFILE);\
1132
 
    if (soap->fdebug[SOAP_INDEX_##DBGFILE])\
1133
 
    { FILE *fdebug = soap->fdebug[SOAP_INDEX_##DBGFILE];\
1134
 
      CMD;\
1135
 
      fflush(fdebug);\
1136
 
    }\
1137
 
  }\
1138
 
}
1139
 
# endif
1140
 
# ifndef DBGMSG
1141
 
#  define DBGMSG(DBGFILE, MSG, LEN) \
1142
 
{ if (soap)\
1143
 
  { if (!soap->fdebug[SOAP_INDEX_##DBGFILE])\
1144
 
      soap_open_logfile((struct soap*)soap, SOAP_INDEX_##DBGFILE);\
1145
 
    if (soap->fdebug[SOAP_INDEX_##DBGFILE])\
1146
 
    { fwrite((MSG), 1, (LEN), soap->fdebug[SOAP_INDEX_##DBGFILE]);\
1147
 
      fflush(soap->fdebug[SOAP_INDEX_##DBGFILE]);\
1148
 
    }\
1149
 
  }\
1150
 
}
1151
 
# endif
1152
 
# ifndef DGBFUN
1153
 
#  define DBGFUN(FNAME) DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%s(%d): %s()\n", __FILE__, __LINE__, FNAME))
1154
 
#  define DBGFUN1(FNAME, FMT, ARG) DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%s(%d): %s("FMT")\n", __FILE__, __LINE__, FNAME, (ARG)))
1155
 
#  define DBGFUN2(FNAME, FMT1, ARG1, FMT2, ARG2) DBGLOG(TEST, SOAP_MESSAGE(fdebug, "%s(%d): %s("FMT1", "FMT2")\n", __FILE__, __LINE__, FNAME, (ARG1), (ARG2)))
1156
 
#  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)))
1157
 
# endif
1158
 
# ifndef DBGHEX
1159
 
#  define DBGHEX(DBGFILE, MSG, LEN) \
1160
 
{ if (soap)\
1161
 
  { if (!soap->fdebug[SOAP_INDEX_##DBGFILE])\
1162
 
      soap_open_logfile(soap, SOAP_INDEX_##DBGFILE);\
1163
 
    if (soap->fdebug[SOAP_INDEX_##DBGFILE])\
1164
 
    { int i; char *s;\
1165
 
      for (s = (char*)(MSG), i = (LEN); i; i--)\
1166
 
        fprintf(soap->fdebug[SOAP_INDEX_##DBGFILE], "%2.2X  ", (int)*s++&0xFF);\
1167
 
      fflush(soap->fdebug[SOAP_INDEX_##DBGFILE]);\
1168
 
    }\
1169
 
  }\
1170
 
}
1171
 
# endif
1172
 
#else
1173
 
# define DBGLOG(DBGFILE, CMD)
1174
 
# define DBGMSG(DBGFILE, MSG, LEN)
1175
 
# define DBGFUN(FNAME)
1176
 
# define DBGFUN1(FNAME, FMT, ARG)
1177
 
# define DBGFUN2(FNAME, FMT1, ARG1, FMT2, ARG2)
1178
 
# define DBGFUN3(FNAME, FMT1, ARG1, FMT2, ARG2, FMT3, ARG3)
1179
 
# define DBGHEX(DBGFILE, MSG, LEN)
1180
 
#endif
1181
 
 
1182
 
/* UCS-4 requires 32 bits (0-7FFFFFFF, the sign bit is used by gSOAP to distinguish XML entities) */
1183
 
typedef soap_int32 soap_wchar;
1184
 
 
1185
 
/* namespace table row */
1186
 
struct Namespace
1187
 
{ const char *id;
1188
 
  const char *ns;
1189
 
  const char *in;
1190
 
  char *out;
1191
 
};
1192
 
 
1193
 
/* namespace stack */
1194
 
struct soap_nlist
1195
 
{ struct soap_nlist *next;
1196
 
  unsigned int level; /* nesting depth level */
1197
 
  short index; /* corresponding entry in ns mapping table */
1198
 
  char *ns; /* only set when parsed ns URI is not in the ns mapping table */
1199
 
  char id[1]; /* the actual string value flows into the allocated region below this struct */
1200
 
};
1201
 
 
1202
 
/* block stack for nested block allocations */
1203
 
struct soap_blist
1204
 
{ struct soap_blist *next;
1205
 
  char *ptr;
1206
 
  size_t size;
1207
 
};
1208
 
 
1209
 
/* array layout */
1210
 
struct soap_array
1211
 
{ void *__ptr;
1212
 
  int __size;
1213
 
};
1214
 
 
1215
 
/* pointer serialization management */
1216
 
struct soap_plist
1217
 
{ struct soap_plist *next;
1218
 
  const void *ptr;
1219
 
  const struct soap_array *array;
1220
 
  int type;
1221
 
  int id;
1222
 
  char mark1;
1223
 
  char mark2;
1224
 
};
1225
 
 
1226
 
/* block allocation for pointer serialization management */
1227
 
struct soap_pblk
1228
 
{ struct soap_pblk *next;
1229
 
  struct soap_plist plist[SOAP_PTRBLK];
1230
 
};
1231
 
 
1232
 
#ifdef SOAP_MEM_DEBUG
1233
 
/* malloc/free tracking for debugging */
1234
 
struct soap_mlist
1235
 
{ struct soap_mlist *next;
1236
 
  const void *ptr;
1237
 
  const char *file;
1238
 
  int line;
1239
 
  short live;
1240
 
};
1241
 
#endif
1242
 
 
1243
 
/* class allocation list */
1244
 
struct soap_clist
1245
 
{ struct soap_clist *next;
1246
 
  void *ptr;
1247
 
  int type;
1248
 
  int size;
1249
 
  int (*fdelete)(struct soap_clist*);
1250
 
};
1251
 
 
1252
 
/* attributes */
1253
 
struct soap_attribute
1254
 
{ struct soap_attribute *next;
1255
 
  char *value;
1256
 
  size_t size;
1257
 
  char *ns;
1258
 
  short visible;
1259
 
  char name[1]; /* the actual name string flows into the allocated region below this struct */
1260
 
};
1261
 
 
1262
 
#ifndef WITH_LEAN
1263
 
struct soap_cookie
1264
 
{ struct soap_cookie *next;
1265
 
  char *name;
1266
 
  char *value;
1267
 
  char *domain;
1268
 
  char *path;
1269
 
  time_t expire;        /* client-side: local time to expire */
1270
 
  long maxage;          /* server-side: seconds to expire */
1271
 
  unsigned int version;
1272
 
  short secure;
1273
 
  short session;        /* server-side */
1274
 
  short env;            /* server-side: got cookie from client and should not be (re)send */
1275
 
  short modified;       /* server-side: client cookie was modified and should be send */
1276
 
};
1277
 
#endif
1278
 
 
1279
 
#ifdef __cplusplus
1280
 
SOAP_FMAC1 struct soap_multipart* SOAP_FMAC2 soap_next_multipart(struct soap_multipart*);
1281
 
 
1282
 
class soap_multipart_iterator
1283
 
{ public:
1284
 
  struct soap_multipart *content;
1285
 
  bool operator==(const soap_multipart_iterator& iter) const
1286
 
    { return content == iter.content; }
1287
 
  bool operator!=(const soap_multipart_iterator& iter) const
1288
 
    { return content != iter.content; }
1289
 
  struct soap_multipart &operator*() const
1290
 
    { return *content; }
1291
 
  soap_multipart_iterator &operator++()
1292
 
    { content = soap_next_multipart(content); return *this; }
1293
 
  soap_multipart_iterator() : content(NULL)
1294
 
    { }
1295
 
  soap_multipart_iterator(struct soap_multipart *p) : content(p)
1296
 
    { }
1297
 
};
1298
 
#endif
1299
 
 
1300
 
#ifndef WITH_LEANER
1301
 
struct soap_dime
1302
 
{ size_t count;
1303
 
  size_t size;
1304
 
  size_t chunksize;
1305
 
  size_t buflen;
1306
 
  char flags;
1307
 
  char *ptr;
1308
 
  const char *id;
1309
 
  const char *type;
1310
 
  const char *options;
1311
 
  struct soap_multipart *list;          /* list of DIME attachments received */
1312
 
  struct soap_multipart *first, *last;  /* temporary in/out queue */
1313
 
#ifdef __cplusplus
1314
 
  soap_multipart_iterator begin()
1315
 
    { soap_multipart_iterator iter(list); return iter; };
1316
 
  soap_multipart_iterator end()
1317
 
    { soap_multipart_iterator iter(NULL); return iter; };
1318
 
#endif
1319
 
};
1320
 
#endif
1321
 
 
1322
 
#ifndef WITH_LEANER
1323
 
struct soap_mime
1324
 
{ char *boundary;                       /* MIME boundary */
1325
 
  const char *start;                    /* MIME start ID */
1326
 
  struct soap_multipart *list;          /* list of MIME attachments received */
1327
 
  struct soap_multipart *first, *last;  /* temporary in/out queue */
1328
 
#ifdef __cplusplus
1329
 
  soap_multipart_iterator begin()
1330
 
    { soap_multipart_iterator iter(list); return iter; };
1331
 
  soap_multipart_iterator end()
1332
 
    { soap_multipart_iterator iter(NULL); return iter; };
1333
 
#endif
1334
 
};
1335
 
#endif
1336
 
 
1337
 
#ifndef WITH_LEANER
1338
 
/* RFC2045 MIME content transfer encodings */
1339
 
enum soap_mime_encoding
1340
 
{ SOAP_MIME_NONE,
1341
 
  SOAP_MIME_7BIT,
1342
 
  SOAP_MIME_8BIT,
1343
 
  SOAP_MIME_BINARY,
1344
 
  SOAP_MIME_QUOTED_PRINTABLE,
1345
 
  SOAP_MIME_BASE64,
1346
 
  SOAP_MIME_IETF_TOKEN,
1347
 
  SOAP_MIME_X_TOKEN
1348
 
};
1349
 
#endif
1350
 
 
1351
 
#ifndef WITH_LEANER
1352
 
/* DIME/MIME multipart list */
1353
 
struct soap_multipart
1354
 
{ struct soap_multipart *next;
1355
 
  char *ptr;                            /* points to raw data content */
1356
 
  size_t size;                          /* size of data content */
1357
 
  const char *id;                       /* DIME/MIME content ID or form data name */
1358
 
  const char *type;                     /* DIME/MIME type (MIME type format) */
1359
 
  const char *options;                  /* DIME options */
1360
 
  enum soap_mime_encoding encoding;     /* MIME Content-Transfer-Encoding */
1361
 
  const char *location;                 /* MIME Content-Location (optional) */
1362
 
  const char *description;              /* MIME Content-Description (optional) */
1363
 
#ifdef __cplusplus
1364
 
  typedef soap_multipart_iterator iterator;
1365
 
#endif
1366
 
};
1367
 
#endif
1368
 
 
1369
 
#ifndef WITH_LEANER
1370
 
/* attachment DIME and MTOM XOP forwarding */
1371
 
struct soap_xlist
1372
 
{ struct soap_xlist *next;
1373
 
  unsigned char **ptr;
1374
 
  int *size;
1375
 
  char *id;
1376
 
  char **type;
1377
 
  char **options;
1378
 
};
1379
 
#endif
1380
 
 
1381
 
/******************************************************************************/
1382
 
 
1383
 
#ifndef WITH_LEANER
1384
 
#ifdef __cplusplus
1385
 
class soap_dom_attribute_iterator
1386
 
{ public:
1387
 
  struct soap_dom_attribute *att;
1388
 
  const char *nstr;
1389
 
  const char *name;
1390
 
  bool operator==(const soap_dom_attribute_iterator&) const;
1391
 
  bool operator!=(const soap_dom_attribute_iterator&) const;
1392
 
  struct soap_dom_attribute &operator*() const;
1393
 
  soap_dom_attribute_iterator &operator++();
1394
 
  soap_dom_attribute_iterator();
1395
 
  soap_dom_attribute_iterator(struct soap_dom_attribute*);
1396
 
  ~soap_dom_attribute_iterator();
1397
 
};
1398
 
#endif
1399
 
#endif
1400
 
 
1401
 
#ifndef WITH_LEANER
1402
 
struct soap_dom_attribute
1403
 
{ struct soap_dom_attribute *next;
1404
 
  const char *nstr;
1405
 
  char *name;
1406
 
  char *data;
1407
 
  wchar_t *wide;
1408
 
  struct soap *soap;
1409
 
#ifdef __cplusplus
1410
 
  typedef soap_dom_attribute_iterator iterator;
1411
 
  struct soap_dom_attribute &set(const char *nstr, const char *name);   /* set namespace and name */
1412
 
  struct soap_dom_attribute &set(const char *data);             /* set data */
1413
 
  soap_dom_attribute_iterator begin();
1414
 
  soap_dom_attribute_iterator end();
1415
 
  soap_dom_attribute_iterator find(const char *nstr, const char *name);
1416
 
  void unlink();
1417
 
  soap_dom_attribute();
1418
 
  soap_dom_attribute(struct soap *soap);
1419
 
  soap_dom_attribute(struct soap *soap, const char *nstr, const char *name, const char *data);
1420
 
  ~soap_dom_attribute();
1421
 
#endif
1422
 
};
1423
 
#endif
1424
 
 
1425
 
#ifndef WITH_LEANER
1426
 
#ifdef __cplusplus
1427
 
class soap_dom_element_iterator
1428
 
{ public:
1429
 
  struct soap_dom_element *elt;
1430
 
  const char *nstr;
1431
 
  const char *name;
1432
 
  int type;
1433
 
  bool operator==(const soap_dom_element_iterator&) const;
1434
 
  bool operator!=(const soap_dom_element_iterator&) const;
1435
 
  struct soap_dom_element &operator*() const;
1436
 
  soap_dom_element_iterator &operator++();
1437
 
  soap_dom_element_iterator();
1438
 
  soap_dom_element_iterator(struct soap_dom_element*);
1439
 
  ~soap_dom_element_iterator();
1440
 
};
1441
 
#endif
1442
 
#endif
1443
 
 
1444
 
#ifndef WITH_LEANER
1445
 
struct soap_dom_element
1446
 
{ struct soap_dom_element *next;        /* next sibling */
1447
 
  struct soap_dom_element *prnt;        /* parent */
1448
 
  struct soap_dom_element *elts;        /* list of child elements */
1449
 
  struct soap_dom_attribute *atts;      /* list of attributes */
1450
 
  const char *nstr;                     /* namespace string */
1451
 
  char *name;                           /* element tag name */
1452
 
  char *data;                           /* element content data (with SOAP_C_UTFSTRING flag set) */
1453
 
  wchar_t *wide;                        /* element content data */
1454
 
  int type;                             /* optional: serialized C/C++ data type */
1455
 
  void *node;                           /* optional: pointer to serialized C/C++ data */
1456
 
  char *head;                           /* leading whitespace to start tag */
1457
 
  char *tail;                           /* leading whitespace to end tag */
1458
 
  struct soap *soap;                    /* soap context that manages this node */
1459
 
#ifdef __cplusplus
1460
 
  typedef soap_dom_element_iterator iterator;
1461
 
  struct soap_dom_element &set(const char *nstr, const char *name);
1462
 
  struct soap_dom_element &set(const char *data);
1463
 
  struct soap_dom_element &set(void *node, int type);
1464
 
  struct soap_dom_element &add(struct soap_dom_element*);
1465
 
  struct soap_dom_element &add(struct soap_dom_element&);
1466
 
  struct soap_dom_element &add(struct soap_dom_attribute*);
1467
 
  struct soap_dom_element &add(struct soap_dom_attribute&);
1468
 
  soap_dom_element_iterator begin();
1469
 
  soap_dom_element_iterator end();
1470
 
  soap_dom_element_iterator find(const char *nstr, const char *name);
1471
 
  soap_dom_element_iterator find(int type);
1472
 
  void unlink();
1473
 
  soap_dom_element();
1474
 
  soap_dom_element(struct soap *soap);
1475
 
  soap_dom_element(struct soap *soap, const char *nstr, const char *name);
1476
 
  soap_dom_element(struct soap *soap, const char *nstr, const char *name, const char *data);
1477
 
  soap_dom_element(struct soap *soap, const char *nstr, const char *name, void *node, int type);
1478
 
  ~soap_dom_element();
1479
 
#endif
1480
 
};
1481
 
SOAP_FMAC1 struct soap_dom_element * SOAP_FMAC2 soap_dom_next_element(struct soap_dom_element *elt);
1482
 
SOAP_FMAC1 struct soap_dom_attribute * SOAP_FMAC2 soap_dom_next_attribute(struct soap_dom_attribute *att);
1483
 
#endif
1484
 
 
1485
 
#if defined(__cplusplus) && !defined(WITH_LEAN)
1486
 
}
1487
 
extern std::ostream &operator<<(std::ostream&, const struct soap_dom_element&);
1488
 
extern std::istream &operator>>(std::istream&, struct soap_dom_element&);
1489
 
extern "C" {
1490
 
#endif
1491
 
 
1492
 
/******************************************************************************/
1493
 
 
1494
 
#ifdef WIN32
1495
 
# ifdef SOAP_STD_EXPORTS
1496
 
#  define SOAP_STD_API __declspec(dllexport)
1497
 
# else
1498
 
#  define SOAP_STD_API
1499
 
# endif
1500
 
#else
1501
 
# define SOAP_STD_API
1502
 
#endif
1503
 
 
1504
 
struct SOAP_STD_API soap
1505
 
{ short state;                  /* 0 = uninitialized, 1 = initialized, 2 = copy of another soap struct */
1506
 
  short version;                /* 1 = SOAP1.1 and 2 = SOAP1.2 (set automatically from namespace URI in nsmap table) */
1507
 
  soap_mode mode;
1508
 
  soap_mode imode;
1509
 
  soap_mode omode;
1510
 
  const char *float_format;     /* user-definable format string for floats (<1024 chars) */
1511
 
  const char *double_format;    /* user-definable format string for doubles (<1024 chars) */
1512
 
  const char *dime_id_format;   /* user-definable format string for integer DIME id (<SOAP_TAGLEN chars) */
1513
 
  const char *http_version;     /* HTTP version used "1.0" or "1.1" */
1514
 
  const char *http_content;     /* optional custom response content type (with SOAP_FILE) */
1515
 
  const char *encodingStyle;    /* default = NULL which means that SOAP encoding is used */
1516
 
  const char *actor;            /* SOAP-ENV:actor or role attribute value */
1517
 
  int recv_timeout;             /* when > 0, gives socket recv timeout in seconds, < 0 in usec */
1518
 
  int send_timeout;             /* when > 0, gives socket send timeout in seconds, < 0 in usec */
1519
 
  int connect_timeout;          /* when > 0, gives socket connect() timeout in seconds, < 0 in usec */
1520
 
  int accept_timeout;           /* when > 0, gives socket accept() timeout in seconds, < 0 in usec */
1521
 
  int socket_flags;             /* socket recv() and send() flags, e.g. set to MSG_NOSIGNAL to disable sigpipe */
1522
 
  int connect_flags;            /* connect() SOL_SOCKET sockopt flags, e.g. set to SO_DEBUG to debug socket */
1523
 
  int bind_flags;               /* bind() SOL_SOCKET sockopt flags, e.g. set to SO_REUSEADDR to enable reuse */
1524
 
  int accept_flags;             /* accept() SOL_SOCKET sockopt flags */
1525
 
  const struct Namespace *namespaces;   /* Pointer to global namespace mapping table */
1526
 
  struct Namespace *local_namespaces;   /* Local namespace mapping table */
1527
 
  struct soap_nlist *nlist;     /* namespace stack */
1528
 
  struct soap_blist *blist;     /* block allocation stack */
1529
 
  struct soap_clist *clist;     /* class instance allocation list */
1530
 
  void *alist;                  /* memory allocation (malloc) list */
1531
 
  struct soap_ilist *iht[SOAP_IDHASH];
1532
 
  struct soap_plist *pht[SOAP_PTRHASH];
1533
 
  struct soap_pblk *pblk;       /* plist block allocation */
1534
 
  short pidx;                   /* plist block allocation */
1535
 
  struct SOAP_ENV__Header *header;
1536
 
  struct SOAP_ENV__Fault *fault;
1537
 
  int idnum;
1538
 
  void *user;                   /* to pass user-defined data */
1539
 
  struct soap_plugin *plugins;  /* linked list of plug-in data */
1540
 
  char *userid;                 /* HTTP Basic authorization userid */
1541
 
  char *passwd;                 /* HTTP Basic authorization passwd */
1542
 
  int (*fpost)(struct soap*, const char*, const char*, int, const char*, const char*, size_t);
1543
 
  int (*fget)(struct soap*);
1544
 
  int (*fform)(struct soap*);
1545
 
  int (*fposthdr)(struct soap*, const char*, const char*);
1546
 
  int (*fresponse)(struct soap*, int, size_t);
1547
 
  int (*fparse)(struct soap*);
1548
 
  int (*fparsehdr)(struct soap*, const char*, const char*);
1549
 
  int (*fheader)(struct soap*);
1550
 
  int (*fresolve)(struct soap*, const char*, struct in_addr* inaddr);
1551
 
  int (*fconnect)(struct soap*, const char*, const char*, int);
1552
 
  int (*fdisconnect)(struct soap*);
1553
 
  int (*fclosesocket)(struct soap*, SOAP_SOCKET);
1554
 
  int (*fshutdownsocket)(struct soap*, SOAP_SOCKET, int);
1555
 
  SOAP_SOCKET (*fopen)(struct soap*, const char*, const char*, int);
1556
 
  SOAP_SOCKET (*faccept)(struct soap*, SOAP_SOCKET, struct sockaddr*, int *n);
1557
 
  int (*fclose)(struct soap*);
1558
 
  int (*fsend)(struct soap*, const char*, size_t);
1559
 
  size_t (*frecv)(struct soap*, char*, size_t);
1560
 
  int (*fpoll)(struct soap*);
1561
 
  void (*fseterror)(struct soap*, const char **c, const char **s);
1562
 
  int (*fignore)(struct soap*, const char*);
1563
 
  int (*fserveloop)(struct soap*);
1564
 
  void *(*fplugin)(struct soap*, const char*);
1565
 
  void *(*fmalloc)(struct soap*, size_t);
1566
 
#ifndef WITH_LEANER
1567
 
  int (*fprepareinit)(struct soap*);
1568
 
  int (*fpreparesend)(struct soap*, const char*, size_t);
1569
 
  int (*fpreparerecv)(struct soap*, const char*, size_t);
1570
 
  int (*fpreparefinal)(struct soap*);
1571
 
  void *(*fdimereadopen)(struct soap*, void*, const char*, const char*, const char*);
1572
 
  void *(*fdimewriteopen)(struct soap*, const char*, const char*, const char*);
1573
 
  void (*fdimereadclose)(struct soap*, void*);
1574
 
  void (*fdimewriteclose)(struct soap*, void*);
1575
 
  size_t (*fdimeread)(struct soap*, void*, char*, size_t);
1576
 
  int (*fdimewrite)(struct soap*, void*, const char*, size_t);
1577
 
  void *(*fmimereadopen)(struct soap*, void*, const char*, const char*, const char*);
1578
 
  void *(*fmimewriteopen)(struct soap*, void*, const char*, const char*, const char*, enum soap_mime_encoding);
1579
 
  void (*fmimereadclose)(struct soap*, void*);
1580
 
  void (*fmimewriteclose)(struct soap*, void*);
1581
 
  size_t (*fmimeread)(struct soap*, void*, char*, size_t);
1582
 
  int (*fmimewrite)(struct soap*, void*, const char*, size_t);
1583
 
#endif
1584
 
  SOAP_SOCKET master;
1585
 
  SOAP_SOCKET socket;
1586
 
#if defined(__cplusplus) && !defined(WITH_LEAN)
1587
 
  std::ostream *os;
1588
 
  std::istream *is;
1589
 
#else
1590
 
  void *os;     /* preserve alignment */
1591
 
  void *is;     /* preserve alignment */
1592
 
#endif
1593
 
#ifndef UNDER_CE
1594
 
  int sendfd;
1595
 
  int recvfd;
1596
 
#else
1597
 
  FILE *sendfd;
1598
 
  FILE *recvfd;
1599
 
#endif
1600
 
  size_t bufidx;        /* index in soap.buf[] */
1601
 
  size_t buflen;        /* length of soap.buf[] content */
1602
 
  soap_wchar ahead;     /* parser lookahead */
1603
 
  short cdata;          /* CDATA parser state */
1604
 
  short body;           /* parsed XML element has a body or not */
1605
 
  unsigned int level;   /* XML nesting level */
1606
 
  size_t count;         /* message length counter */
1607
 
  size_t length;        /* message length as set by HTTP header */
1608
 
  char *labbuf;         /* look-aside buffer */
1609
 
  size_t lablen;        /* look-aside buffer allocated length */
1610
 
  size_t labidx;        /* look-aside buffer index to available part */
1611
 
  char buf[SOAP_BUFLEN];/* send and receive buffer */
1612
 
  char msgbuf[1024];    /* in/output buffer for messages >=1024 bytes */
1613
 
  char tmpbuf[1024];    /* in/output buffer for HTTP/MIME headers, simpleType values, attribute names, and DIME must be >=1024 bytes */
1614
 
  char tag[SOAP_TAGLEN];
1615
 
  char id[SOAP_TAGLEN];
1616
 
  char href[SOAP_TAGLEN];
1617
 
  char type[SOAP_TAGLEN];
1618
 
  char arrayType[SOAP_TAGLEN];
1619
 
  char arraySize[SOAP_TAGLEN];
1620
 
  char arrayOffset[SOAP_TAGLEN];
1621
 
  short other;
1622
 
  short position;
1623
 
  int positions[SOAP_MAXDIMS];
1624
 
  short root;
1625
 
  struct soap_attribute *attributes;    /* attribute list */
1626
 
  short encoding;       /* when set, output encodingStyle */
1627
 
  short mustUnderstand; /* a mustUnderstand element was parsed or is output */
1628
 
  short null;           /* parsed XML is xsi:nil */
1629
 
  short ns;             /* when not set, output full xmlns bindings */
1630
 
  short part;           /* parsing state */
1631
 
  short alloced;
1632
 
  short peeked;
1633
 
  size_t chunksize;
1634
 
  size_t chunkbuflen;
1635
 
  char endpoint[SOAP_TAGLEN];
1636
 
  char path[SOAP_TAGLEN];
1637
 
  char host[SOAP_TAGLEN];
1638
 
  char *action;
1639
 
  char *authrealm;              /* HTTP authentication realm */
1640
 
  char *prolog;                 /* XML declaration prolog */
1641
 
  unsigned long ip;             /* IP number */
1642
 
  int port;                     /* port number */
1643
 
  short keep_alive;             /* connection should be kept open */
1644
 
  short tcp_keep_alive;         /* enable SO_KEEPALIVE */
1645
 
  unsigned int tcp_keep_idle;   /* set TCP_KEEPIDLE */
1646
 
  unsigned int tcp_keep_intvl;  /* set TCP_KEEPINTVL */
1647
 
  unsigned int tcp_keep_cnt;    /* set TCP_KEEPCNT */
1648
 
  unsigned int max_keep_alive;  /* maximum keep-alive session (default=100) */
1649
 
  const char *proxy_http_version;/* HTTP version of proxy "1.0" or "1.1" */
1650
 
  const char *proxy_host;       /* Proxy Server host name */
1651
 
  int proxy_port;               /* Proxy Server port (default = 8080) */
1652
 
  const char *proxy_userid;     /* Proxy Authorization user name */
1653
 
  const char *proxy_passwd;     /* Proxy Authorization password */
1654
 
  const char *proxy_from;       /* X-Forwarding-For header returned by proxy */
1655
 
  int status;                   /* -1 when request, else error code to be returned by server */
1656
 
  int error;
1657
 
  int errmode;
1658
 
  int errnum;
1659
 
#ifndef WITH_LEANER
1660
 
  struct soap_dom_element *dom;
1661
 
  struct soap_dime dime;
1662
 
  struct soap_mime mime;
1663
 
  struct soap_xlist *xlist;
1664
 
#endif
1665
 
#if !defined(WITH_LEAN) || defined(SOAP_DEBUG)
1666
 
  const char *logfile[SOAP_MAXLOGS];
1667
 
  FILE *fdebug[SOAP_MAXLOGS];
1668
 
  struct soap_mlist *mht[SOAP_PTRHASH];
1669
 
#endif
1670
 
#ifndef WITH_LEAN
1671
 
  const char *c14ninclude;
1672
 
  const char *c14nexclude;
1673
 
  struct soap_cookie *cookies;
1674
 
  const char *cookie_domain;
1675
 
  const char *cookie_path;
1676
 
  int cookie_max;
1677
 
#endif
1678
 
#ifndef WITH_NOIO
1679
 
#ifdef WITH_IPV6
1680
 
  struct sockaddr_storage peer; /* IPv6: set by soap_accept and by UDP recv */
1681
 
#else
1682
 
  struct sockaddr_in peer;      /* IPv4: set by soap_connect/soap_accept and by UDP recv */
1683
 
#endif
1684
 
#endif
1685
 
  size_t peerlen;
1686
 
#ifdef WITH_OPENSSL
1687
 
  int (*fsslauth)(struct soap*);
1688
 
  int (*fsslverify)(int, X509_STORE_CTX*);
1689
 
  BIO *bio;
1690
 
  SSL *ssl;
1691
 
  SSL_CTX *ctx;
1692
 
  unsigned short ssl_flags;
1693
 
  const char *keyfile;
1694
 
  const char *password;
1695
 
  const char *dhfile;
1696
 
  const char *cafile;
1697
 
  const char *capath;
1698
 
  const char *crlfile;
1699
 
  const char *randfile;
1700
 
  SSL_SESSION *session;
1701
 
  char session_host[SOAP_TAGLEN];
1702
 
  int session_port;
1703
 
#endif
1704
 
#ifdef WITH_ZLIB
1705
 
  short zlib_state;             /* SOAP_ZLIB_NONE, SOAP_ZLIB_DEFLATE, or SOAP_ZLIB_INFLATE */
1706
 
  short zlib_in;                /* SOAP_ZLIB_NONE, SOAP_ZLIB_DEFLATE, or SOAP_ZLIB_GZIP */
1707
 
  short zlib_out;               /* SOAP_ZLIB_NONE, SOAP_ZLIB_DEFLATE, or SOAP_ZLIB_GZIP */
1708
 
  z_stream d_stream;            /* decompression stream */
1709
 
  char z_buf[SOAP_BUFLEN];      /* buffer */
1710
 
  size_t z_buflen;
1711
 
  unsigned short z_level;       /* compression level to be used (0=none, 1=fast to 9=best) */
1712
 
  uLong z_crc;                  /* internal gzip crc */
1713
 
  float z_ratio_in;             /* detected compression ratio compressed_length/length of inbound message */
1714
 
  float z_ratio_out;            /* detected compression ratio compressed_length/length of outbound message */
1715
 
#endif
1716
 
#ifdef WMW_RPM_IO
1717
 
  void *rpmreqid;
1718
 
#endif
1719
 
#ifndef WITH_LEAN
1720
 
#ifdef __cplusplus
1721
 
  soap();
1722
 
  soap(soap_mode);
1723
 
  soap(soap_mode, soap_mode);
1724
 
  soap(struct soap&);
1725
 
  ~soap();
1726
 
#endif
1727
 
#endif
1728
 
};
1729
 
 
1730
 
struct soap_code_map
1731
 
{ long code;
1732
 
  const char *string;
1733
 
};
1734
 
 
1735
 
/* forwarding list */
1736
 
struct soap_flist
1737
 
{ struct soap_flist *next;
1738
 
  int type;
1739
 
  void *ptr;
1740
 
  unsigned int level;
1741
 
  size_t len;
1742
 
  void (*fcopy)(struct soap*, int, int, void*, size_t, const void*, size_t);
1743
 
};
1744
 
 
1745
 
/* id-ref forwarding list */
1746
 
struct soap_ilist
1747
 
{ struct soap_ilist *next;
1748
 
  int type;
1749
 
  size_t size;
1750
 
  void *link;
1751
 
  void *copy;
1752
 
  struct soap_flist *flist;
1753
 
  void *ptr;
1754
 
  unsigned int level;
1755
 
  char id[1]; /* the actual id string value flows into the allocated region below this struct */
1756
 
};
1757
 
 
1758
 
struct soap_plugin
1759
 
{ struct soap_plugin *next;
1760
 
  const char *id;
1761
 
  void *data;
1762
 
  int (*fcopy)(struct soap *soap, struct soap_plugin *dst, struct soap_plugin *src);
1763
 
  void (*fdelete)(struct soap *soap, struct soap_plugin *p); /* should delete fields of plugin only and not free(p) */
1764
 
};
1765
 
 
1766
 
#ifndef WITH_NONAMESPACES
1767
 
extern SOAP_NMAC struct Namespace namespaces[];
1768
 
#endif
1769
 
 
1770
 
#ifndef WITH_LEAN
1771
 
# define soap_get0(soap) (((soap)->bufidx>=(soap)->buflen && soap_recv(soap)) ? EOF : (unsigned char)(soap)->buf[(soap)->bufidx])
1772
 
# define soap_get1(soap) (((soap)->bufidx>=(soap)->buflen && soap_recv(soap)) ? EOF : (unsigned char)(soap)->buf[(soap)->bufidx++])
1773
 
#else
1774
 
soap_wchar soap_get0(struct soap*);
1775
 
soap_wchar soap_get1(struct soap*);
1776
 
#endif
1777
 
 
1778
 
#define soap_revget1(soap) ((soap)->bufidx--)
1779
 
#define soap_unget(soap, c) ((soap)->ahead = c)
1780
 
#define soap_register_plugin(soap, plugin) soap_register_plugin_arg(soap, plugin, NULL)
1781
 
#define soap_imode(soap, n) ((soap)->mode = (soap)->imode = (n))
1782
 
#define soap_set_imode(soap, n) ((soap)->imode |= (n))
1783
 
#define soap_clr_imode(soap, n) ((soap)->imode &= ~(n))
1784
 
#define soap_omode(soap, n) ((soap)->mode = (soap)->omode = (n))
1785
 
#define soap_set_omode(soap, n) ((soap)->omode |= (n))
1786
 
#define soap_clr_omode(soap, n) ((soap)->omode &= ~(n))
1787
 
#define soap_set_mode(soap, n) ((soap)->imode |= (n), (soap)->omode |= (n))
1788
 
#define soap_clr_mode(soap, n) ((soap)->imode &= ~(n), (soap)->omode &= ~(n))
1789
 
#define soap_destroy(soap) soap_delete((soap), NULL)
1790
 
 
1791
 
#ifdef HAVE_STRRCHR
1792
 
# define soap_strrchr(s, t) strrchr(s, t)
1793
 
#else
1794
 
 SOAP_FMAC1 char* SOAP_FMAC2 soap_strrchr(const char *s, int t);
1795
 
#endif
1796
 
 
1797
 
#ifdef HAVE_STRTOL
1798
 
# define soap_strtol(s, t, b) strtol(s, t, b)
1799
 
#else
1800
 
 SOAP_FMAC1 long SOAP_FMAC2 soap_strtol(const char *s, char **t, int b);
1801
 
#endif
1802
 
 
1803
 
#ifdef HAVE_STRTOUL
1804
 
# define soap_strtoul(s, t, b) strtoul(s, t, b)
1805
 
#else
1806
 
 SOAP_FMAC1 unsigned long SOAP_FMAC2 soap_strtoul(const char *s, char **t, int b);
1807
 
#endif
1808
 
 
1809
 
#if defined(WITH_OPENSSL)
1810
 
# define soap_random soap_rand()
1811
 
SOAP_FMAC1 int SOAP_FMAC2 soap_rand(void);
1812
 
#elif defined(HAVE_RANDOM)
1813
 
# define soap_random (int)random()
1814
 
#else
1815
 
# define soap_random rand()
1816
 
#endif
1817
 
 
1818
 
#ifdef WITH_NOIDREF
1819
 
# define soap_embedded(s, p, t) (0)
1820
 
# define soap_id_lookup(s, i, p, t, n, k) (p)
1821
 
# define soap_id_forward(s, h, p, len, st, tt, n, k, fc) (p)
1822
 
# define soap_reference(s, a, t) (1)
1823
 
# define soap_array_reference(s, p, a, n, t) (1)
1824
 
# define soap_embed(s, p, a, n, t, pp) (0)
1825
 
# define soap_embedded_id(s, i, p, t) (i)
1826
 
# define soap_is_embedded(s, p) (0)
1827
 
# define soap_is_single(s, p) (1)
1828
 
# define soap_lookup_type(s, i) (0)
1829
 
# define soap_getindependent(s) (0)
1830
 
# define soap_putindependent(s) (0)
1831
 
# define soap_getelement(s, n) (n)
1832
 
# define soap_putelement(s, p, t, i, n) (0)
1833
 
# define soap_markelement(s, p, n) (0)
1834
 
#endif
1835
 
 
1836
 
SOAP_FMAC1 void SOAP_FMAC2 soap_header(struct soap*);
1837
 
SOAP_FMAC1 void SOAP_FMAC2 soap_fault(struct soap*);
1838
 
SOAP_FMAC1 const char** SOAP_FMAC2 soap_faultcode(struct soap*);
1839
 
SOAP_FMAC1 const char** SOAP_FMAC2 soap_faultsubcode(struct soap*);
1840
 
SOAP_FMAC1 const char** SOAP_FMAC2 soap_faultstring(struct soap*);
1841
 
SOAP_FMAC1 const char** SOAP_FMAC2 soap_faultdetail(struct soap*);
1842
 
SOAP_FMAC1 void SOAP_FMAC2 soap_serializeheader(struct soap*);
1843
 
SOAP_FMAC1 int SOAP_FMAC2 soap_putheader(struct soap*);
1844
 
SOAP_FMAC1 int SOAP_FMAC2 soap_getheader(struct soap*);
1845
 
SOAP_FMAC1 void SOAP_FMAC2 soap_serializefault(struct soap*);
1846
 
SOAP_FMAC1 int SOAP_FMAC2 soap_putfault(struct soap*);
1847
 
SOAP_FMAC1 int SOAP_FMAC2 soap_getfault(struct soap*);
1848
 
 
1849
 
SOAP_FMAC1 void SOAP_FMAC2 soap_ssl_init(void);
1850
 
SOAP_FMAC1 int SOAP_FMAC2 soap_poll(struct soap*);
1851
 
SOAP_FMAC1 int SOAP_FMAC2 soap_connect_command(struct soap*, int, const char*, const char*);
1852
 
SOAP_FMAC1 int SOAP_FMAC2 soap_connect(struct soap*, const char*, const char*);
1853
 
SOAP_FMAC1 SOAP_SOCKET SOAP_FMAC2 soap_bind(struct soap*, const char*, int, int);
1854
 
SOAP_FMAC1 SOAP_SOCKET SOAP_FMAC2 soap_accept(struct soap*);
1855
 
SOAP_FMAC1 int SOAP_FMAC2 soap_ssl_accept(struct soap*);
1856
 
SOAP_FMAC1 const char * SOAP_FMAC2 soap_ssl_error(struct soap*, int);
1857
 
 
1858
 
SOAP_FMAC1 int SOAP_FMAC2 soap_ssl_server_context(struct soap*, unsigned short, const char*, const char*, const char*, const char*, const char*, const char*, const char*);
1859
 
SOAP_FMAC1 int SOAP_FMAC2 soap_ssl_client_context(struct soap*, unsigned short, const char*, const char*, const char*, const char*, const char*);
1860
 
 
1861
 
SOAP_FMAC1 int SOAP_FMAC2 soap_puthttphdr(struct soap*, int status, size_t count);
1862
 
 
1863
 
SOAP_FMAC1 const char* SOAP_FMAC2 soap_get_header_attribute(struct soap*, const char*, const char*);
1864
 
SOAP_FMAC1 const char* SOAP_FMAC2 soap_decode_key(char*, size_t, const char*);
1865
 
SOAP_FMAC1 const char* SOAP_FMAC2 soap_decode_val(char*, size_t, const char*);
1866
 
 
1867
 
SOAP_FMAC1 size_t SOAP_FMAC2 soap_hash(const char*);
1868
 
SOAP_FMAC1 void SOAP_FMAC2 soap_set_endpoint(struct soap*, const char*);
1869
 
SOAP_FMAC1 int SOAP_FMAC2 soap_flush_raw(struct soap*, const char*, size_t);
1870
 
SOAP_FMAC1 int SOAP_FMAC2 soap_flush(struct soap*);
1871
 
SOAP_FMAC1 soap_wchar SOAP_FMAC2 soap_get(struct soap*);
1872
 
SOAP_FMAC1 soap_wchar SOAP_FMAC2 soap_getchar(struct soap*);
1873
 
SOAP_FMAC1 int SOAP_FMAC2 soap_tag_cmp(const char*, const char*);
1874
 
SOAP_FMAC1 void SOAP_FMAC2 soap_set_fault(struct soap*);
1875
 
SOAP_FMAC1 int SOAP_FMAC2 soap_sender_fault(struct soap*, const char*, const char*);
1876
 
SOAP_FMAC1 int SOAP_FMAC2 soap_sender_fault_subcode(struct soap*, const char*, const char*, const char*);
1877
 
SOAP_FMAC1 int SOAP_FMAC2 soap_receiver_fault(struct soap*, const char*, const char*);
1878
 
SOAP_FMAC1 int SOAP_FMAC2 soap_receiver_fault_subcode(struct soap*, const char*, const char*, const char*);
1879
 
SOAP_FMAC1 int SOAP_FMAC2 soap_set_sender_error(struct soap*, const char*, const char*, int);
1880
 
SOAP_FMAC1 int SOAP_FMAC2 soap_set_receiver_error(struct soap*, const char*, const char*, int);
1881
 
 
1882
 
SOAP_FMAC1 int SOAP_FMAC2 soap_send_raw(struct soap*, const char*, size_t);
1883
 
SOAP_FMAC1 int SOAP_FMAC2 soap_recv_raw(struct soap*);
1884
 
SOAP_FMAC1 int SOAP_FMAC2 soap_recv(struct soap*);
1885
 
SOAP_FMAC1 int SOAP_FMAC2 soap_send(struct soap*, const char*);
1886
 
SOAP_FMAC1 int SOAP_FMAC2 soap_send2(struct soap*, const char*, const char*);
1887
 
SOAP_FMAC1 int SOAP_FMAC2 soap_send3(struct soap*, const char*, const char*, const char*);
1888
 
 
1889
 
SOAP_FMAC1 int SOAP_FMAC2 soap_pututf8(struct soap*, unsigned long);
1890
 
SOAP_FMAC1 soap_wchar SOAP_FMAC2 soap_getutf8(struct soap*);
1891
 
 
1892
 
SOAP_FMAC1 int SOAP_FMAC2 soap_putbase64(struct soap*, const unsigned char*, int);
1893
 
SOAP_FMAC1 unsigned char* SOAP_FMAC2 soap_getbase64(struct soap*, int*, int);
1894
 
SOAP_FMAC1 int SOAP_FMAC2 soap_puthex(struct soap*, const unsigned char*, int);
1895
 
SOAP_FMAC1 unsigned char* SOAP_FMAC2 soap_gethex(struct soap*, int*);
1896
 
 
1897
 
#ifndef WITH_LEANER
1898
 
SOAP_FMAC1 int SOAP_FMAC2 soap_xop_forward(struct soap*, unsigned char**, int*, char**, char**, char**);
1899
 
SOAP_FMAC1 int SOAP_FMAC2 soap_dime_forward(struct soap*, unsigned char**, int*, char**, char**, char**);
1900
 
#endif
1901
 
 
1902
 
#ifndef WITH_NOIDREF
1903
 
SOAP_FMAC1 int SOAP_FMAC2 soap_pointer_lookup_id(struct soap*, void *p, int t, struct soap_plist**);
1904
 
SOAP_FMAC1 int SOAP_FMAC2 soap_pointer_lookup(struct soap*, const void *p, int t, struct soap_plist**);
1905
 
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**);
1906
 
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**);
1907
 
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);
1908
 
SOAP_FMAC1 struct soap_ilist* SOAP_FMAC2 soap_lookup(struct soap*, const char*);
1909
 
SOAP_FMAC1 struct soap_ilist* SOAP_FMAC2 soap_enter(struct soap*, const char*);
1910
 
SOAP_FMAC1 int SOAP_FMAC2 soap_resolve(struct soap*);
1911
 
SOAP_FMAC1 void SOAP_FMAC2 soap_embedded(struct soap*, const void *p, int t);
1912
 
SOAP_FMAC1 int SOAP_FMAC2 soap_reference(struct soap*, const void *p, int t);
1913
 
SOAP_FMAC1 int SOAP_FMAC2 soap_array_reference(struct soap*, const void *p, const struct soap_array *a, int n, int t);
1914
 
SOAP_FMAC1 int SOAP_FMAC2 soap_embedded_id(struct soap*, int id, const void *p, int t);
1915
 
SOAP_FMAC1 int SOAP_FMAC2 soap_is_embedded(struct soap*, struct soap_plist*);
1916
 
SOAP_FMAC1 int SOAP_FMAC2 soap_is_single(struct soap*, struct soap_plist*);
1917
 
SOAP_FMAC1 void SOAP_FMAC2 soap_set_embedded(struct soap*, struct soap_plist*);
1918
 
#endif
1919
 
 
1920
 
SOAP_FMAC1 int SOAP_FMAC2 soap_begin_count(struct soap*);
1921
 
SOAP_FMAC1 int SOAP_FMAC2 soap_end_count(struct soap*);
1922
 
SOAP_FMAC1 int SOAP_FMAC2 soap_begin_send(struct soap*);
1923
 
SOAP_FMAC1 int SOAP_FMAC2 soap_end_send(struct soap*);
1924
 
 
1925
 
SOAP_FMAC1 const struct soap_code_map* SOAP_FMAC2 soap_code(const struct soap_code_map*, const char*);
1926
 
SOAP_FMAC1 long SOAP_FMAC2 soap_code_int(const struct soap_code_map*, const char*, long);
1927
 
SOAP_FMAC1 const char* SOAP_FMAC2 soap_code_str(const struct soap_code_map*, long);
1928
 
SOAP_FMAC1 long SOAP_FMAC2 soap_code_bits(const struct soap_code_map*, const char*);
1929
 
SOAP_FMAC1 const char* SOAP_FMAC2 soap_code_list(struct soap*, const struct soap_code_map*, long);
1930
 
 
1931
 
SOAP_FMAC1 int SOAP_FMAC2 soap_getline(struct soap*, char*, int);
1932
 
SOAP_FMAC1 int SOAP_FMAC2 soap_begin_recv(struct soap*);
1933
 
SOAP_FMAC1 int SOAP_FMAC2 soap_end_recv(struct soap*);
1934
 
 
1935
 
SOAP_FMAC1 void* SOAP_FMAC2 soap_malloc(struct soap*, size_t);
1936
 
SOAP_FMAC1 void SOAP_FMAC2 soap_dealloc(struct soap*, void*);
1937
 
SOAP_FMAC1 struct soap_clist * SOAP_FMAC2 soap_link(struct soap*, void*, int, int, int (*fdelete)(struct soap_clist*));
1938
 
SOAP_FMAC1 void SOAP_FMAC2 soap_unlink(struct soap*, const void*);
1939
 
SOAP_FMAC1 void SOAP_FMAC2 soap_free_temp(struct soap*);
1940
 
SOAP_FMAC1 void SOAP_FMAC2 soap_del(struct soap*);
1941
 
 
1942
 
SOAP_FMAC1 void* SOAP_FMAC2 soap_track_malloc(struct soap*, const char*, int, size_t);
1943
 
SOAP_FMAC1 void SOAP_FMAC2 soap_track_free(struct soap*, const char*, int, void*);
1944
 
 
1945
 
#ifndef WITH_NOIDREF
1946
 
SOAP_FMAC1 int SOAP_FMAC2 soap_lookup_type(struct soap*, const char *id);
1947
 
SOAP_FMAC1 void* SOAP_FMAC2 soap_id_lookup(struct soap*, const char *id, void **p, int t, size_t n, unsigned int k);
1948
 
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));
1949
 
#endif
1950
 
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*));
1951
 
SOAP_FMAC1 void SOAP_FMAC2 soap_fcopy(struct soap *soap, int st, int tt, void *p, size_t, const void *q, size_t n);
1952
 
 
1953
 
SOAP_FMAC1 int SOAP_FMAC2 soap_size(const int *, int);
1954
 
SOAP_FMAC1 int SOAP_FMAC2 soap_getoffsets(const char *, const int *, int *, int);
1955
 
SOAP_FMAC1 int SOAP_FMAC2 soap_getsize(const char *, const char *, int *);
1956
 
SOAP_FMAC1 int SOAP_FMAC2 soap_getsizes(const char *, int *, int);
1957
 
SOAP_FMAC1 int SOAP_FMAC2 soap_getposition(const char *, int *);
1958
 
 
1959
 
SOAP_FMAC1 char* SOAP_FMAC2 soap_putsize(struct soap*, const char *, int);
1960
 
SOAP_FMAC1 char* SOAP_FMAC2 soap_putsizesoffsets(struct soap*, const char *, const int *, const int *, int);
1961
 
SOAP_FMAC1 char* SOAP_FMAC2 soap_putsizes(struct soap*, const char *, const int *, int);
1962
 
SOAP_FMAC1 char* SOAP_FMAC2 soap_putoffset(struct soap*, int);
1963
 
SOAP_FMAC1 char* SOAP_FMAC2 soap_putoffsets(struct soap*, const int *, int);
1964
 
 
1965
 
SOAP_FMAC1 int SOAP_FMAC2 soap_closesock(struct soap*);
1966
 
 
1967
 
SOAP_FMAC1 struct soap *SOAP_FMAC2 soap_new(void);
1968
 
SOAP_FMAC1 struct soap *SOAP_FMAC2 soap_new1(soap_mode);
1969
 
SOAP_FMAC1 struct soap *SOAP_FMAC2 soap_new2(soap_mode, soap_mode);
1970
 
SOAP_FMAC1 void SOAP_FMAC2 soap_free(struct soap*);
1971
 
SOAP_FMAC1 struct soap *SOAP_FMAC2 soap_copy(struct soap*);
1972
 
SOAP_FMAC1 struct soap *SOAP_FMAC2 soap_copy_context(struct soap*, struct soap*);
1973
 
SOAP_FMAC1 void SOAP_FMAC2 soap_copy_stream(struct soap*, struct soap*);
1974
 
SOAP_FMAC1 void SOAP_FMAC2 soap_init(struct soap*);
1975
 
SOAP_FMAC1 void SOAP_FMAC2 soap_init1(struct soap*, soap_mode);
1976
 
SOAP_FMAC1 void SOAP_FMAC2 soap_init2(struct soap*, soap_mode, soap_mode);
1977
 
SOAP_FMAC1 void SOAP_FMAC2 soap_done(struct soap*);
1978
 
SOAP_FMAC1 void SOAP_FMAC2 soap_cleanup(struct soap*);
1979
 
SOAP_FMAC1 void SOAP_FMAC2 soap_begin(struct soap*);
1980
 
SOAP_FMAC1 void SOAP_FMAC2 soap_end(struct soap*);
1981
 
SOAP_FMAC1 void SOAP_FMAC2 soap_delete(struct soap*, void*);
1982
 
 
1983
 
#ifdef SOAP_DEBUG
1984
 
SOAP_FMAC1 void SOAP_FMAC2 soap_set_recv_logfile(struct soap*, const char*);
1985
 
SOAP_FMAC1 void SOAP_FMAC2 soap_set_sent_logfile(struct soap*, const char*);
1986
 
SOAP_FMAC1 void SOAP_FMAC2 soap_set_test_logfile(struct soap*, const char*);
1987
 
SOAP_FMAC1 void SOAP_FMAC2 soap_close_logfiles(struct soap*);
1988
 
SOAP_FMAC1 void SOAP_FMAC2 soap_open_logfile(struct soap*, int);
1989
 
#endif
1990
 
 
1991
 
SOAP_FMAC1 const char* SOAP_FMAC2 soap_value(struct soap*);
1992
 
 
1993
 
SOAP_FMAC1 int SOAP_FMAC2 soap_match_tag(struct soap*, const char*, const char *);
1994
 
SOAP_FMAC1 int SOAP_FMAC2 soap_match_array(struct soap*, const char*);
1995
 
 
1996
 
SOAP_FMAC1 int SOAP_FMAC2 soap_element(struct soap*, const char*, int, const char*);
1997
 
SOAP_FMAC1 int SOAP_FMAC2 soap_element_begin_out(struct soap*, const char *tag, int id, const char *type);
1998
 
SOAP_FMAC1 int SOAP_FMAC2 soap_array_begin_out(struct soap*, const char *tag, int id, const char *type, const char *offset);
1999
 
SOAP_FMAC1 int SOAP_FMAC2 soap_element_ref(struct soap*, const char *tag, int id, int href);
2000
 
SOAP_FMAC1 int SOAP_FMAC2 soap_element_href(struct soap*, const char *tag, int id, const char *ref, const char *val);
2001
 
SOAP_FMAC1 int SOAP_FMAC2 soap_element_null(struct soap*, const char *tag, int id, const char *type);
2002
 
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);
2003
 
SOAP_FMAC1 int SOAP_FMAC2 soap_element_result(struct soap*, const char *tag);
2004
 
SOAP_FMAC1 void SOAP_FMAC2 soap_check_result(struct soap*, const char *tag);
2005
 
SOAP_FMAC1 int SOAP_FMAC2 soap_element_end_out(struct soap*, const char *tag);
2006
 
SOAP_FMAC1 int SOAP_FMAC2 soap_element_start_end_out(struct soap*, const char *tag);
2007
 
 
2008
 
SOAP_FMAC1 int SOAP_FMAC2 soap_attribute(struct soap*, const char*, const char*);
2009
 
 
2010
 
SOAP_FMAC1 int SOAP_FMAC2 soap_element_begin_in(struct soap*, const char *tag, int nillable, const char *type);
2011
 
 
2012
 
SOAP_FMAC1 int SOAP_FMAC2 soap_element_end_in(struct soap*, const char *tag);
2013
 
 
2014
 
SOAP_FMAC1 int SOAP_FMAC2 soap_peek_element(struct soap*);
2015
 
 
2016
 
SOAP_FMAC1 void SOAP_FMAC2 soap_retry(struct soap*);
2017
 
SOAP_FMAC1 void SOAP_FMAC2 soap_revert(struct soap*);
2018
 
 
2019
 
SOAP_FMAC1 char* SOAP_FMAC2 soap_strdup(struct soap*, const char*);
2020
 
SOAP_FMAC1 const char * SOAP_FMAC2 soap_strsearch(const char *big, const char *little);
2021
 
 
2022
 
SOAP_FMAC1 int SOAP_FMAC2 soap_string_out(struct soap*, const char *s, int flag);
2023
 
SOAP_FMAC1 char* SOAP_FMAC2 soap_string_in(struct soap*, int, long, long);
2024
 
 
2025
 
#ifndef WITH_LEANER
2026
 
SOAP_FMAC1 int SOAP_FMAC2 soap_wstring_out(struct soap*, const wchar_t *s, int flag);
2027
 
SOAP_FMAC1 wchar_t* SOAP_FMAC2 soap_wstring_in(struct soap*, int, long, long);
2028
 
#endif
2029
 
 
2030
 
SOAP_FMAC1 int SOAP_FMAC2 soap_match_namespace(struct soap*, const char *, const char*, size_t n1, size_t n2);
2031
 
 
2032
 
SOAP_FMAC1 int SOAP_FMAC2 soap_set_namespaces(struct soap*, const struct Namespace*);
2033
 
SOAP_FMAC1 void SOAP_FMAC2 soap_set_local_namespaces(struct soap*);
2034
 
 
2035
 
SOAP_FMAC1 void SOAP_FMAC2 soap_pop_namespace(struct soap*);
2036
 
SOAP_FMAC1 int SOAP_FMAC2 soap_push_namespace(struct soap*, const char *,const char *);
2037
 
SOAP_FMAC1 const char* SOAP_FMAC2 soap_current_namespace(struct soap *soap, const char *tag);
2038
 
 
2039
 
SOAP_FMAC1 struct soap_nlist* SOAP_FMAC2 soap_lookup_ns(struct soap *soap, const char *tag, size_t n);
2040
 
 
2041
 
SOAP_FMAC1 int SOAP_FMAC2 soap_store_lab(struct soap*, const char*, size_t);
2042
 
SOAP_FMAC1 int SOAP_FMAC2 soap_append_lab(struct soap*, const char*, size_t);
2043
 
 
2044
 
SOAP_FMAC1 int SOAP_FMAC2 soap_new_block(struct soap*);
2045
 
SOAP_FMAC1 void* SOAP_FMAC2 soap_push_block(struct soap*, size_t);
2046
 
SOAP_FMAC1 void SOAP_FMAC2 soap_pop_block(struct soap*);
2047
 
SOAP_FMAC1 size_t SOAP_FMAC2 soap_size_block(struct soap*, size_t);
2048
 
SOAP_FMAC1 char* SOAP_FMAC2 soap_first_block(struct soap*);
2049
 
SOAP_FMAC1 char* SOAP_FMAC2 soap_next_block(struct soap*);
2050
 
SOAP_FMAC1 size_t SOAP_FMAC2 soap_block_size(struct soap*);
2051
 
SOAP_FMAC1 char* SOAP_FMAC2 soap_save_block(struct soap*, char*, int);
2052
 
SOAP_FMAC1 void SOAP_FMAC2 soap_end_block(struct soap*);
2053
 
 
2054
 
SOAP_FMAC1 int SOAP_FMAC2 soap_envelope_begin_out(struct soap*);
2055
 
SOAP_FMAC1 int soap_envelope_end_out(struct soap*);
2056
 
 
2057
 
SOAP_FMAC1 int SOAP_FMAC2 soap_envelope_begin_in(struct soap*);
2058
 
SOAP_FMAC1 int SOAP_FMAC2 soap_envelope_end_in(struct soap*);
2059
 
 
2060
 
SOAP_FMAC1 int SOAP_FMAC2 soap_body_begin_out(struct soap*);
2061
 
SOAP_FMAC1 int SOAP_FMAC2 soap_body_end_out(struct soap*);
2062
 
 
2063
 
SOAP_FMAC1 int SOAP_FMAC2 soap_body_begin_in(struct soap*);
2064
 
SOAP_FMAC1 int SOAP_FMAC2 soap_body_end_in(struct soap*);
2065
 
 
2066
 
SOAP_FMAC1 int SOAP_FMAC2 soap_recv_header(struct soap*);
2067
 
 
2068
 
SOAP_FMAC1 int SOAP_FMAC2 soap_response(struct soap*, int);
2069
 
 
2070
 
SOAP_FMAC1 int SOAP_FMAC2 soap_send_empty_response(struct soap*, int status);
2071
 
SOAP_FMAC1 int SOAP_FMAC2 soap_recv_empty_response(struct soap*);
2072
 
 
2073
 
SOAP_FMAC1 int SOAP_FMAC2 soap_send_fault(struct soap*);
2074
 
SOAP_FMAC1 int SOAP_FMAC2 soap_recv_fault(struct soap*);
2075
 
 
2076
 
#ifndef WITH_NOSTDLIB
2077
 
SOAP_FMAC1 void SOAP_FMAC2 soap_print_fault(struct soap*, FILE*);
2078
 
SOAP_FMAC1 char* SOAP_FMAC2 soap_sprint_fault(struct soap*, char*, size_t);
2079
 
SOAP_FMAC1 void SOAP_FMAC2 soap_print_fault_location(struct soap*, FILE*);
2080
 
#endif
2081
 
 
2082
 
SOAP_FMAC1 int SOAP_FMAC2 soap_s2byte(struct soap*, const char*, char*);
2083
 
SOAP_FMAC1 int SOAP_FMAC2 soap_s2short(struct soap*, const char*, short*);
2084
 
SOAP_FMAC1 int SOAP_FMAC2 soap_s2int(struct soap*, const char*, int*);
2085
 
SOAP_FMAC1 int SOAP_FMAC2 soap_s2long(struct soap*, const char*, long*);
2086
 
SOAP_FMAC1 int SOAP_FMAC2 soap_s2LONG64(struct soap*, const char*, LONG64*);
2087
 
SOAP_FMAC1 int SOAP_FMAC2 soap_s2float(struct soap*, const char*, float*);
2088
 
SOAP_FMAC1 int SOAP_FMAC2 soap_s2double(struct soap*, const char*, double*);
2089
 
SOAP_FMAC1 int SOAP_FMAC2 soap_s2unsignedByte(struct soap*, const char*, unsigned char*);
2090
 
SOAP_FMAC1 int SOAP_FMAC2 soap_s2unsignedShort(struct soap*, const char*, unsigned short*);
2091
 
SOAP_FMAC1 int SOAP_FMAC2 soap_s2unsignedInt(struct soap*, const char*, unsigned int*);
2092
 
SOAP_FMAC1 int SOAP_FMAC2 soap_s2unsignedLong(struct soap*, const char*, unsigned long*);
2093
 
SOAP_FMAC1 int SOAP_FMAC2 soap_s2ULONG64(struct soap*, const char*, ULONG64*);
2094
 
SOAP_FMAC1 int SOAP_FMAC2 soap_s2string(struct soap*, const char*, char**);
2095
 
SOAP_FMAC1 int SOAP_FMAC2 soap_s2QName(struct soap*, const char*, char**);
2096
 
 
2097
 
#ifndef WITH_LEAN
2098
 
SOAP_FMAC1 int SOAP_FMAC2 soap_s2wchar(struct soap*, const char*, wchar_t**);
2099
 
SOAP_FMAC1 int SOAP_FMAC2 soap_s2dateTime(struct soap*, const char*, time_t*);
2100
 
SOAP_FMAC1 char* SOAP_FMAC2 soap_s2base64(struct soap*, const unsigned char*, char*, int);
2101
 
SOAP_FMAC1 char* SOAP_FMAC2 soap_s2hex(struct soap*, const unsigned char*, char*, int);
2102
 
#endif
2103
 
 
2104
 
SOAP_FMAC1 const char* SOAP_FMAC2 soap_byte2s(struct soap*, char);
2105
 
SOAP_FMAC1 const char* SOAP_FMAC2 soap_short2s(struct soap*, short);
2106
 
SOAP_FMAC1 const char* SOAP_FMAC2 soap_int2s(struct soap*, int);
2107
 
SOAP_FMAC1 const char* SOAP_FMAC2 soap_long2s(struct soap*, long);
2108
 
SOAP_FMAC1 const char* SOAP_FMAC2 soap_LONG642s(struct soap*, LONG64);
2109
 
SOAP_FMAC1 const char* SOAP_FMAC2 soap_float2s(struct soap*, float);
2110
 
SOAP_FMAC1 const char* SOAP_FMAC2 soap_double2s(struct soap*, double);
2111
 
SOAP_FMAC1 const char* SOAP_FMAC2 soap_unsignedByte2s(struct soap*, unsigned char);
2112
 
SOAP_FMAC1 const char* SOAP_FMAC2 soap_unsignedShort2s(struct soap*, unsigned short);
2113
 
SOAP_FMAC1 const char* SOAP_FMAC2 soap_unsignedInt2s(struct soap*, unsigned int);
2114
 
SOAP_FMAC1 const char* SOAP_FMAC2 soap_unsignedLong2s(struct soap*, unsigned long);
2115
 
SOAP_FMAC1 const char* SOAP_FMAC2 soap_ULONG642s(struct soap*, ULONG64);
2116
 
SOAP_FMAC1 const char* SOAP_FMAC2 soap_QName2s(struct soap*, const char*);
2117
 
 
2118
 
#ifndef WITH_LEAN
2119
 
SOAP_FMAC1 const char* SOAP_FMAC2 soap_wchar2s(struct soap*, const wchar_t*);
2120
 
SOAP_FMAC1 const char* SOAP_FMAC2 soap_dateTime2s(struct soap*, time_t);
2121
 
SOAP_FMAC1 const char* SOAP_FMAC2 soap_base642s(struct soap*, const char*, char*, size_t, int*);
2122
 
SOAP_FMAC1 const char* SOAP_FMAC2 soap_hex2s(struct soap*, const char*, char*, size_t, int*);
2123
 
#endif
2124
 
 
2125
 
 
2126
 
SOAP_FMAC1 int* SOAP_FMAC2 soap_inint(struct soap*, const char *tag, int *p, const char *, int);
2127
 
SOAP_FMAC1 char* SOAP_FMAC2 soap_inbyte(struct soap*, const char *tag, char *p, const char *, int);
2128
 
SOAP_FMAC1 long* SOAP_FMAC2 soap_inlong(struct soap*, const char *tag, long *p, const char *, int);
2129
 
SOAP_FMAC1 LONG64* SOAP_FMAC2 soap_inLONG64(struct soap*, const char *tag, LONG64 *p, const char *, int);
2130
 
SOAP_FMAC1 short* SOAP_FMAC2 soap_inshort(struct soap*, const char *tag, short *p, const char *, int);
2131
 
SOAP_FMAC1 float* SOAP_FMAC2 soap_infloat(struct soap*, const char *tag, float *p, const char *, int);
2132
 
SOAP_FMAC1 double* SOAP_FMAC2 soap_indouble(struct soap*, const char *tag, double *p, const char *, int);
2133
 
SOAP_FMAC1 unsigned char* SOAP_FMAC2 soap_inunsignedByte(struct soap*, const char *tag, unsigned char *p, const char *, int);
2134
 
SOAP_FMAC1 unsigned short* SOAP_FMAC2 soap_inunsignedShort(struct soap*, const char *tag, unsigned short *p, const char *, int);
2135
 
SOAP_FMAC1 unsigned int* SOAP_FMAC2 soap_inunsignedInt(struct soap*, const char *tag, unsigned int *p, const char *, int);
2136
 
SOAP_FMAC1 unsigned long* SOAP_FMAC2 soap_inunsignedLong(struct soap*, const char *tag, unsigned long *p, const char *, int);
2137
 
SOAP_FMAC1 ULONG64* SOAP_FMAC2 soap_inULONG64(struct soap*, const char *tag, ULONG64 *p, const char *, int);
2138
 
SOAP_FMAC1 char** SOAP_FMAC2 soap_instring(struct soap*, const char *tag, char **p, const char *, int, int, long, long);
2139
 
SOAP_FMAC1 char** SOAP_FMAC2 soap_inliteral(struct soap*, const char *tag, char **p);
2140
 
 
2141
 
#ifndef WITH_LEAN
2142
 
SOAP_FMAC1 time_t* SOAP_FMAC2 soap_indateTime(struct soap*, const char *tag, time_t *p, const char *, int);
2143
 
SOAP_FMAC1 time_t SOAP_FMAC2 soap_timegm(struct tm*);
2144
 
#endif
2145
 
 
2146
 
#ifndef WITH_LEANER
2147
 
SOAP_FMAC1 wchar_t** SOAP_FMAC2 soap_inwstring(struct soap*, const char *tag, wchar_t **p, const char *, int, long, long);
2148
 
SOAP_FMAC1 wchar_t** SOAP_FMAC2 soap_inwliteral(struct soap*, const char *tag, wchar_t **p);
2149
 
#endif
2150
 
 
2151
 
SOAP_FMAC1 int SOAP_FMAC2 soap_outbyte(struct soap*, const char *tag, int id, const char *p, const char *, int);
2152
 
SOAP_FMAC1 int SOAP_FMAC2 soap_outshort(struct soap*, const char *tag, int id, const short *p, const char *, int);
2153
 
SOAP_FMAC1 int SOAP_FMAC2 soap_outint(struct soap*, const char *tag, int id, const int *p, const char *, int);
2154
 
SOAP_FMAC1 int SOAP_FMAC2 soap_outlong(struct soap*, const char *tag, int id, const long *p, const char *, int);
2155
 
SOAP_FMAC1 int SOAP_FMAC2 soap_outLONG64(struct soap*, const char *tag, int id, const LONG64 *p, const char *, int);
2156
 
SOAP_FMAC1 int SOAP_FMAC2 soap_outfloat(struct soap*, const char *tag, int id, const float *p, const char *, int);
2157
 
SOAP_FMAC1 int SOAP_FMAC2 soap_outdouble(struct soap*, const char *tag, int id, const double *p, const char *, int);
2158
 
SOAP_FMAC1 int SOAP_FMAC2 soap_outunsignedByte(struct soap*, const char *tag, int id, const unsigned char *p, const char *, int);
2159
 
SOAP_FMAC1 int SOAP_FMAC2 soap_outunsignedShort(struct soap*, const char *tag, int id, const unsigned short *p, const char *, int);
2160
 
SOAP_FMAC1 int SOAP_FMAC2 soap_outunsignedInt(struct soap*, const char *tag, int id, const unsigned int *p, const char *, int);
2161
 
SOAP_FMAC1 int SOAP_FMAC2 soap_outunsignedLong(struct soap*, const char *tag, int id, const unsigned long *p, const char *, int);
2162
 
SOAP_FMAC1 int SOAP_FMAC2 soap_outULONG64(struct soap*, const char *tag, int id, const ULONG64 *p, const char *, int);
2163
 
SOAP_FMAC1 int SOAP_FMAC2 soap_outstring(struct soap*, const char *tag, int id, char *const*p, const char *, int);
2164
 
SOAP_FMAC1 int SOAP_FMAC2 soap_outliteral(struct soap*, const char *tag, char *const*p, const char *type);
2165
 
 
2166
 
#ifndef WITH_LEAN
2167
 
SOAP_FMAC1 int SOAP_FMAC2 soap_outdateTime(struct soap*, const char *tag, int id, const time_t *p, const char *, int);
2168
 
#endif
2169
 
 
2170
 
#ifndef WITH_LEANER
2171
 
SOAP_FMAC1 int SOAP_FMAC2 soap_outwstring(struct soap*, const char *tag, int id, wchar_t *const*p, const char *, int);
2172
 
SOAP_FMAC1 int SOAP_FMAC2 soap_outwliteral(struct soap*, const char *tag, wchar_t *const*p, const char *type);
2173
 
#endif
2174
 
 
2175
 
#ifndef WITH_LEANER
2176
 
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);
2177
 
SOAP_FMAC1 int SOAP_FMAC2 soap_move(struct soap*, long);
2178
 
SOAP_FMAC1 size_t SOAP_FMAC2 soap_tell(struct soap*);
2179
 
SOAP_FMAC1 char* SOAP_FMAC2 soap_dime_option(struct soap*, unsigned short, const char*);
2180
 
SOAP_FMAC1 int SOAP_FMAC2 soap_getdimehdr(struct soap*);
2181
 
SOAP_FMAC1 int SOAP_FMAC2 soap_getdime(struct soap*);
2182
 
SOAP_FMAC1 int SOAP_FMAC2 soap_putdimehdr(struct soap*);
2183
 
SOAP_FMAC1 int SOAP_FMAC2 soap_putdime(struct soap*);
2184
 
SOAP_FMAC1 int SOAP_FMAC2 soap_getmimehdr(struct soap*);
2185
 
SOAP_FMAC1 int SOAP_FMAC2 soap_getmime(struct soap*);
2186
 
SOAP_FMAC1 int SOAP_FMAC2 soap_putmimehdr(struct soap*, struct soap_multipart*);
2187
 
SOAP_FMAC1 int SOAP_FMAC2 soap_putmime(struct soap*);
2188
 
SOAP_FMAC1 void SOAP_FMAC2 soap_set_dime(struct soap*);
2189
 
SOAP_FMAC1 void SOAP_FMAC2 soap_set_mime(struct soap*, const char *boundary, const char *start);
2190
 
SOAP_FMAC1 void SOAP_FMAC2 soap_clr_dime(struct soap*);
2191
 
SOAP_FMAC1 void SOAP_FMAC2 soap_clr_mime(struct soap*);
2192
 
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);
2193
 
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);
2194
 
SOAP_FMAC1 void SOAP_FMAC2 soap_post_check_mime_attachments(struct soap *soap);
2195
 
SOAP_FMAC1 int SOAP_FMAC2 soap_check_mime_attachments(struct soap *soap);
2196
 
SOAP_FMAC1 struct soap_multipart* SOAP_FMAC2 soap_get_mime_attachment(struct soap *soap, void *handle);
2197
 
SOAP_FMAC1 struct soap_multipart* SOAP_FMAC2 soap_next_multipart(struct soap_multipart*);
2198
 
SOAP_FMAC1 int SOAP_FMAC2 soap_match_cid(struct soap*, const char*, const char*);
2199
 
#endif
2200
 
 
2201
 
SOAP_FMAC1 int SOAP_FMAC2 soap_register_plugin_arg(struct soap*, int (*fcreate)(struct soap*, struct soap_plugin*, void*), void*);
2202
 
SOAP_FMAC1 void* SOAP_FMAC2 soap_lookup_plugin(struct soap*, const char*);
2203
 
 
2204
 
SOAP_FMAC1 const char* SOAP_FMAC2 soap_attr_value(struct soap *soap, const char *name, int flag);
2205
 
SOAP_FMAC1 int SOAP_FMAC2 soap_set_attr(struct soap *soap, const char *name, const char *value);
2206
 
SOAP_FMAC1 void SOAP_FMAC2 soap_clr_attr(struct soap *soap);
2207
 
 
2208
 
#ifdef WITH_COOKIES
2209
 
SOAP_FMAC1 void SOAP_FMAC2 soap_getcookies(struct soap *soap, const char *val);
2210
 
SOAP_FMAC1 size_t SOAP_FMAC2 soap_encode_cookie(const char*, char*, size_t);
2211
 
SOAP_FMAC1 extern struct soap_cookie* SOAP_FMAC2 soap_set_cookie(struct soap*, const char*, const char*, const char*, const char*);
2212
 
SOAP_FMAC1 extern struct soap_cookie* SOAP_FMAC2 soap_cookie(struct soap*, const char*, const char*, const char*);
2213
 
SOAP_FMAC1 extern char* SOAP_FMAC2 soap_cookie_value(struct soap*, const char*, const char*, const char*);
2214
 
SOAP_FMAC1 extern char* SOAP_FMAC2 soap_env_cookie_value(struct soap*, const char*, const char*, const char*);
2215
 
SOAP_FMAC1 extern time_t SOAP_FMAC2 soap_cookie_expire(struct soap*, const char*, const char*, const char*);
2216
 
SOAP_FMAC1 extern int SOAP_FMAC2 soap_set_cookie_expire(struct soap*, const char*, long, const char*, const char*);
2217
 
SOAP_FMAC1 extern int SOAP_FMAC2 soap_set_cookie_session(struct soap*, const char*, const char*, const char*);
2218
 
SOAP_FMAC1 extern int SOAP_FMAC2 soap_clr_cookie_session(struct soap*, const char*, const char*, const char*);
2219
 
SOAP_FMAC1 extern void SOAP_FMAC2 soap_clr_cookie(struct soap*, const char*, const char*, const char*);
2220
 
SOAP_FMAC1 extern int SOAP_FMAC2 soap_getenv_cookies(struct soap*);
2221
 
SOAP_FMAC1 extern struct soap_cookie* SOAP_FMAC2 soap_copy_cookies(struct soap*, struct soap*);
2222
 
SOAP_FMAC1 extern void SOAP_FMAC2 soap_free_cookies(struct soap*);
2223
 
#endif
2224
 
 
2225
 
#ifdef __cplusplus
2226
 
} /* extern "C" */
2227
 
#endif
2228
 
 
2229
 
#endif