📄 stdsoap2.h
字号:
# ifndef ALLOW_OLD_VERSIONS# if (OPENSSL_VERSION_NUMBER < 0x00905100L)# error "Must use OpenSSL 0.9.6 or later"# endif# endif#endif#ifdef WITH_GZIP# ifndef WITH_ZLIB# define WITH_ZLIB# endif#endif#ifdef WITH_CASEINSENSITIVETAGS# define SOAP_STRCMP soap_tag_cmp /* case insensitve XML element/attribute names */#else# define SOAP_STRCMP strcmp /* case sensitive XML element/attribute names */#endif#ifdef WITH_ZLIB# include <zlib.h>#endif#ifndef PALM_GCC# include <math.h> /* for isnan() */#endif/* #define DEBUG */ /* Uncomment to debug sending (in file SENT.log) receiving (in file RECV.log) and messages (in file TEST.log) */#ifdef __cplusplusextern "C" {#endif#define soap_get0(soap) (((soap)->bufidx>=(soap)->buflen && soap_recv(soap)) ? EOF : (unsigned char)(soap)->buf[(soap)->bufidx])#define soap_get1(soap) (((soap)->bufidx>=(soap)->buflen && soap_recv(soap)) ? EOF : (unsigned char)(soap)->buf[(soap)->bufidx++])#define soap_revget1(soap) ((soap)->bufidx--)#define soap_unget(soap, c) ((soap)->ahead = c)#define soap_register_plugin(soap, plugin) soap_register_plugin_arg(soap, plugin, NULL)#define soap_imode(soap, n) ((soap)->mode = (soap)->imode = (n))#define soap_set_imode(soap, n) ((soap)->mode = (soap)->imode |= (n))#define soap_clr_imode(soap, n) ((soap)->mode = (soap)->imode &= ~(n))#define soap_omode(soap, n) ((soap)->mode = (soap)->omode = (n))#define soap_set_omode(soap, n) ((soap)->mode = (soap)->omode |= (n))#define soap_clr_omode(soap, n) ((soap)->mode = (soap)->omode &= ~(n))#define soap_destroy(soap) soap_delete((soap), NULL)#ifdef WIN32# ifndef UNDER_CE# include <io.h># include <fcntl.h># endif# include <winsock.h># else# ifndef MAC_CARBON# ifndef PALM# include <netdb.h># include <netinet/in.h># endif# include <unistd.h># include <fcntl.h># endif#endif#ifdef WIN32# define SOAP_SOCKET SOCKET#else# define SOAP_SOCKET int# define closesocket(n) close(n)#endif#define soap_valid_socket(n) ((n) >= 0)#define SOAP_INVALID_SOCKET (-1)#if (!defined(_MATH_H) && !defined(_MATH_INCLUDED))# ifndef isnan# define isnan(_) (0)# endif#endifextern const struct soap_double_nan { unsigned int n1, n2; } soap_double_nan;#if defined(SYMBIAN)# define LONG64 TInt64# define ULONG64 TInt64#elif !defined(WIN32)# define LONG64 long long# define ULONG64 unsigned LONG64#elif defined(UNDER_CE)# define LONG64 __int64# define ULONG64 unsigned LONG64#elif defined(__BORLANDC__)# ifdef SYSMAC_H# define LONG64 ::LONG64# define ULONG64 ::ULONG64# endif#endif#ifdef WIN32# define SOAP_EINTR WSAEINTR# define SOAP_EAGAIN WSAEWOULDBLOCK# define SOAP_EWOULDBLOCK WSAEWOULDBLOCK# define SOAP_EINPROGRESS WSAEINPROGRESS#else# define SOAP_EINTR EINTR# define SOAP_EAGAIN EAGAIN# ifdef SYMBIAN# define SOAP_EWOULDBLOCK 9898# define SOAP_EINPROGRESS 9899# else# define SOAP_EWOULDBLOCK EWOULDBLOCK# define SOAP_EINPROGRESS EINPROGRESS# endif#endif#ifdef WIN32# ifdef UNDER_CE# define soap_errno GetLastError()# define soap_socket_errno GetLastError()# else# define soap_errno GetLastError()# define soap_socket_errno WSAGetLastError()# endif#else# define soap_errno errno# define soap_socket_errno errno#endif#ifndef SOAP_BUFLEN# ifndef WITH_LEAN# define SOAP_BUFLEN (32768) /* buffer length for socket packets, also used by gethostbyname_r so don't make this too small */# else# define SOAP_BUFLEN (2048)# endif#endif#ifndef SOAP_PTRHASH# ifndef WITH_LEAN# define SOAP_PTRHASH (1024) /* size of pointer analysis hash table (must be power of 2) */# else# define SOAP_PTRHASH (16)# endif#endif#ifndef SOAP_IDHASH# ifndef WITH_LEAN# define SOAP_IDHASH (256) /* size of hash table for receiving id/href's */# else# define SOAP_IDHASH (16)# endif#endif#ifndef SOAP_BLKLEN# define SOAP_BLKLEN (256) /* size of blocks to collect long strings and XML attributes */#endif#ifndef SOAP_TAGLEN# define SOAP_TAGLEN (256) /* maximum length of XML element tag/attribute name + 1 */#endif#ifndef SOAP_HDRLEN# ifndef WITH_LEAN# define SOAP_HDRLEN (8192) /* maximum length of HTTP header line (must be >4096 to read cookies) */# else# define SOAP_HDRLEN (1024)# endif#endif#ifndef SOAP_MAXDIMS# define SOAP_MAXDIMS (16) /* maximum array dimensions (array nestings) must be less than 64 to protect soap->tmpbuf */#endif#ifndef SOAP_MAXLOGS# define SOAP_MAXLOGS (3) /* max number of debug logs per struct soap environment */# define SOAP_INDEX_RECV (0)# define SOAP_INDEX_SENT (1)# define SOAP_INDEX_TEST (2)#endif#ifndef SOAP_MAXKEEPALIVE# define SOAP_MAXKEEPALIVE (100) /* max iterations to keep server connection alive */#endif#ifndef FLT_NAN# if (defined(_MATH_H) || defined(_MATH_INCLUDED))# define FLT_NAN (*(float*)&soap_double_nan)# else# define FLT_NAN (0.0)# endif#endif#ifndef FLT_PINFTY# ifdef FLT_MAX# define FLT_PINFTY FLT_MAX# else# ifdef HUGE_VAL# define FLT_PINFTY (float)HUGE_VAL# else# ifdef FLOAT_MAX# define FLT_PINFTY FLOAT_MAX# else# define FLT_PINFTY (3.40282347e+38)# endif# endif# endif#endif#ifndef FLT_NINFTY# define FLT_NINFTY (-FLT_PINFTY)#endif#ifndef DBL_NAN# if (defined(_MATH_H) || defined(_MATH_INCLUDED))# define DBL_NAN (*(double*)&soap_double_nan)# else# define DBL_NAN (0.0)# endif#endif#ifndef DBL_PINFTY# ifdef DBL_MAX# define DBL_PINFTY DBL_MAX# else# ifdef HUGE_VAL# define DBL_PINFTY (double)HUGE_VAL# else# ifdef DOUBLE_MAX# define DBL_PINFTY DOUBLE_MAX# else# define DBL_PINFTY (1.7976931348623157e+308)# endif# endif# endif#endif#ifndef DBL_NINFTY# define DBL_NINFTY (-DBL_PINFTY)#endif/* gSOAP error codes */#define SOAP_EOF EOF#define SOAP_ERR EOF#define SOAP_OK 0#define SOAP_CLI_FAULT 1#define SOAP_SVR_FAULT 2#define SOAP_TAG_MISMATCH 3#define SOAP_TYPE_MISMATCH 4#define SOAP_SYNTAX_ERROR 5#define SOAP_NO_TAG 6#define SOAP_IOB 7#define SOAP_MUSTUNDERSTAND 8#define SOAP_NAMESPACE 9#define SOAP_OBJ_MISMATCH 10#define SOAP_FATAL_ERROR 11#define SOAP_FAULT 12#define SOAP_NO_METHOD 13#define SOAP_GET_METHOD 14#define SOAP_EOM 15#define SOAP_NULL 16#define SOAP_MULTI_ID 17#define SOAP_MISSING_ID 18#define SOAP_HREF 19#define SOAP_TCP_ERROR 20#define SOAP_HTTP_ERROR 21#define SOAP_SSL_ERROR 22#define SOAP_ZLIB_ERROR 23#define SOAP_DIME_ERROR 24#define SOAP_EOD 25#define SOAP_VERSIONMISMATCH 26#define SOAP_DIME_MISMATCH 27#define SOAP_PLUGIN_ERROR 28#define SOAP_DATAENCODINGUNKNOWN 29#define SOAP_REQUIRED 30#define SOAP_OCCURS 31#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)#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)#define soap_tcp_error_check(e) ((e) == SOAP_EOF || (e) == SOAP_TCP_ERROR)#define soap_ssl_error_check(e) ((e) == SOAP_SSL_ERROR)#define soap_zlib_error_check(e) ((e) == SOAP_ZLIB_ERROR)#define soap_dime_error_check(e) ((e) == SOAP_DIME_ERROR || (e) == SOAP_DIME_MISMATCH)#define soap_http_error_check(e) ((e) == SOAP_HTTP_ERROR || (e) == SOAP_GET_METHOD || ((e) >= 100 && (e) < 600))/* gSOAP HTTP response status codes 100 to 600 are reserved *//* Special gSOAP HTTP response status codes */#define SOAP_STOP 1000 /* No HTTP response */#define SOAP_HTML 1001 /* Custom HTML response */#define SOAP_FILE 1002 /* Custom file-based response *//* gSOAP HTTP request status codes */#define SOAP_POST 1003#define SOAP_GET 1104/* gSOAP DIME */#define SOAP_DIME_CF 0x01#define SOAP_DIME_ME 0x02#define SOAP_DIME_MB 0x04#define SOAP_DIME_VERSION 0x08 /* DIME version 1 */#define SOAP_DIME_MEDIA 0x10#define SOAP_DIME_ABSURI 0x20/* gSOAP ZLIB */#define SOAP_ZLIB_NONE 0x00#define SOAP_ZLIB_DEFLATE 0x01#define SOAP_ZLIB_GZIP 0x02/* gSOAP transport, connection, and content encoding modes */#define SOAP_IO 0x000003#define SOAP_IO_FLUSH 0x000000 /* flush output immediately, no buffering */#define SOAP_IO_BUFFER 0x000001 /* buffer output in packets of size SOAP_BUFLEN */#define SOAP_IO_STORE 0x000002 /* store entire output to determine length for transport */#define SOAP_IO_CHUNK 0x000003 /* use HTTP chunked transfer AND buffer packets */#define SOAP_IO_LENGTH 0x000004#define SOAP_IO_KEEPALIVE 0x000008#define SOAP_ENC_XML 0x000010 /* plain XML encoding, no HTTP header */#define SOAP_ENC_DIME 0x000020#define SOAP_ENC_ZLIB 0x000040#define SOAP_ENC_SSL 0x000080#define SOAP_XML_STRICT 0x000100 /* input mode flag */#define SOAP_XML_CANONICAL 0x000200 /* output mode flag */#define SOAP_XML_TREE 0x000400#define SOAP_XML_GRAPH 0x000800#define SOAP_XML_NIL 0x001000#define SOAP_XML_DOM 0x002000#define SOAP_C_NOIOB 0x010000#define SOAP_C_UTFSTRING 0x020000#define SOAP_C_LATIN 0x040000#define SOAP_DOM_TREE 0x100000#define SOAP_DOM_NODE 0x200000#define SOAP_IO_DEFAULT SOAP_IO_FLUSH/* SSL client/server authentication settings */#define SOAP_SSL_NO_AUTHENTICATION 0x00 /* for testing purposes */#define SOAP_SSL_REQUIRE_SERVER_AUTHENTICATION 0x01 /* client requires server to authenticate */#define SOAP_SSL_REQUIRE_CLIENT_AUTHENTICATION 0x02 /* server requires client to authenticate */#define SOAP_SSL_DEFAULT SOAP_SSL_REQUIRE_SERVER_AUTHENTICATION/* */#define SOAP_BEGIN 0#define SOAP_IN_ENVELOPE 2#define SOAP_IN_HEADER 3#define SOAP_END_HEADER 4#define SOAP_IN_BODY 5#define SOAP_END_BODY 6#define SOAP_END_ENVELOPE 7#define SOAP_END 8/* DEBUG macros */#ifndef WITH_LEAN# ifdef DEBUG# ifndef SOAP_DEBUG# define SOAP_DEBUG# endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -