00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050 #ifdef WITH_SOAPDEFS_H
00051 # include "soapdefs.h"
00052 #endif
00053
00054 #ifndef _THREAD_SAFE
00055 # define _THREAD_SAFE
00056 #endif
00057
00058 #ifndef OPENSERVER
00059 # ifndef _REENTRANT
00060 # define _REENTRANT
00061 # endif
00062 #endif
00063
00064 #ifndef SOAP_BEGIN_NAMESPACE
00065 # define SOAP_BEGIN_NAMESPACE(name)
00066 #endif
00067
00068 #ifndef SOAP_END_NAMESPACE
00069 # define SOAP_END_NAMESPACE(name)
00070 #endif
00071
00072 #ifndef SOAP_FMAC1
00073 # define SOAP_FMAC1
00074 #endif
00075
00076 #ifndef SOAP_FMAC2
00077 # define SOAP_FMAC2
00078 #endif
00079
00080 #ifndef SOAP_FMAC3
00081 # define SOAP_FMAC3
00082 #endif
00083
00084 #ifndef SOAP_FMAC4
00085 # define SOAP_FMAC4
00086 #endif
00087
00088 #ifndef SOAP_FMAC5
00089 # define SOAP_FMAC5
00090 #endif
00091
00092 #ifndef SOAP_FMAC6
00093 # define SOAP_FMAC6
00094 #endif
00095
00096 #ifndef SOAP_CMAC
00097 # define SOAP_CMAC
00098 #endif
00099
00100 #ifndef SOAP_NMAC
00101 # define SOAP_NMAC
00102 #endif
00103
00104 #ifndef SOAP_SOURCE_STAMP
00105 # define SOAP_SOURCE_STAMP(str)
00106 #endif
00107
00108 #ifdef WITH_LEANER
00109 # ifndef WITH_LEAN
00110 # define WITH_LEAN
00111 # endif
00112 #endif
00113
00114 #ifdef WITH_LEAN
00115 # ifdef WITH_COOKIES
00116 # error "Cannot build WITH_LEAN code WITH_COOKIES enabled"
00117 # endif
00118 #endif
00119
00120 #ifndef STDSOAP_H
00121 #define STDSOAP_H
00122
00123
00124 #if (defined(__vxworks) || defined(__VXWORKS__))
00125 #define VXWORKS
00126 #endif
00127
00128
00129 #ifdef _WIN32
00130 # ifndef WIN32
00131 # define WIN32
00132 # endif
00133 #endif
00134
00135 #ifdef UNDER_CE
00136 # ifndef WIN32
00137 # define WIN32
00138 # endif
00139 #endif
00140
00141 #ifdef __BORLANDC__
00142 # ifdef __WIN32__
00143 # ifndef WIN32
00144 # define WIN32
00145 # endif
00146 # endif
00147 #endif
00148
00149 #ifdef __CYGWIN__
00150 # ifndef CYGWIN
00151 # define CYGWIN
00152 # endif
00153 #endif
00154
00155 #ifdef __SYMBIAN32__
00156 # define SYMBIAN
00157 #endif
00158
00159 #ifdef __MWERKS__
00160 # define PALM
00161 #endif
00162
00163 #ifdef PALM_GCC
00164 # define PALM
00165 #endif
00166
00167 #ifdef HAVE_CONFIG_H
00168 # include "config.h"
00169 #else
00170 # if defined(UNDER_CE)
00171 # define WITH_LEAN
00172 # elif defined(WIN32)
00173 # define HAVE_STRRCHR
00174 # define HAVE_STRTOD
00175 # define HAVE_STRTOL
00176 # define HAVE_STRTOUL
00177 # define HAVE_SYS_TIMEB_H
00178 # define HAVE_FTIME
00179 # elif defined(CYGWIN)
00180 # define HAVE_STRRCHR
00181 # define HAVE_STRTOD
00182 # define HAVE_STRTOL
00183 # define HAVE_STRTOUL
00184 # define HAVE_SYS_TIMEB_H
00185 # define HAVE_FTIME
00186 # define HAVE_RAND_R
00187 # define HAVE_GMTIME_R
00188 # define HAVE_LOCALTIME_R
00189 # elif defined(__APPLE__)
00190 # define HAVE_STRRCHR
00191 # define HAVE_STRTOD
00192 # define HAVE_STRTOL
00193 # define HAVE_STRTOUL
00194 # define HAVE_RAND_R
00195 # define HAVE_GMTIME_R
00196 # define HAVE_LOCALTIME_R
00197 # define HAVE_TIMEGM
00198 # elif defined(_AIXVERSION_431)
00199 # define HAVE_STRRCHR
00200 # define HAVE_STRTOD
00201 # define HAVE_STRTOL
00202 # define HAVE_STRTOUL
00203 # define HAVE_SYS_TIMEB_H
00204 # define HAVE_FTIME
00205 # define HAVE_RAND_R
00206 # define HAVE_GMTIME_R
00207 # define HAVE_LOCALTIME_R
00208 # elif defined(HP_UX)
00209 # define HAVE_STRRCHR
00210 # define HAVE_STRTOD
00211 # define HAVE_STRTOL
00212 # define HAVE_STRTOUL
00213 # define HAVE_SYS_TIMEB_H
00214 # define HAVE_FTIME
00215 # define HAVE_RAND_R
00216 # define HAVE_GMTIME_R
00217 # define HAVE_LOCALTIME_R
00218 # elif defined(FREEBSD)
00219 # define HAVE_STRRCHR
00220 # define HAVE_STRTOD
00221 # define HAVE_STRTOL
00222 # define HAVE_STRTOUL
00223 # define HAVE_GETTIMEOFDAY
00224 # define HAVE_RAND_R
00225 # define HAVE_GMTIME_R
00226 # define HAVE_LOCALTIME_R
00227 # elif defined(__VMS)
00228 # define HAVE_STRRCHR
00229 # define HAVE_STRTOD
00230 # define HAVE_STRTOL
00231 # define HAVE_STRTOUL
00232 # define HAVE_SYS_TIMEB_H
00233 # define HAVE_FTIME
00234 # define HAVE_RAND_R
00235 # define HAVE_GMTIME_R
00236 # define HAVE_LOCALTIME_R
00237 # elif defined(__GLIBC__)
00238 # define HAVE_STRRCHR
00239 # define HAVE_STRTOD
00240 # define HAVE_STRTOL
00241 # define HAVE_STRTOUL
00242 # define HAVE_SYS_TIMEB_H
00243 # define HAVE_FTIME
00244 # define HAVE_RAND_R
00245 # define HAVE_GMTIME_R
00246 # define HAVE_LOCALTIME_R
00247 # define HAVE_TIMEGM
00248 # elif defined(TRU64)
00249 # define HAVE_STRRCHR
00250 # define HAVE_STRTOD
00251 # define HAVE_STRTOL
00252 # define HAVE_STRTOUL
00253 # define HAVE_GETTIMEOFDAY
00254 # define HAVE_SYS_TIMEB_H
00255 # define HAVE_RAND_R
00256 # define HAVE_GMTIME_R
00257 # define HAVE_LOCALTIME_R
00258 # elif defined(MAC_CARBON)
00259 # define HAVE_STRRCHR
00260 # define HAVE_STRTOD
00261 # define HAVE_STRTOL
00262 # define HAVE_STRTOUL
00263 # define HAVE_FTIME
00264 # define HAVE_RAND_R
00265 # define HAVE_GETHOSTBYNAME_R
00266 # define HAVE_GMTIME_R
00267 # define HAVE_LOCALTIME_R
00268 # elif defined(PALM)
00269 # define HAVE_STRTOD
00270 # ifndef CONST2
00271 # define CONST2
00272 # endif
00273 # define WITH_LEAN
00274 # define WITH_NONAMESPACES
00275 # define _LINUX_CTYPE_H
00276 # include <sys_types.h>
00277 typedef WChar wchar_t;
00278 # define IGNORE_STDIO_STUBS
00279 typedef Int32 time_t;
00280 # define tm HostTmType
00281 # define strftime HostStrFTime
00282 # define mktime HostMkTime
00283 # define localtime HostLocalTime
00284 # define tm_year tm_year_
00285 # define tm_hour tm_hour_
00286 # define tm_mon tm_mon_
00287 # define tm_min tm_min_
00288 # define tm_sec tm_sec_
00289 # define tm_mday tm_mday_
00290 # define tm_isdst tm_isdst_
00291 # include <StdIOPalm.h>
00292 # define O_NONBLOCK FNONBIO
00293 # include <sys_time.h>
00294 # if 1
00295 void displayText(char *text);
00296 # define pdebug(s) displayText(s)
00297 # define pdebugV(s,p) sprintf(buff,s,p); displayText(buff)
00298 # else
00299 # define pdebug(s) WinDrawChars(s,strlen(s),10,10)
00300 # define pdebugV(s,p) sprintf(buff,s,p); WinDrawChars(buff,strlen(buff),10,10)
00301 # endif
00302 # include "palmmissing.h"
00303 # include "slib_socket.h"
00304 # elif defined(SYMBIAN)
00305 # define WITH_LEAN
00306 # define WITH_NONAMESPACES
00307 # define CONST2 const
00308 # undef SOAP_FMAC1
00309 # define SOAP_FMAC1 EXPORT_C
00310 # ifdef __cplusplus
00311 # include <e32std.h>
00312 # else
00313 # define TInt64 long
00314 # endif
00315
00316 # elif defined(VXWORKS)
00317 # define HAVE_STRRCHR
00318 # define HAVE_STRTOD
00319 # define HAVE_STRTOL
00320 # define HAVE_STRTOUL
00321 # define HAVE_RAND_R
00322 # define HAVE_PGMTIME_R
00323 # define HAVE_PLOCALTIME_R
00324 # define HAVE_MKTIME
00325
00326 # else
00327 # define HAVE_STRRCHR
00328 # define HAVE_STRTOD
00329 # define HAVE_STRTOL
00330 # define HAVE_STRTOUL
00331 # define HAVE_SYS_TIMEB_H
00332 # define HAVE_FTIME
00333 # define HAVE_RAND_R
00334 # define HAVE_GETHOSTBYNAME_R
00335 # define HAVE_GMTIME_R
00336 # define HAVE_LOCALTIME_R
00337 # endif
00338 #endif
00339
00340 #if defined(TRU64)
00341 # define SOAP_LONG_FORMAT "%ld"
00342 # define SOAP_ULONG_FORMAT "%lu"
00343 #elif defined(WIN32)
00344 # define SOAP_LONG_FORMAT "%I64d"
00345 # define SOAP_ULONG_FORMAT "%I64u"
00346 #endif
00347
00348 #ifndef SOAP_LONG_FORMAT
00349 # define SOAP_LONG_FORMAT "%lld"
00350 #endif
00351
00352 #ifndef SOAP_ULONG_FORMAT
00353 # define SOAP_ULONG_FORMAT "%llu"
00354 #endif
00355
00356 #ifndef SOAP_MALLOC
00357 # define SOAP_MALLOC(n) malloc(n)
00358 #endif
00359
00360 #ifndef SOAP_FREE
00361 # define SOAP_FREE(p) free(p)
00362 #endif
00363
00364 #include <stdlib.h>
00365
00366 #ifndef PALM
00367 # include <stdio.h>
00368 #endif
00369
00370 #ifndef PALM_GCC
00371 # include <string.h>
00372 #endif
00373
00374 #include <ctype.h>
00375 #include <limits.h>
00376
00377 #if defined(__cplusplus) && !defined(UNDER_CE)
00378 # include <iostream>
00379 using namespace std;
00380 #endif
00381
00382 #ifndef UNDER_CE
00383 # ifndef PALM
00384 # include <errno.h>
00385 # ifndef MAC_CARBON
00386 # include <sys/types.h>
00387 # endif
00388 # ifndef WITH_LEAN
00389 # ifdef HAVE_SYS_TIMEB_H
00390 # include <sys/timeb.h>
00391 # endif
00392 # include <time.h>
00393 # endif
00394 # endif
00395 #endif
00396
00397 #ifdef OPENSERVER
00398 # include <sys/socket.h>
00399 # include <sys/stream.h>
00400 # include <sys/protosw.h>
00401 extern int h_errno;
00402 #endif
00403
00404 #ifndef MAC_CARBON
00405 # ifndef WIN32
00406 # ifndef PALM
00407 # include <sys/socket.h>
00408
00409 # ifdef VXWORKS
00410 # include <sockLib.h>
00411 # endif
00412 # ifndef VXWORKS
00413
00414 # ifndef SYMBIAN
00415 # include <strings.h>
00416 # endif
00417
00418 # endif
00419
00420 # ifdef SUN_OS
00421 # include <sys/stream.h>
00422 # include <sys/socketvar.h>
00423 # endif
00424
00425 # ifdef VXWORKS
00426 # include <sys/times.h>
00427 # else
00428
00429 # include <sys/time.h>
00430
00431 # endif
00432
00433 # include <netinet/in.h>
00434 # include <netinet/tcp.h>
00435 # include <arpa/inet.h>
00436 # endif
00437 # endif
00438 #endif
00439
00440 #ifdef WITH_FASTCGI
00441 # include <fcgi_stdio.h>
00442 #endif
00443
00444 #ifdef WITH_OPENSSL
00445 # define OPENSSL_NO_KRB5
00446 # include <openssl/ssl.h>
00447 # include <openssl/err.h>
00448 # include <openssl/rand.h>
00449 # ifndef ALLOW_OLD_VERSIONS
00450 # if (OPENSSL_VERSION_NUMBER < 0x00905100L)
00451 # error "Must use OpenSSL 0.9.6 or later"
00452 # endif
00453 # endif
00454 #endif
00455
00456 #ifdef WITH_GZIP
00457 # ifndef WITH_ZLIB
00458 # define WITH_ZLIB
00459 # endif
00460 #endif
00461
00462 #ifdef WITH_CASEINSENSITIVETAGS
00463 # define SOAP_STRCMP soap_tag_cmp
00464 #else
00465 # define SOAP_STRCMP strcmp
00466 #endif
00467
00468 #ifdef WITH_ZLIB
00469 # include <zlib.h>
00470 #endif
00471
00472 #ifndef PALM_GCC
00473 # include <math.h>
00474 #endif
00475
00476
00477
00478 #ifdef __cplusplus
00479 extern "C" {
00480 #endif
00481
00482 #define soap_get0(soap) (((soap)->bufidx>=(soap)->buflen && soap_recv(soap)) ? EOF : (unsigned char)(soap)->buf[(soap)->bufidx])
00483 #define soap_get1(soap) (((soap)->bufidx>=(soap)->buflen && soap_recv(soap)) ? EOF : (unsigned char)(soap)->buf[(soap)->bufidx++])
00484 #define soap_revget1(soap) ((soap)->bufidx--)
00485 #define soap_unget(soap, c) ((soap)->ahead = c)
00486 #define soap_register_plugin(soap, plugin) soap_register_plugin_arg(soap, plugin, NULL)
00487 #define soap_imode(soap, n) ((soap)->mode = (soap)->imode = (n))
00488 #define soap_set_imode(soap, n) ((soap)->mode = (soap)->imode |= (n))
00489 #define soap_clr_imode(soap, n) ((soap)->mode = (soap)->imode &= ~(n))
00490 #define soap_omode(soap, n) ((soap)->mode = (soap)->omode = (n))
00491 #define soap_set_omode(soap, n) ((soap)->mode = (soap)->omode |= (n))
00492 #define soap_clr_omode(soap, n) ((soap)->mode = (soap)->omode &= ~(n))
00493 #define soap_destroy(soap) soap_delete((soap), NULL)
00494
00495 #ifdef WIN32
00496 # ifndef UNDER_CE
00497 # include <io.h>
00498 # include <fcntl.h>
00499 # endif
00500 # include <winsock.h>
00501
00502 # ifdef WITH_IPV6
00503 # include <ws2tcpip.h>
00504 # include <wspiapi.h>
00505 # endif
00506 #else
00507 # ifdef VXWORKS
00508 # include <hostLib.h>
00509 # include <ioctl.h>
00510 # include <ioLib.h>
00511 # endif
00512
00513 # ifndef MAC_CARBON
00514 # ifndef PALM
00515 # include <netdb.h>
00516 # include <netinet/in.h>
00517 # endif
00518 # include <unistd.h>
00519 # include <fcntl.h>
00520 # endif
00521 #endif
00522
00523 #ifdef WIN32
00524 # define SOAP_SOCKET SOCKET
00525 #else
00526 # define SOAP_SOCKET int
00527 # define closesocket(n) close(n)
00528 #endif
00529
00530 #define soap_valid_socket(n) ((n) >= 0)
00531 #define SOAP_INVALID_SOCKET (-1)
00532
00533
00534 #ifdef VXWORKS
00535 # ifdef __INCmathh
00536 # define _MATH_H
00537 # include <private/mathP.h>
00538 # define isnan(num) isNan(num)
00539 # endif
00540 #endif
00541
00542 #ifdef WIN32
00543 # define _MATH_H
00544 # include <float.h>
00545 # define isnan(num) _isnan(num)
00546 #endif
00547
00548
00549 #if (!defined(_MATH_H) && !defined(_MATH_INCLUDED))
00550 # ifndef isnan
00551 # define isnan(_) (0)
00552 # endif
00553 #endif
00554
00555 extern const struct soap_double_nan { unsigned int n1, n2; } soap_double_nan;
00556
00557 #if defined(SYMBIAN)
00558 # define LONG64 TInt64
00559 # define ULONG64 TInt64
00560 #elif !defined(WIN32)
00561 # define LONG64 long long
00562 # define ULONG64 unsigned LONG64
00563 #elif defined(UNDER_CE)
00564 # define LONG64 __int64
00565 # define ULONG64 unsigned LONG64
00566 #elif defined(__BORLANDC__)
00567 # define LONG64 __int64
00568 # define ULONG64 unsigned LONG64
00569 #endif
00570
00571 #ifdef WIN32
00572 # define SOAP_EINTR WSAEINTR
00573 # define SOAP_EAGAIN WSAEWOULDBLOCK
00574 # define SOAP_EWOULDBLOCK WSAEWOULDBLOCK
00575 # define SOAP_EINPROGRESS WSAEINPROGRESS
00576 #else
00577 # define SOAP_EINTR EINTR
00578 # define SOAP_EAGAIN EAGAIN
00579 # ifdef SYMBIAN
00580 # define SOAP_EWOULDBLOCK 9898
00581 # define SOAP_EINPROGRESS 9899
00582 # else
00583 # define SOAP_EWOULDBLOCK EWOULDBLOCK
00584 # define SOAP_EINPROGRESS EINPROGRESS
00585 # endif
00586 #endif
00587
00588 #ifdef WIN32
00589 # ifdef UNDER_CE
00590 # define soap_errno GetLastError()
00591 # define soap_socket_errno GetLastError()
00592 # else
00593 # define soap_errno GetLastError()
00594 # define soap_socket_errno WSAGetLastError()
00595 # endif
00596 #else
00597 # define soap_errno errno
00598 # define soap_socket_errno errno
00599 #endif
00600
00601 #ifndef SOAP_BUFLEN
00602 # ifndef WITH_LEAN
00603 # define SOAP_BUFLEN (32768)
00604 # else
00605 # define SOAP_BUFLEN (2048)
00606 # endif
00607 #endif
00608 #ifndef SOAP_PTRHASH
00609 # ifndef WITH_LEAN
00610 # define SOAP_PTRHASH (1024)
00611 # else
00612 # define SOAP_PTRHASH (16)
00613 # endif
00614 #endif
00615 #ifndef SOAP_IDHASH
00616 # ifndef WITH_LEAN
00617 # define SOAP_IDHASH (256)
00618 # else
00619 # define SOAP_IDHASH (16)
00620 # endif
00621 #endif
00622 #ifndef SOAP_BLKLEN
00623 # define SOAP_BLKLEN (256)
00624 #endif
00625 #ifndef SOAP_TAGLEN
00626 # define SOAP_TAGLEN (256)
00627 #endif
00628 #ifndef SOAP_HDRLEN
00629 # ifndef WITH_LEAN
00630 # define SOAP_HDRLEN (8192)
00631 # else
00632 # define SOAP_HDRLEN (1024)
00633 # endif
00634 #endif
00635 #ifndef SOAP_MAXDIMS
00636 # define SOAP_MAXDIMS (16)
00637 #endif
00638
00639 #ifndef SOAP_MAXLOGS
00640 # define SOAP_MAXLOGS (3)
00641 # define SOAP_INDEX_RECV (0)
00642 # define SOAP_INDEX_SENT (1)
00643 # define SOAP_INDEX_TEST (2)
00644 #endif
00645
00646 #ifndef SOAP_MAXKEEPALIVE
00647 # define SOAP_MAXKEEPALIVE (100)
00648 #endif
00649
00650
00651 #ifdef VXWORKS
00652 # ifndef FLT_MAX
00653 # define FLT_MAX _ARCH_FLT_MAX
00654 # endif
00655 # ifndef DBL_MAX
00656 # define DBL_MAX _ARCH_DBL_MAX
00657 # endif
00658 #endif
00659
00660
00661 #ifndef FLT_NAN
00662 # if (defined(_MATH_H) || defined(_MATH_INCLUDED))
00663 # define FLT_NAN (*(float*)&soap_double_nan)
00664 # else
00665 # define FLT_NAN (0.0)
00666 # endif
00667 #endif
00668
00669 #ifndef FLT_PINFTY
00670 # ifdef FLT_MAX
00671 # define FLT_PINFTY FLT_MAX
00672 # else
00673 # ifdef HUGE_VAL
00674 # define FLT_PINFTY (float)HUGE_VAL
00675 # else
00676 # ifdef FLOAT_MAX
00677 # define FLT_PINFTY FLOAT_MAX
00678 # else
00679 # define FLT_PINFTY (3.40282347e+38)
00680 # endif
00681 # endif
00682 # endif
00683 #endif
00684
00685 #ifndef FLT_NINFTY
00686 # define FLT_NINFTY (-FLT_PINFTY)
00687 #endif
00688
00689 #ifndef DBL_NAN
00690 # if (defined(_MATH_H) || defined(_MATH_INCLUDED))
00691 # define DBL_NAN (*(double*)&soap_double_nan)
00692 # else
00693 # define DBL_NAN (0.0)
00694 # endif
00695 #endif
00696 #ifndef DBL_PINFTY
00697 # ifdef DBL_MAX
00698 # define DBL_PINFTY DBL_MAX
00699 # else
00700 # ifdef HUGE_VAL
00701 # define DBL_PINFTY (double)HUGE_VAL
00702 # else
00703 # ifdef DOUBLE_MAX
00704 # define DBL_PINFTY DOUBLE_MAX
00705 # else
00706 # define DBL_PINFTY (1.7976931348623157e+308)
00707 # endif
00708 # endif
00709 # endif
00710 #endif
00711
00712 #ifndef DBL_NINFTY
00713 # define DBL_NINFTY (-DBL_PINFTY)
00714 #endif
00715
00716
00717
00718 #define SOAP_EOF EOF
00719 #define SOAP_ERR EOF
00720 #define SOAP_OK 0
00721 #define SOAP_CLI_FAULT 1
00722 #define SOAP_SVR_FAULT 2
00723 #define SOAP_TAG_MISMATCH 3
00724 #define SOAP_TYPE 4
00725 #define SOAP_SYNTAX_ERROR 5
00726 #define SOAP_NO_TAG 6
00727 #define SOAP_IOB 7
00728 #define SOAP_MUSTUNDERSTAND 8
00729 #define SOAP_NAMESPACE 9
00730 #define SOAP_OBJ_MISMATCH 10
00731 #define SOAP_FATAL_ERROR 11
00732 #define SOAP_FAULT 12
00733 #define SOAP_NO_METHOD 13
00734 #define SOAP_GET_METHOD 14
00735 #define SOAP_EOM 15
00736 #define SOAP_NULL 16
00737 #define SOAP_MULTI_ID 17
00738 #define SOAP_MISSING_ID 18
00739 #define SOAP_HREF 19
00740 #define SOAP_TCP_ERROR 20
00741 #define SOAP_HTTP_ERROR 21
00742 #define SOAP_SSL_ERROR 22
00743 #define SOAP_ZLIB_ERROR 23
00744 #define SOAP_DIME_ERROR 24
00745 #define SOAP_EOD 25
00746 #define SOAP_VERSIONMISMATCH 26
00747 #define SOAP_DIME_MISMATCH 27
00748 #define SOAP_PLUGIN_ERROR 28
00749 #define SOAP_DATAENCODINGUNKNOWN 29
00750 #define SOAP_REQUIRED 30
00751 #define SOAP_OCCURS 31
00752
00753 #define soap_xml_error_check(e) ((e) == SOAP_TAG_MISMATCH || (e) == SOAP_SYNTAX_ERROR || (e) == SOAP_NAMESPACE || (e) == SOAP_MULTI_ID || (e) == SOAP_MISSING_ID || (e) == SOAP_REQIRED || (e) == SOAP_OCCURS)
00754 #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 || (e) == SOAP_OBJ_MISMATCH || (e) == SOAP_NULL)
00755 #define soap_tcp_error_check(e) ((e) == SOAP_EOF || (e) == SOAP_TCP_ERROR)
00756 #define soap_ssl_error_check(e) ((e) == SOAP_SSL_ERROR)
00757 #define soap_zlib_error_check(e) ((e) == SOAP_ZLIB_ERROR)
00758 #define soap_dime_error_check(e) ((e) == SOAP_DIME_ERROR || (e) == SOAP_DIME_MISMATCH)
00759 #define soap_http_error_check(e) ((e) == SOAP_HTTP_ERROR || (e) == SOAP_GET_METHOD || ((e) >= 100 && (e) < 600))
00760
00761
00762
00763
00764
00765 #define SOAP_STOP 1000
00766 #define SOAP_HTML 1001
00767 #define SOAP_FILE 1002
00768
00769
00770
00771 #define SOAP_POST 1003
00772 #define SOAP_GET 1104
00773
00774
00775
00776 #define SOAP_DIME_CF 0x01
00777 #define SOAP_DIME_ME 0x02
00778 #define SOAP_DIME_MB 0x04
00779 #define SOAP_DIME_VERSION 0x08
00780 #define SOAP_DIME_MEDIA 0x10
00781 #define SOAP_DIME_ABSURI 0x20
00782
00783
00784
00785 #define SOAP_ZLIB_NONE 0x00
00786 #define SOAP_ZLIB_DEFLATE 0x01
00787 #define SOAP_ZLIB_INFLATE 0x02
00788 #define SOAP_ZLIB_GZIP 0x02
00789
00790
00791
00792 #define SOAP_IO 0x000003
00793 #define SOAP_IO_FLUSH 0x000000
00794 #define SOAP_IO_BUFFER 0x000001
00795 #define SOAP_IO_STORE 0x000002
00796 #define SOAP_IO_CHUNK 0x000003
00797
00798 #define SOAP_IO_LENGTH 0x000004
00799 #define SOAP_IO_KEEPALIVE 0x000008
00800
00801 #define SOAP_ENC_XML 0x000010
00802 #define SOAP_ENC_DIME 0x000020
00803 #define SOAP_ENC_ZLIB 0x000040
00804 #define SOAP_ENC_SSL 0x000080
00805
00806 #define SOAP_XML_STRICT 0x000100
00807 #define SOAP_XML_CANONICAL 0x000200
00808 #define SOAP_XML_TREE 0x000400
00809 #define SOAP_XML_GRAPH 0x000800
00810 #define SOAP_XML_NIL 0x001000
00811 #define SOAP_XML_DOM 0x002000
00812
00813 #define SOAP_C_NOIOB 0x010000
00814 #define SOAP_C_UTFSTRING 0x020000
00815 #define SOAP_C_LATIN 0x040000
00816
00817 #define SOAP_DOM_TREE 0x100000
00818 #define SOAP_DOM_NODE 0x200000
00819
00820 #define SOAP_IO_DEFAULT SOAP_IO_FLUSH
00821
00822
00823
00824 #define SOAP_SSL_NO_AUTHENTICATION 0x00
00825 #define SOAP_SSL_REQUIRE_SERVER_AUTHENTICATION 0x01
00826 #define SOAP_SSL_REQUIRE_CLIENT_AUTHENTICATION 0x02
00827
00828 #define SOAP_SSL_DEFAULT SOAP_SSL_REQUIRE_SERVER_AUTHENTICATION
00829
00830
00831
00832 #define SOAP_BEGIN 0
00833 #define SOAP_IN_ENVELOPE 2
00834 #define SOAP_IN_HEADER 3
00835 #define SOAP_END_HEADER 4
00836 #define SOAP_IN_BODY 5
00837 #define SOAP_END_BODY 6
00838 #define SOAP_END_ENVELOPE 7
00839 #define SOAP_END 8
00840
00841
00842
00843 #ifndef WITH_LEAN
00844 # ifdef DEBUG
00845 # ifndef SOAP_DEBUG
00846 # define SOAP_DEBUG
00847 # endif
00848 # endif
00849 #endif
00850
00851 #ifdef SOAP_DEBUG
00852 # ifndef SOAP_MESSAGE
00853 # define SOAP_MESSAGE fprintf
00854 # endif
00855 # ifndef DBGLOG
00856 # define DBGLOG(DBGFILE, CMD) \
00857 { if (soap)\
00858 { if (!soap->fdebug[SOAP_INDEX_##DBGFILE])\
00859 soap_open_logfile(soap, SOAP_INDEX_##DBGFILE);\
00860 if (soap->fdebug[SOAP_INDEX_##DBGFILE])\
00861 { FILE *fdebug = soap->fdebug[SOAP_INDEX_##DBGFILE];\
00862 CMD;\
00863 fflush(fdebug);\
00864 }\
00865 }\
00866 }
00867 # endif
00868 # ifndef DBGMSG
00869 # define DBGMSG(DBGFILE, MSG, LEN) \
00870 { if (soap)\
00871 { if (!soap->fdebug[SOAP_INDEX_##DBGFILE])\
00872 soap_open_logfile(soap, SOAP_INDEX_##DBGFILE);\
00873 if (soap->fdebug[SOAP_INDEX_##DBGFILE])\
00874 { fwrite((MSG), 1, (LEN), soap->fdebug[SOAP_INDEX_##DBGFILE]);\
00875 fflush(soap->fdebug[SOAP_INDEX_##DBGFILE]);\
00876 }\
00877 }\
00878 }
00879 # endif
00880 #else
00881 # define DBGLOG(DBGFILE, CMD)
00882 # define DBGMSG(DBGFILE, MSG, LEN)
00883 #endif
00884
00885 typedef long wchar;
00886
00887 struct Namespace
00888 { const char *id;
00889 const char *ns;
00890 const char *in;
00891 char *out;
00892 };
00893
00894 struct soap_nlist
00895 { struct soap_nlist *next;
00896 unsigned int level;
00897 short index;
00898 char *ns;
00899 char id[1];
00900 };
00901
00902 struct soap_blist
00903 { struct soap_blist *next;
00904 char *ptr;
00905 size_t size;
00906 };
00907
00908 struct soap_array
00909 { void *__ptr;
00910 int __size;
00911 };
00912
00913 struct soap_plist
00914 { struct soap_plist *next;
00915 const void *ptr;
00916 const struct soap_array *array;
00917 int type;
00918 int id;
00919 char mark1;
00920 char mark2;
00921 };
00922
00923 struct soap_clist
00924 { struct soap_clist *next;
00925 void *ptr;
00926 int type;
00927 int size;
00928 void (*fdelete)(struct soap_clist*);
00929 };
00930
00931 struct soap_ilist
00932 { struct soap_ilist *next;
00933 int type;
00934 size_t size;
00935 void *link;
00936 void *copy;
00937 struct soap_clist *clist;
00938 void *ptr;
00939 unsigned int level;
00940 char id[1];
00941 };
00942
00943 struct soap_attribute
00944 { struct soap_attribute *next;
00945 short visible;
00946 char *value;
00947 size_t size;
00948 char *ns;
00949 char name[1];
00950 };
00951
00952 struct soap_cookie
00953 { struct soap_cookie *next;
00954 char *name;
00955 char *value;
00956 char *domain;
00957 char *path;
00958 long expire;
00959 unsigned int version;
00960 short secure;
00961 short session;
00962 short env;
00963 short modified;
00964 };
00965
00966 struct soap_dom_attribute
00967 { struct soap_dom_attribute *next;
00968 const char *nstr;
00969 char *name;
00970 char *data;
00971 wchar_t *wide;
00972 struct soap *soap;
00973 #ifdef __cplusplus
00974 struct soap_dom_attribute &set(const char *nstr, const char *name);
00975 struct soap_dom_attribute &set(const char *data);
00976 void unlink();
00977 soap_dom_attribute();
00978 soap_dom_attribute(struct soap *soap);
00979 soap_dom_attribute(struct soap *soap, const char *nstr, const char *name, const char *data);
00980 ~soap_dom_attribute();
00981 #endif
00982 };
00983
00984 #ifdef __cplusplus
00985 class soap_dom_iterator
00986 { public:
00987 struct soap_dom_element *elt;
00988 const char *nstr;
00989 const char *name;
00990 int type;
00991 bool operator==(const soap_dom_iterator&) const;
00992 bool operator!=(const soap_dom_iterator&) const;
00993 struct soap_dom_element &operator*() const;
00994 soap_dom_iterator &operator++();
00995 soap_dom_iterator();
00996 soap_dom_iterator(struct soap_dom_element*);
00997 ~soap_dom_iterator();
00998 };
00999 #endif
01000
01001 struct soap_dom_element
01002 { struct soap_dom_element *next;
01003 struct soap_dom_element *prnt;
01004 struct soap_dom_element *elts;
01005 struct soap_dom_attribute *atts;
01006 const char *nstr;
01007 char *name;
01008 char *data;
01009 wchar_t *wide;
01010 int type;
01011 void *node;
01012 struct soap *soap;
01013 #ifdef __cplusplus
01014 typedef soap_dom_iterator iterator;
01015 struct soap_dom_element &set(const char *nstr, const char *name);
01016 struct soap_dom_element &set(const char *data);
01017 struct soap_dom_element &set(void *node, int type);
01018 struct soap_dom_element &add(struct soap_dom_element*);
01019 struct soap_dom_element &add(struct soap_dom_element&);
01020 struct soap_dom_element &add(struct soap_dom_attribute*);
01021 struct soap_dom_element &add(struct soap_dom_attribute&);
01022 soap_dom_iterator begin();
01023 soap_dom_iterator end();
01024 soap_dom_iterator find(const char *nstr, const char *name);
01025 soap_dom_iterator find(int type);
01026 void unlink();
01027 soap_dom_element();
01028 soap_dom_element(struct soap *soap);
01029 soap_dom_element(struct soap *soap, const char *nstr, const char *name);
01030 soap_dom_element(struct soap *soap, const char *nstr, const char *name, const char *data);
01031 soap_dom_element(struct soap *soap, const char *nstr, const char *name, void *node, int type);
01032 ~soap_dom_element();
01033 #endif
01034 };
01035
01036 #if defined(__cplusplus) && !defined(UNDER_CE)
01037 }
01038 extern ostream &operator<<(ostream&, const struct soap_dom_element&);
01039 extern istream &operator>>(istream&, struct soap_dom_element&);
01040 extern "C" {
01041 #endif
01042
01043 struct soap
01044 { short version;
01045 unsigned int mode;
01046 unsigned int imode;
01047 unsigned int omode;
01048 short copy;
01049 const char *float_format;
01050 const char *double_format;
01051 const char *dime_id_format;
01052 const char *http_version;
01053 const char *http_content;
01054 const char *encodingStyle;
01055 const char *actor;
01056 int recv_timeout;
01057 int send_timeout;
01058 int connect_timeout;
01059 int accept_timeout;
01060 int socket_flags;
01061 int connect_flags;
01062 int bind_flags;
01063 int accept_flags;
01064 struct Namespace *namespaces;
01065 struct Namespace *local_namespaces;
01066 struct soap_nlist *nlist;
01067 struct soap_blist *blist;
01068 struct soap_clist *clist;
01069 void *alist;
01070 struct soap_ilist *iht[SOAP_IDHASH];
01071 struct soap_plist *pht[SOAP_PTRHASH];
01072 struct SOAP_ENV__Header *header;
01073 struct SOAP_ENV__Fault *fault;
01074 void *user;
01075 struct soap_plugin *plugins;
01076 char *userid;
01077 char *passwd;
01078 int (*fpost)(struct soap*, const char*, const char*, int, const char*, const char*, size_t);
01079 int (*fget)(struct soap*);
01080 int (*fposthdr)(struct soap*, const char*, const char*);
01081 int (*fresponse)(struct soap*, int, size_t);
01082 int (*fparse)(struct soap*);
01083 int (*fparsehdr)(struct soap*, const char*, const char*);
01084 int (*fconnect)(struct soap*, const char*, const char*, int);
01085 int (*fdisconnect)(struct soap*);
01086 int (*fopen)(struct soap*, const char*, const char*, int);
01087 int (*faccept)(struct soap*, int, struct sockaddr*, int *n);
01088 int (*fclose)(struct soap*);
01089 int (*fsend)(struct soap*, const char*, size_t);
01090 size_t (*frecv)(struct soap*, char*, size_t);
01091 int (*fprepare)(struct soap*, const char*, size_t);
01092 int (*fignore)(struct soap*, const char*);
01093 void *(*fplugin)(struct soap*, const char*);
01094 void *(*fdimereadopen)(struct soap*, void*, const char*, const char*, const char*);
01095 void *(*fdimewriteopen)(struct soap*, const char*, const char*, const char*);
01096 void (*fdimereadclose)(struct soap*, void*);
01097 void (*fdimewriteclose)(struct soap*, void*);
01098 size_t (*fdimeread)(struct soap*, void*, char*, size_t);
01099 int (*fdimewrite)(struct soap*, void*, const char*, size_t);
01100 int master;
01101 int socket;
01102 #if defined(__cplusplus) && !defined(UNDER_CE)
01103 ostream *os;
01104 istream *is;
01105 #else
01106 void *os;
01107 void *is;
01108 #endif
01109 #ifndef UNDER_CE
01110 int sendfd;
01111 int recvfd;
01112 #else
01113 FILE *sendfd;
01114 FILE *recvfd;
01115 char errorstr[256];
01116 wchar_t werrorstr[256];
01117 #endif
01118 size_t bufidx;
01119 size_t buflen;
01120 wchar ahead;
01121 short cdata;
01122 short body;
01123 unsigned int level;
01124 size_t count;
01125 size_t length;
01126 char buf[SOAP_BUFLEN];
01127 char msgbuf[1024];
01128 char tmpbuf[1024];
01129 char tag[SOAP_TAGLEN];
01130 char id[SOAP_TAGLEN];
01131 char href[SOAP_TAGLEN];
01132 char type[SOAP_TAGLEN];
01133 char arrayType[SOAP_TAGLEN];
01134 char arraySize[SOAP_TAGLEN];
01135 char arrayOffset[SOAP_TAGLEN];
01136 short other;
01137 short root;
01138 short position;
01139 int positions[SOAP_MAXDIMS];
01140 struct soap_attribute *attributes;
01141 short encoding;
01142 short mustUnderstand;
01143 short null;
01144 short ns;
01145 short part;
01146 short alloced;
01147 short peeked;
01148 short dot_net_bug;
01149 size_t chunksize;
01150 size_t chunkbuflen;
01151 char endpoint[SOAP_TAGLEN];
01152 char path[SOAP_TAGLEN];
01153 char host[SOAP_TAGLEN];
01154 char *action;
01155 int port;
01156 short keep_alive;
01157 const char *proxy_host;
01158 int proxy_port;
01159 const char *proxy_userid;
01160 const char *proxy_passwd;
01161 int status;
01162 int error;
01163 int errmode;
01164 int errnum;
01165 unsigned long idnum;
01166 unsigned long ip;
01167 size_t dime_count;
01168 int dime_flags;
01169 size_t dime_size;
01170 size_t dime_chunksize;
01171 size_t dime_buflen;
01172 char *dime_ptr;
01173 char *dime_id;
01174 char *dime_type;
01175 char *dime_options;
01176 struct soap_dom_element *dom;
01177 #ifndef WITH_LEAN
01178 const char *logfile[SOAP_MAXLOGS];
01179 FILE *fdebug[SOAP_MAXLOGS];
01180 struct soap_cookie *cookies;
01181 const char *cookie_domain;
01182 const char *cookie_path;
01183 int cookie_max;
01184 #endif
01185 #ifdef WITH_OPENSSL
01186 int (*fsslauth)(struct soap*);
01187 int (*fsslverify)(int, X509_STORE_CTX*);
01188 BIO *bio;
01189 SSL *ssl;
01190 SSL_CTX *ctx;
01191 short require_server_auth;
01192 short require_client_auth;
01193 short rsa;
01194 const char *keyfile;
01195 const char *password;
01196 const char *dhfile;
01197 const char *cafile;
01198 const char *capath;
01199 const char *randfile;
01200 SSL_SESSION *session;
01201 char session_host[SOAP_TAGLEN];
01202 int session_port;
01203 #endif
01204 #ifdef WITH_ZLIB
01205 short zlib_state;
01206 short zlib_in;
01207 short zlib_out;
01208 z_stream d_stream;
01209 char z_buf[SOAP_BUFLEN];
01210 size_t z_buflen;
01211 unsigned short z_level;
01212 unsigned long z_crc;
01213 float z_ratio_in;
01214 float z_ratio_out;
01215 #endif
01216 #ifdef PALM
01217 UInt16 stdLibNum;
01218 UInt16 stdLib2Num;
01219 UInt16 stdLib3Num;
01220 UInt16 genLibNum;
01221 Err fH_errno;
01222 Err fErrno;
01223 Int32 timeout;
01224 NetHostInfoBufType hostInfo;
01225 UInt16 socketLibNum;
01226 #endif
01227
01228 #ifdef WMW_RPM_IO
01229 void *rpmreqid;
01230 #endif
01231
01232 };
01233
01234 struct soap_code_map
01235 { long code;
01236 const char *string;
01237 };
01238
01239 struct soap_plugin
01240 { struct soap_plugin *next;
01241 const char *id;
01242 void *data;
01243 int (*fcopy)(struct soap *soap, struct soap_plugin *dst, struct soap_plugin *src);
01244 void (*fdelete)(struct soap *soap, struct soap_plugin *p);
01245 };
01246
01247 #ifndef WITH_NONAMESPACES
01248 extern SOAP_NMAC struct Namespace namespaces[];
01249 #endif
01250
01251 SOAP_FMAC1 void SOAP_FMAC2 soap_fault(struct soap*);
01252 SOAP_FMAC1 const char** SOAP_FMAC2 soap_faultcode(struct soap*);
01253 SOAP_FMAC1 const char** SOAP_FMAC2 soap_faultstring(struct soap*);
01254 SOAP_FMAC1 const char** SOAP_FMAC2 soap_faultdetail(struct soap*);
01255 SOAP_FMAC1 void SOAP_FMAC2 soap_serializeheader(struct soap*);
01256 SOAP_FMAC1 int SOAP_FMAC2 soap_putheader(struct soap*);
01257 SOAP_FMAC1 int SOAP_FMAC2 soap_getheader(struct soap*);
01258 SOAP_FMAC1 void SOAP_FMAC2 soap_serializefault(struct soap*);
01259 SOAP_FMAC1 int SOAP_FMAC2 soap_putfault(struct soap*);
01260 SOAP_FMAC1 int SOAP_FMAC2 soap_getfault(struct soap*);
01261
01262 SOAP_FMAC1 int SOAP_FMAC2 soap_poll(struct soap*);
01263 SOAP_FMAC1 int SOAP_FMAC2 soap_connect_command(struct soap*, int, const char*, const char*);
01264 SOAP_FMAC1 int SOAP_FMAC2 soap_connect(struct soap*, const char*, const char*);
01265 SOAP_FMAC1 int SOAP_FMAC2 soap_bind(struct soap*, const char*, int, int);
01266 SOAP_FMAC1 int SOAP_FMAC2 soap_accept(struct soap*);
01267 SOAP_FMAC1 int SOAP_FMAC2 soap_ssl_accept(struct soap*);
01268
01269 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*);
01270 SOAP_FMAC1 int SOAP_FMAC2 soap_ssl_client_context(struct soap*, unsigned short, const char*, const char*, const char*, const char*, const char*);
01271
01272 SOAP_FMAC1 int SOAP_FMAC2 soap_puthttphdr(struct soap*, int status, size_t count);
01273
01274 SOAP_FMAC1 int SOAP_FMAC2 soap_hash(const char*);
01275 SOAP_FMAC1 void SOAP_FMAC2 soap_set_endpoint(struct soap*, const char*);
01276 SOAP_FMAC1 int SOAP_FMAC2 soap_flush_raw(struct soap*, const char*, size_t);
01277 SOAP_FMAC1 int SOAP_FMAC2 soap_flush(struct soap*);
01278 SOAP_FMAC1 wchar SOAP_FMAC2 soap_get(struct soap*);
01279 SOAP_FMAC1 wchar SOAP_FMAC2 soap_getchar(struct soap*);
01280 SOAP_FMAC1 int SOAP_FMAC2 soap_tag_cmp(const char*, const char*);
01281 SOAP_FMAC1 void SOAP_FMAC2 soap_set_fault(struct soap*);
01282 SOAP_FMAC1 int SOAP_FMAC2 soap_sender_fault(struct soap*, const char*, const char*);
01283 SOAP_FMAC1 int SOAP_FMAC2 soap_receiver_fault(struct soap*, const char*, const char*);
01284 SOAP_FMAC1 int SOAP_FMAC2 soap_set_sender_error(struct soap*, const char*, const char*, int);
01285 SOAP_FMAC1 int SOAP_FMAC2 soap_set_receiver_error(struct soap*, const char*, const char*, int);
01286
01287 SOAP_FMAC1 int SOAP_FMAC2 soap_send_raw(struct soap*, const char*, size_t);
01288 SOAP_FMAC1 int SOAP_FMAC2 soap_recv_raw(struct soap*);
01289 SOAP_FMAC1 int SOAP_FMAC2 soap_send(struct soap*, const char*);
01290 SOAP_FMAC1 int SOAP_FMAC2 soap_recv(struct soap*);
01291
01292 SOAP_FMAC1 int SOAP_FMAC2 soap_pututf8(struct soap*, unsigned long);
01293 SOAP_FMAC1 wchar SOAP_FMAC2 soap_getutf8(struct soap*);
01294
01295 SOAP_FMAC1 int SOAP_FMAC2 soap_putbase64(struct soap*, const unsigned char*, size_t);
01296 SOAP_FMAC1 unsigned char* SOAP_FMAC2 soap_getbase64(struct soap*, size_t*, int);
01297 SOAP_FMAC1 int SOAP_FMAC2 soap_puthex(struct soap*, const unsigned char*, size_t);
01298 SOAP_FMAC1 unsigned char* SOAP_FMAC2 soap_gethex(struct soap*, size_t*);
01299
01300
01301 SOAP_FMAC1 struct soap_ilist* SOAP_FMAC2 soap_lookup(struct soap*, const char*);
01302 SOAP_FMAC1 struct soap_ilist* SOAP_FMAC2 soap_enter(struct soap*, const char*);
01303 SOAP_FMAC1 void SOAP_FMAC2 soap_resolve_ptr(struct soap_ilist*);
01304 SOAP_FMAC1 int SOAP_FMAC2 soap_resolve(struct soap*);
01305
01306 SOAP_FMAC1 int SOAP_FMAC2 soap_pointer_lookup(struct soap*, const void *p, int t, struct soap_plist**);
01307 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**);
01308 SOAP_FMAC1 int SOAP_FMAC2 soap_pointer_lookup_id(struct soap*, void *p, int t, struct soap_plist**);
01309 SOAP_FMAC1 int SOAP_FMAC2 soap_pointer_enter(struct soap*, const void *p, int t, struct soap_plist**);
01310 SOAP_FMAC1 int SOAP_FMAC2 soap_array_pointer_enter(struct soap*, const void *p, const struct soap_array *a, int t, struct soap_plist**);
01311
01312 SOAP_FMAC1 int SOAP_FMAC2 soap_embed_element(struct soap *soap, const void *p, const char *tag, int type);
01313 SOAP_FMAC1 int SOAP_FMAC2 soap_embed_array(struct soap *soap, const void *p, const struct soap_array *a, int n, const char *tag, int type);
01314
01315 SOAP_FMAC1 void SOAP_FMAC2 soap_begin_count(struct soap*);
01316 SOAP_FMAC1 int SOAP_FMAC2 soap_begin_send(struct soap*);
01317 SOAP_FMAC1 int SOAP_FMAC2 soap_end_send(struct soap*);
01318
01319 SOAP_FMAC1 void SOAP_FMAC2 soap_embedded(struct soap*, const void *p, int t);
01320 SOAP_FMAC1 int SOAP_FMAC2 soap_reference(struct soap*, const void *p, int t);
01321 SOAP_FMAC1 int SOAP_FMAC2 soap_array_reference(struct soap*, const void *p, const struct soap_array *a, int n, int t);
01322 SOAP_FMAC1 int SOAP_FMAC2 soap_embedded_id(struct soap*, int id, const void *p, int t);
01323 SOAP_FMAC1 int SOAP_FMAC2 soap_is_embedded(struct soap*, struct soap_plist*);
01324 SOAP_FMAC1 int SOAP_FMAC2 soap_is_single(struct soap*, struct soap_plist*);
01325 SOAP_FMAC1 int SOAP_FMAC2 soap_is_multi(struct soap*, struct soap_plist*);
01326 SOAP_FMAC1 void SOAP_FMAC2 soap_set_embedded(struct soap*, struct soap_plist*);
01327
01328 SOAP_FMAC1 const struct soap_code_map* SOAP_FMAC2 soap_code(const struct soap_code_map*, const char *str);
01329 SOAP_FMAC1 LONG64 SOAP_FMAC2 soap_int_code(const struct soap_code_map*, const char *str, LONG64 other);
01330 SOAP_FMAC1 const char* SOAP_FMAC2 soap_str_code(const struct soap_code_map*, LONG64 code);
01331
01332 SOAP_FMAC1 int SOAP_FMAC2 soap_getline(struct soap*, char*, int);
01333 SOAP_FMAC1 int SOAP_FMAC2 soap_begin_recv(struct soap*);
01334 SOAP_FMAC1 int SOAP_FMAC2 soap_end_recv(struct soap*);
01335
01336 SOAP_FMAC1 void* SOAP_FMAC2 soap_malloc(struct soap*, size_t);
01337 SOAP_FMAC1 void SOAP_FMAC2 soap_dealloc(struct soap*, void*);
01338 SOAP_FMAC1 struct soap_clist * SOAP_FMAC2 soap_link(struct soap*, void*, int, int, void (*fdelete)(struct soap_clist*));
01339 SOAP_FMAC1 void SOAP_FMAC2 soap_unlink(struct soap*, const void*);
01340 SOAP_FMAC1 void SOAP_FMAC2 soap_free(struct soap*);
01341
01342 SOAP_FMAC1 int SOAP_FMAC2 soap_lookup_type(struct soap*, const char *id);
01343
01344 SOAP_FMAC1 void* SOAP_FMAC2 soap_id_lookup(struct soap*, const char *id, void **p, int t, size_t n, unsigned int k);
01345 SOAP_FMAC1 void* SOAP_FMAC2 soap_id_forward(struct soap*, const char *id, void *p, int t, size_t n);
01346 SOAP_FMAC1 void* SOAP_FMAC2 soap_id_enter(struct soap*, const char *id, void *p, int t, size_t n, int k);
01347
01348 SOAP_FMAC1 int SOAP_FMAC2 soap_size(const int *, int);
01349 SOAP_FMAC1 int SOAP_FMAC2 soap_getoffsets(const char *, const int *, int *, int);
01350 SOAP_FMAC1 int SOAP_FMAC2 soap_getsize(const char *, const char *, int *);
01351 SOAP_FMAC1 int SOAP_FMAC2 soap_getsizes(const char *, int *, int);
01352 SOAP_FMAC1 int SOAP_FMAC2 soap_getposition(const char *, int *);
01353
01354 SOAP_FMAC1 char* SOAP_FMAC2 soap_putsize(struct soap*, const char *, int);
01355 SOAP_FMAC1 char* SOAP_FMAC2 soap_putsizesoffsets(struct soap*, const char *, const int *, const int *, int);
01356 SOAP_FMAC1 char* SOAP_FMAC2 soap_putsizes(struct soap*, const char *, const int *, int);
01357 SOAP_FMAC1 char* SOAP_FMAC2 soap_putoffset(struct soap*, int);
01358 SOAP_FMAC1 char* SOAP_FMAC2 soap_putoffsets(struct soap*, const int *, int);
01359
01360 SOAP_FMAC1 int SOAP_FMAC2 soap_closesock(struct soap*);
01361
01362 SOAP_FMAC1 struct soap *SOAP_FMAC2 soap_new(void);
01363 SOAP_FMAC1 struct soap *SOAP_FMAC2 soap_new1(int);
01364 SOAP_FMAC1 struct soap *SOAP_FMAC2 soap_new2(int, int);
01365 SOAP_FMAC1 struct soap *SOAP_FMAC2 soap_copy(struct soap*);
01366 SOAP_FMAC1 struct soap *SOAP_FMAC2 soap_copy_context(struct soap*,struct soap*);
01367 SOAP_FMAC1 void SOAP_FMAC2 soap_init(struct soap*);
01368 SOAP_FMAC1 void SOAP_FMAC2 soap_init1(struct soap*, int);
01369 SOAP_FMAC1 void SOAP_FMAC2 soap_init2(struct soap*, int, int);
01370 SOAP_FMAC1 void SOAP_FMAC2 soap_done(struct soap*);
01371 SOAP_FMAC1 void SOAP_FMAC2 soap_cleanup(struct soap*);
01372 SOAP_FMAC1 void SOAP_FMAC2 soap_begin(struct soap*);
01373 SOAP_FMAC1 void SOAP_FMAC2 soap_end(struct soap*);
01374 SOAP_FMAC1 void SOAP_FMAC2 soap_delete(struct soap*, void*);
01375
01376 #ifndef WITH_LEAN
01377 SOAP_FMAC1 void SOAP_FMAC2 soap_set_recv_logfile(struct soap*, const char*);
01378 SOAP_FMAC1 void SOAP_FMAC2 soap_set_sent_logfile(struct soap*, const char*);
01379 SOAP_FMAC1 void SOAP_FMAC2 soap_set_test_logfile(struct soap*, const char*);
01380 SOAP_FMAC1 void SOAP_FMAC2 soap_close_logfiles(struct soap*);
01381 SOAP_FMAC1 void SOAP_FMAC2 soap_open_logfile(struct soap*, int);
01382 #endif
01383
01384 SOAP_FMAC1 char* SOAP_FMAC2 soap_value(struct soap*);
01385
01386 SOAP_FMAC1 wchar SOAP_FMAC2 soap_advance(struct soap*);
01387 SOAP_FMAC1 wchar SOAP_FMAC2 soap_skip(struct soap*);
01388
01389 SOAP_FMAC1 int SOAP_FMAC2 soap_match_tag(struct soap*, const char*, const char *);
01390 SOAP_FMAC1 int SOAP_FMAC2 soap_match_array(struct soap*, const char*);
01391
01392 SOAP_FMAC1 int SOAP_FMAC2 soap_element(struct soap*, const char*, int, const char*);
01393 SOAP_FMAC1 int SOAP_FMAC2 soap_element_begin_out(struct soap*, const char *tag, int id, const char *type);
01394 SOAP_FMAC1 int SOAP_FMAC2 soap_array_begin_out(struct soap*, const char *tag, int id, const char *type, const char *offset);
01395 SOAP_FMAC1 int SOAP_FMAC2 soap_element_ref(struct soap*, const char *tag, int id, int href);
01396 SOAP_FMAC1 int SOAP_FMAC2 soap_element_href(struct soap*, const char *tag, int id, const char *href);
01397 SOAP_FMAC1 int SOAP_FMAC2 soap_element_null(struct soap*, const char *tag, int id, const char *type);
01398 SOAP_FMAC1 int SOAP_FMAC2 soap_element_result(struct soap*, const char *tag);
01399 SOAP_FMAC1 int SOAP_FMAC2 soap_element_end_out(struct soap*, const char *tag);
01400 SOAP_FMAC1 int SOAP_FMAC2 soap_element_start_end_out(struct soap*, const char *tag);
01401
01402 SOAP_FMAC1 int SOAP_FMAC2 soap_attribute(struct soap*, const char*, const char*);
01403
01404 SOAP_FMAC1 int SOAP_FMAC2 soap_element_begin_in(struct soap*, const char *tag);
01405
01406 SOAP_FMAC1 int SOAP_FMAC2 soap_element_end_in(struct soap*, const char *tag);
01407
01408 SOAP_FMAC1 int SOAP_FMAC2 soap_peek_element(struct soap*);
01409
01410 SOAP_FMAC1 void SOAP_FMAC2 soap_retry(struct soap*);
01411 SOAP_FMAC1 void SOAP_FMAC2 soap_revert(struct soap*);
01412
01413 SOAP_FMAC1 char* SOAP_FMAC2 soap_strdup(struct soap*, const char*);
01414
01415 SOAP_FMAC1 int SOAP_FMAC2 soap_string_out(struct soap*, const char *s, int flag);
01416 SOAP_FMAC1 char* SOAP_FMAC2 soap_string_in(struct soap*, int);
01417 SOAP_FMAC1 int SOAP_FMAC2 soap_wstring_out(struct soap*, const wchar_t *s, int flag);
01418 SOAP_FMAC1 wchar_t* SOAP_FMAC2 soap_wstring_in(struct soap*, int);
01419
01420 SOAP_FMAC1 int SOAP_FMAC2 soap_match_namespace(struct soap*, const char *, const char*, int n1, int n2);
01421 SOAP_FMAC1 const char* SOAP_FMAC2 soap_default_namespace(struct soap*);
01422
01423 SOAP_FMAC1 int SOAP_FMAC2 soap_set_namespaces(struct soap*, struct Namespace*);
01424
01425 SOAP_FMAC1 void SOAP_FMAC2 soap_pop_namespace(struct soap*);
01426 SOAP_FMAC1 int SOAP_FMAC2 soap_push_namespace(struct soap*, const char *,const char *);
01427 SOAP_FMAC1 int SOAP_FMAC2 soap_push_default_namespace(struct soap*, const char *, int);
01428
01429 SOAP_FMAC1 int SOAP_FMAC2 soap_new_block(struct soap*);
01430 SOAP_FMAC1 void* SOAP_FMAC2 soap_push_block(struct soap*, size_t);
01431 SOAP_FMAC1 void SOAP_FMAC2 soap_pop_block(struct soap*);
01432 SOAP_FMAC1 size_t SOAP_FMAC2 soap_size_block(struct soap*, size_t);
01433 SOAP_FMAC1 char* SOAP_FMAC2 soap_first_block(struct soap*);
01434 SOAP_FMAC1 char* SOAP_FMAC2 soap_next_block(struct soap*);
01435 SOAP_FMAC1 size_t SOAP_FMAC2 soap_block_size(struct soap*);
01436 SOAP_FMAC1 char* SOAP_FMAC2 soap_save_block(struct soap*, char*);
01437 SOAP_FMAC1 char* SOAP_FMAC2 soap_store_block(struct soap*, char*);
01438 SOAP_FMAC1 void SOAP_FMAC2 soap_end_block(struct soap*);
01439
01440 SOAP_FMAC1 int SOAP_FMAC2 soap_envelope_begin_out(struct soap*);
01441 SOAP_FMAC1 int soap_envelope_end_out(struct soap*);
01442
01443 SOAP_FMAC1 int SOAP_FMAC2 soap_envelope_begin_in(struct soap*);
01444 SOAP_FMAC1 int SOAP_FMAC2 soap_envelope_end_in(struct soap*);
01445
01446 SOAP_FMAC1 int SOAP_FMAC2 soap_body_begin_out(struct soap*);
01447 SOAP_FMAC1 int SOAP_FMAC2 soap_body_end_out(struct soap*);
01448
01449 SOAP_FMAC1 int SOAP_FMAC2 soap_body_begin_in(struct soap*);
01450 SOAP_FMAC1 int SOAP_FMAC2 soap_body_end_in(struct soap*);
01451
01452 SOAP_FMAC1 int SOAP_FMAC2 soap_recv_header(struct soap*);
01453
01454 SOAP_FMAC1 int SOAP_FMAC2 soap_response(struct soap*, int);
01455
01456 SOAP_FMAC1 int SOAP_FMAC2 soap_send_fault(struct soap*);
01457
01458 SOAP_FMAC1 int SOAP_FMAC2 soap_recv_fault(struct soap*);
01459
01460 SOAP_FMAC1 void SOAP_FMAC2 soap_print_fault(struct soap*, FILE*);
01461 SOAP_FMAC1 void SOAP_FMAC2 soap_print_fault_location(struct soap*, FILE*);
01462
01463 SOAP_FMAC1 int SOAP_FMAC2 soap_s2byte(struct soap*, const char*, char*);
01464 SOAP_FMAC1 int SOAP_FMAC2 soap_s2short(struct soap*, const char*, short*);
01465 SOAP_FMAC1 int SOAP_FMAC2 soap_s2int(struct soap*, const char*, int*);
01466 SOAP_FMAC1 int SOAP_FMAC2 soap_s2long(struct soap*, const char*, long*);
01467 SOAP_FMAC1 int SOAP_FMAC2 soap_s2LONG64(struct soap*, const char*, LONG64*);
01468 SOAP_FMAC1 int SOAP_FMAC2 soap_s2float(struct soap*, const char*, float*);
01469 SOAP_FMAC1 int SOAP_FMAC2 soap_s2double(struct soap*, const char*, double*);
01470 SOAP_FMAC1 int SOAP_FMAC2 soap_s2unsignedByte(struct soap*, const char*, unsigned char*);
01471 SOAP_FMAC1 int SOAP_FMAC2 soap_s2unsignedShort(struct soap*, const char*, unsigned short*);
01472 SOAP_FMAC1 int SOAP_FMAC2 soap_s2unsignedInt(struct soap*, const char*, unsigned int*);
01473 SOAP_FMAC1 int SOAP_FMAC2 soap_s2unsignedLong(struct soap*, const char*, unsigned long*);
01474 SOAP_FMAC1 int SOAP_FMAC2 soap_s2ULONG64(struct soap*, const char*, ULONG64*);
01475 SOAP_FMAC1 int SOAP_FMAC2 soap_s2dateTime(struct soap*, const char*, time_t*);
01476 SOAP_FMAC1 int SOAP_FMAC2 soap_s2string(struct soap*, const char*, char**);
01477 SOAP_FMAC1 int SOAP_FMAC2 soap_s2QName(struct soap*, const char*, char**);
01478 SOAP_FMAC1 int SOAP_FMAC2 soap_s2base64(struct soap*, const unsigned char*, char*, size_t);
01479
01480 SOAP_FMAC1 const char* SOAP_FMAC2 soap_byte2s(struct soap*, char);
01481 SOAP_FMAC1 const char* SOAP_FMAC2 soap_short2s(struct soap*, short);
01482 SOAP_FMAC1 const char* SOAP_FMAC2 soap_int2s(struct soap*, int);
01483 SOAP_FMAC1 const char* SOAP_FMAC2 soap_long2s(struct soap*, long);
01484 SOAP_FMAC1 const char* SOAP_FMAC2 soap_LONG642s(struct soap*, LONG64);
01485 SOAP_FMAC1 const char* SOAP_FMAC2 soap_float2s(struct soap*, float);
01486 SOAP_FMAC1 const char* SOAP_FMAC2 soap_double2s(struct soap*, double);
01487 SOAP_FMAC1 const char* SOAP_FMAC2 soap_unsignedByte2s(struct soap*, unsigned char);
01488 SOAP_FMAC1 const char* SOAP_FMAC2 soap_unsignedShort2s(struct soap*, unsigned short);
01489 SOAP_FMAC1 const char* SOAP_FMAC2 soap_unsignedInt2s(struct soap*, unsigned int);
01490 SOAP_FMAC1 const char* SOAP_FMAC2 soap_unsignedLong2s(struct soap*, unsigned long);
01491 SOAP_FMAC1 const char* SOAP_FMAC2 soap_ULONG642s(struct soap*, ULONG64);
01492 SOAP_FMAC1 const char* SOAP_FMAC2 soap_dateTime2s(struct soap*, time_t);
01493 SOAP_FMAC1 const char* SOAP_FMAC2 soap_QName2s(struct soap*, const char*);
01494 SOAP_FMAC1 const char* SOAP_FMAC2 soap_base642s(struct soap*, const char*, char*, size_t, size_t*);
01495
01496 SOAP_FMAC1 int* SOAP_FMAC2 soap_inint(struct soap*, const char *tag, int *p, const char *, int);
01497 SOAP_FMAC1 char* SOAP_FMAC2 soap_inbyte(struct soap*, const char *tag, char *p, const char *, int);
01498 SOAP_FMAC1 long* SOAP_FMAC2 soap_inlong(struct soap*, const char *tag, long *p, const char *, int);
01499 SOAP_FMAC1 LONG64* SOAP_FMAC2 soap_inLONG64(struct soap*, const char *tag, LONG64 *p, const char *, int);
01500 SOAP_FMAC1 short* SOAP_FMAC2 soap_inshort(struct soap*, const char *tag, short *p, const char *, int);
01501 SOAP_FMAC1 float* SOAP_FMAC2 soap_infloat(struct soap*, const char *tag, float *p, const char *, int);
01502 SOAP_FMAC1 double* SOAP_FMAC2 soap_indouble(struct soap*, const char *tag, double *p, const char *, int);
01503 SOAP_FMAC1 unsigned char* SOAP_FMAC2 soap_inunsignedByte(struct soap*, const char *tag, unsigned char *p, const char *, int);
01504 SOAP_FMAC1 unsigned short* SOAP_FMAC2 soap_inunsignedShort(struct soap*, const char *tag, unsigned short *p, const char *, int);
01505 SOAP_FMAC1 unsigned int* SOAP_FMAC2 soap_inunsignedInt(struct soap*, const char *tag, unsigned int *p, const char *, int);
01506 SOAP_FMAC1 unsigned long* SOAP_FMAC2 soap_inunsignedLong(struct soap*, const char *tag, unsigned long *p, const char *, int);
01507 SOAP_FMAC1 ULONG64* SOAP_FMAC2 soap_inULONG64(struct soap*, const char *tag, ULONG64 *p, const char *, int);
01508 SOAP_FMAC1 time_t* SOAP_FMAC2 soap_indateTime(struct soap*, const char *tag, time_t *p, const char *, int);
01509 SOAP_FMAC1 char** SOAP_FMAC2 soap_instring(struct soap*, const char *tag, char **p, const char *, int, int);
01510 SOAP_FMAC1 wchar_t** SOAP_FMAC2 soap_inwstring(struct soap*, const char *tag, wchar_t **p, const char *, int);
01511 SOAP_FMAC1 char** SOAP_FMAC2 soap_inliteral(struct soap*, const char *tag, char **p);
01512 SOAP_FMAC1 wchar_t** SOAP_FMAC2 soap_inwliteral(struct soap*, const char *tag, wchar_t **p);
01513
01514 SOAP_FMAC1 int SOAP_FMAC2 soap_outbyte(struct soap*, const char *tag, int id, const char *p, const char *, int);
01515 SOAP_FMAC1 int SOAP_FMAC2 soap_outshort(struct soap*, const char *tag, int id, const short *p, const char *, int);
01516 SOAP_FMAC1 int SOAP_FMAC2 soap_outint(struct soap*, const char *tag, int id, const int *p, const char *, int);
01517 SOAP_FMAC1 int SOAP_FMAC2 soap_outlong(struct soap*, const char *tag, int id, const long *p, const char *, int);
01518 SOAP_FMAC1 int SOAP_FMAC2 soap_outLONG64(struct soap*, const char *tag, int id, const LONG64 *p, const char *, int);
01519 SOAP_FMAC1 int SOAP_FMAC2 soap_outfloat(struct soap*, const char *tag, int id, const float *p, const char *, int);
01520 SOAP_FMAC1 int SOAP_FMAC2 soap_outdouble(struct soap*, const char *tag, int id, const double *p, const char *, int);
01521 SOAP_FMAC1 int SOAP_FMAC2 soap_outunsignedByte(struct soap*, const char *tag, int id, const unsigned char *p, const char *, int);
01522 SOAP_FMAC1 int SOAP_FMAC2 soap_outunsignedShort(struct soap*, const char *tag, int id, const unsigned short *p, const char *, int);
01523 SOAP_FMAC1 int SOAP_FMAC2 soap_outunsignedInt(struct soap*, const char *tag, int id, const unsigned int *p, const char *, int);
01524 SOAP_FMAC1 int SOAP_FMAC2 soap_outunsignedLong(struct soap*, const char *tag, int id, const unsigned long *p, const char *, int);
01525 SOAP_FMAC1 int SOAP_FMAC2 soap_outULONG64(struct soap*, const char *tag, int id, const ULONG64 *p, const char *, int);
01526 SOAP_FMAC1 int SOAP_FMAC2 soap_outdateTime(struct soap*, const char *tag, int id, const time_t *p, const char *, int);
01527 SOAP_FMAC1 int SOAP_FMAC2 soap_outstring(struct soap*, const char *tag, int id, char *const*p, const char *, int);
01528 SOAP_FMAC1 int SOAP_FMAC2 soap_outwstring(struct soap*, const char *tag, int id, wchar_t *const*p, const char *, int);
01529 SOAP_FMAC1 int SOAP_FMAC2 soap_outliteral(struct soap*, const char *tag, char *const*p);
01530 SOAP_FMAC1 int SOAP_FMAC2 soap_outwliteral(struct soap*, const char *tag, wchar_t *const*p);
01531
01532 #ifndef WITH_LEANER
01533 SOAP_FMAC1 void SOAP_FMAC2 soap_set_attached(struct soap*, struct soap_plist*, const char*, const char*, const char*, size_t);
01534 SOAP_FMAC1 int SOAP_FMAC2 soap_move(struct soap*, long);
01535 SOAP_FMAC1 size_t SOAP_FMAC2 soap_tell(struct soap*);
01536 SOAP_FMAC1 char* SOAP_FMAC2 soap_dime_option(struct soap*, unsigned short, const char*);
01537 SOAP_FMAC1 int SOAP_FMAC2 soap_getdimehdr(struct soap*);
01538 SOAP_FMAC1 int SOAP_FMAC2 soap_getdime(struct soap*);
01539 SOAP_FMAC1 int SOAP_FMAC2 soap_putdimehdr(struct soap*);
01540 SOAP_FMAC1 int SOAP_FMAC2 soap_putdime(struct soap*, int, char*, char*, char*, void*, size_t);
01541 #endif
01542
01543 SOAP_FMAC1 int SOAP_FMAC2 soap_register_plugin_arg(struct soap*, int (*fcreate)(struct soap*, struct soap_plugin*, void*), void*);
01544 SOAP_FMAC1 void* SOAP_FMAC2 soap_lookup_plugin(struct soap*, const char*);
01545
01546 SOAP_FMAC1 struct soap_attribute * SOAP_FMAC2 soap_attr(struct soap *soap, const char *name);
01547 SOAP_FMAC1 const char* SOAP_FMAC2 soap_attr_value(struct soap *soap, const char *name);
01548 SOAP_FMAC1 int SOAP_FMAC2 soap_set_attr(struct soap *soap, const char *name, const char *value);
01549 SOAP_FMAC1 void SOAP_FMAC2 soap_clr_attr(struct soap *soap);
01550
01551 #ifdef WITH_COOKIES
01552 SOAP_FMAC1 int SOAP_FMAC2 soap_encode_cookie(const char*, char*, int);
01553 SOAP_FMAC1 const char* SOAP_FMAC2 soap_decode_cookie(char*, int, const char*);
01554 SOAP_FMAC1 extern struct soap_cookie* SOAP_FMAC2 soap_set_cookie(struct soap*, const char*, const char*, const char*, const char*);
01555 SOAP_FMAC1 extern struct soap_cookie* SOAP_FMAC2 soap_cookie(struct soap*, const char*, const char*, const char*);
01556 SOAP_FMAC1 extern char* SOAP_FMAC2 soap_cookie_value(struct soap*, const char*, const char*, const char*);
01557 SOAP_FMAC1 extern long SOAP_FMAC2 soap_cookie_expire(struct soap*, const char*, const char*, const char*);
01558 SOAP_FMAC1 extern int SOAP_FMAC2 soap_set_cookie_expire(struct soap*, const char*, long, const char*, const char*);
01559 SOAP_FMAC1 extern int SOAP_FMAC2 soap_set_cookie_session(struct soap*, const char*, const char*, const char*);
01560 SOAP_FMAC1 extern int SOAP_FMAC2 soap_clr_cookie_session(struct soap*, const char*, const char*, const char*);
01561 SOAP_FMAC1 extern void SOAP_FMAC2 soap_clr_cookie(struct soap*, const char*, const char*, const char*);
01562 SOAP_FMAC1 extern int SOAP_FMAC2 soap_getenv_cookies(struct soap*);
01563 SOAP_FMAC1 extern struct soap_cookie* SOAP_FMAC2 soap_copy_cookies(struct soap*);
01564 SOAP_FMAC1 extern void SOAP_FMAC2 soap_free_cookies(struct soap*);
01565 #endif
01566
01567 #if defined(PALM) && !defined(NOSHAREDLIB) && !(defined(BUILDING_STDSOAP) || defined(BUILDING_STDSOAP2) || defined(BUILDING_STDLIB) || defined(BUILDING_STDLIB2) || defined(PALM_1) || defined(PALM_2))
01568 # include "palmSharedLib.h"
01569 #endif
01570
01571 #ifdef __cplusplus
01572 }
01573 #endif
01574
01575 #endif
01576