~ifolder-dev/simias/trunk-packaging

« back to all changes in this revision

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