~ifolder-dev/simias/trunk-packaging

« back to all changes in this revision

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