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