⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stdsoap2.h

📁 SOAP协议的C版本
💻 H
📖 第 1 页 / 共 4 页
字号:
# 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 + -