soup协议中的soap结构体

soup协议中的soap结构体

struct SOAP_STD_API soap
{ short state;/* 0 = uninitialized, 1 = initialized, 2 = copy of another soap struct */
short version;/* 1 = SOAP1.1 and 2 = SOAP1.2 (set automatically from namespace URI in nsmap table) */
soap_mode mode;
soap_mode imode;
soap_mode omode;
const char *float_format;/* user-definable format string for floats (<1024 chars) */
const char *double_format;/* user-definable format string for doubles (<1024 chars) */
const char *dime_id_format;/* user-definable format string for integer DIME id (<SOAP_TAGLEN chars) */
const char *http_version;/* HTTP version used "1.0" or "1.1" */
const char *http_content;/* optional custom response content type (with SOAP_FILE) */
const char *encodingStyle;/* default = NULL which means that SOAP encoding is used */
const char *actor;/* SOAP-ENV:actor or role attribute value */
const char *lang;/* xml:lang attribute value of SOAP-ENV:Text */
int recv_timeout;/* when > 0, gives socket recv timeout in seconds, < 0 in usec */
int send_timeout;/* when > 0, gives socket send timeout in seconds, < 0 in usec */
int connect_timeout;/* when > 0, gives socket connect() timeout in seconds, < 0 in usec */
int accept_timeout;/* when > 0, gives socket accept() timeout in seconds, < 0 in usec */
int socket_flags;/* socket recv() and send() flags, e.g. set to MSG_NOSIGNAL to disable sigpipe */
int connect_flags;/* connect() SOL_SOCKET sockopt flags, e.g. set to SO_DEBUG to debug socket */
int bind_flags;/* bind() SOL_SOCKET sockopt flags, e.g. set to SO_REUSEADDR to enable reuse */
int accept_flags;/* accept() SOL_SOCKET sockopt flags */
unsigned short linger_time;/* linger time for SO_LINGER option */
const struct Namespace *namespaces;/* Pointer to global namespace mapping table */
struct Namespace *local_namespaces;/* Local namespace mapping table */
struct soap_nlist *nlist;/* namespace stack */
struct soap_blist *blist;/* block allocation stack */
struct soap_clist *clist;/* class instance allocation list */
void *alist;/* memory allocation (malloc) list */
struct soap_ilist *iht[SOAP_IDHASH];
struct soap_plist *pht[SOAP_PTRHASH];
struct soap_pblk *pblk;/* plist block allocation */
short pidx;/* plist block allocation */
struct SOAP_ENV__Header *header;
struct SOAP_ENV__Fault *fault;
int idnum;
void *user;/* to pass user-defined da<wbr>ta */<br> struct soap_plugin *plugins;/* linked list of plug-in da<wbr>ta */<br> char *userid;/* HTTP Basic authorization userid */<br> char *passwd;/* HTTP Basic authorization passwd */<br> int (*fpost)(struct soap*, const char*, const char*, int, const char*, const char*, size_t);<br> int (*fget)(struct soap*);<br> int (*fput)(struct soap*);<br> int (*fdel)(struct soap*);<br> int (*fhead)(struct soap*);<br> int (*fform)(struct soap*);<br> int (*fposthdr)(struct soap*, const char*, const char*);<br> int (*fresponse)(struct soap*, int, size_t);<br> int (*fparse)(struct soap*);<br> int (*fparsehdr)(struct soap*, const char*, const char*);<br> int (*fheader)(struct soap*);<br> int (*fresolve)(struct soap*, const char*, struct in_addr* inaddr);<br> int (*fconnect)(struct soap*, const char*, const char*, int);<br> int (*fdisconnect)(struct soap*);<br> int (*fclosesocket)(struct soap*, SOAP_SOCKET);<br> int (*fshutdownsocket)(struct soap*, SOAP_SOCKET, int);<br> SOAP_SOCKET (*fopen)(struct soap*, const char*, const char*, int);<br> SOAP_SOCKET (*faccept)(struct soap*, SOAP_SOCKET, struct sockaddr*, int *n);<br> int (*fclose)(struct soap*);<br> int (*fsend)(struct soap*, const char*, size_t);<br> size_t (*frecv)(struct soap*, char*, size_t);<br> int (*fpoll)(struct soap*);<br> void (*fseterror)(struct soap*, const char **c, const char **s);<br> int (*fignore)(struct soap*, const char*);<br> int (*fserveloop)(struct soap*);<br> void *(*fplugin)(struct soap*, const char*);<br> void *(*fmalloc)(struct soap*, size_t);<br> #ifndef WITH_LEANER<br> int (*fprepareinit)(struct soap*);<br> int (*fpreparesend)(struct soap*, const char*, size_t);<br> int (*fpreparerecv)(struct soap*, const char*, size_t);<br> int (*fpreparefinal)(struct soap*);<br> void *(*fdimereadopen)(struct soap*, void*, const char*, const char*, const char*);<br> void *(*fdimewriteopen)(struct soap*, const char*, const char*, const char*);<br> void (*fdimereadclose)(struct soap*, void*);<br> void (*fdimewriteclose)(struct soap*, void*);<br> size_t (*fdimeread)(struct soap*, void*, char*, size_t);<br> int (*fdimewrite)(struct soap*, void*, const char*, size_t);<br> void *(*fmimereadopen)(struct soap*, void*, const char*, const char*, const char*);<br> void *(*fmimewriteopen)(struct soap*, void*, const char*, const char*, const char*, enum soap_mime_encoding);<br> void (*fmimereadclose)(struct soap*, void*);<br> void (*fmimewriteclose)(struct soap*, void*);<br> size_t (*fmimeread)(struct soap*, void*, char*, size_t);<br> int (*fmimewrite)(struct soap*, void*, const char*, size_t);<br> #endif<br> SOAP_SOCKET master;<br> SOAP_SOCKET socket;<br> #if defined(__cplusplus) &amp;&amp; !defined(WITH_LEAN) &amp;&amp; !defined(WITH_COMPAT)<br> std::ostream *os;<br> std::istream *is;<br> #else<br> void *os;/* preserve struct size */<br> void *is;/* preserve struct size */<br> #endif<br> #ifndef UNDER_CE<br> int sendfd;<br> int recvfd;<br> #else<br> FILE *sendfd;<br> FILE *recvfd;<br> #endif<br> size_t bufidx;/* index in soap.buf[] */<br> size_t buflen;/* length of soap.buf[] content */<br> soap_wchar ahead;/* parser lookahead */<br> short cdata;/* CDATA parser state */<br> short body;/* parsed XML element has a body or not */<br> unsigned int level;/* XML nesting level */<br> size_t count;/* message length counter */<br> size_t length;/* message length as set by HTTP header */<br> char *labbuf;/* look-aside buffer */<br> size_t lablen;/* look-aside buffer allocated length */<br> size_t labidx;/* look-aside buffer index to available part */<br> char buf[SOAP_BUFLEN];/* send and receive buffer */<br> char msgbuf[1024];/* in/out buffer for HTTP/MIME headers &gt;=1024 bytes */<br> char tmpbuf[1024];/* in/out buffer for HTTP/MIME headers, simpleType values, element and attribute tag names, and DIME must be &gt;=1024 bytes */<br> char tag[SOAP_TAGLEN];<br> char id[SOAP_TAGLEN];<br> char href[SOAP_TAGLEN];<br> char type[SOAP_TAGLEN];<br> char arrayType[SOAP_TAGLEN];<br> char arraySize[SOAP_TAGLEN];<br> char arrayOffset[SOAP_TAGLEN];<br> short other;<br> short position;<br> int positions[SOAP_MAXDIMS];<br> short root;<br> struct soap_attribute *attributes;/* attribute list */<br> short encoding;/* when set, output encodingStyle */<br> short mustUnderstand;/* a mustUnderstand element was parsed or is output */<br> short null;/* parsed XML is xsi:nil */<br> short ns;/* when not set, output full xmlns bindings */<br> short part;/* parsing state */<br> short alloced;<br> short peeked;<br> size_t chunksize;<br> size_t chunkbuflen;<br> char endpoint[SOAP_TAGLEN];<br> char path[SOAP_TAGLEN];<br> char host[SOAP_TAGLEN];<br> char *act<wbr>ion;<br> char *authrealm;/* HTTP authentication realm */<br> char *prolog;/* XML declaration prolog */<br> unsigned long ip;/* IP number */<br> int port;/* port number */<br> short keep_alive;/* connection should be kept open */<br> short tcp_keep_alive;/* enable SO_KEEPALIVE */<br> unsigned int tcp_keep_idle; /* set TCP_KEEPIDLE */<br> unsigned int tcp_keep_intvl; /* set TCP_KEEPINTVL */<br> unsigned int tcp_keep_cnt; /* set TCP_KEEPCNT */<br> unsigned int max_keep_alive; /* maximum keep-alive session (default=100) */<br> const char *proxy_http_version;/* HTTP version of proxy "1.0" or "1.1" */<br> const char *proxy_host;/* Proxy Server host name */<br> int proxy_port;/* Proxy Server port (default = 8080) */<br> const char *proxy_userid;/* Proxy Authorization user name */<br> const char *proxy_passwd;/* Proxy Authorization password */<br> const char *proxy_from;/* X-Forwarding-For header returned by proxy */<br> int status;/* -1 when request, else error co<wbr>de to be returned by server */<br> int error;<br> int errmode;<br> int errnum;<br> #ifndef WITH_LEANER<br> struct soap_dom_element *dom;<br> struct soap_dime dime;<br> struct soap_mime mime;<br> struct soap_xlist *xlist;<br> #endif<br> #if !defined(WITH_LEAN) || defined(SOAP_DEBUG)<br> const char *logfile[SOAP_MAXLOGS];<br> FILE *fdebug[SOAP_MAXLOGS];<br> struct soap_mlist *mht[SOAP_PTRHASH];<br> #endif<br> #ifndef WITH_LEAN<br> const char *c14ninclude;<br> const char *c14nexclude;<br> struct soap_cookie *cookies;<br> const char *cookie_domain;<br> const char *cookie_path;<br> int cookie_max;<br> #endif<br> #ifndef WITH_NOIO<br> int ipv6_multicast_if; /* always include this to keep the soap struct size the same in v4 and v6 */<br> char* ipv4_multicast_if; /* always include this to keep the soap struct size the same in v4 and v6 */<br> int ipv4_multicast_ttl; /* multicast scope */<br> #ifdef WITH_IPV6<br> struct sockaddr_storage peer;/* IPv6: set by soap_accept and by UDP recv */<br> #else<br> struct sockaddr_in peer;/* IPv4: set by soap_connect/soap_accept and by UDP recv */<br> #endif<br> #endif<br> size_t peerlen;<br> #ifdef WITH_OPENSSL<br> int (*fsslauth)(struct soap*);<br> int (*fsslverify)(int, X509_STORE_CTX*);<br> BIO *bio;<br> SSL *ssl;<br> SSL_CTX *ctx;<br> SSL_SESSION *session;<br> #else<br> void *fsslauth;/* dummy members, to preserve struct size */<br> void *fsslverify;<br> void *bio;<br> void *ssl;<br> void *ctx;<br> void *session;<br> #endif<br> unsigned short ssl_flags;<br> const char *keyfile;<br> const char *password;<br> const char *dhfile;<br> const char *cafile;<br> const char *capath;<br> const char *crlfile;<br> const char *randfile;<br> char session_host[SOAP_TAGLEN];<br> int session_port;<br> #ifdef WITH_C_LOCALE<br> locale_t c_locale;/* set to C locale by default */<br> #else<br> void *c_locale;<br> #endif<br> #ifdef WITH_ZLIB<br> z_stream *d_stream;/* decompression stream */<br> uLong z_crc;/* internal gzip crc */<br> #else<br> void *d_stream;/* dummy members, to preserve struct size */<br> soap_int32 z_crc;<br> #endif<br> short zlib_state;/* SOAP_ZLIB_NONE, SOAP_ZLIB_DEFLATE, or SOAP_ZLIB_INFLATE */<br> short zlib_in;/* SOAP_ZLIB_NONE, SOAP_ZLIB_DEFLATE, or SOAP_ZLIB_GZIP */<br> short zlib_out;/* SOAP_ZLIB_NONE, SOAP_ZLIB_DEFLATE, or SOAP_ZLIB_GZIP */<br> char *z_buf;/* buffer */<br> size_t z_buflen;<br> unsigned short z_level;/* compression level to be used (0=none, 1=fast to 9=best) */<br> float z_ratio_in;/* detected compression ratio compressed_length/length of inbound message */<br> float z_ratio_out;/* detected compression ratio compressed_length/length of outbound message */<br> #ifdef WMW_RPM_IO<br> void *rpmreqid;<br> #endif<br> #ifdef __cplusplus<br> soap();<br> soap(soap_mode);<br> soap(soap_mode, soap_mode);<br> soap(struct soap&amp;);<br> virtual ~soap();<br> #else<br> void (*dummy)();<br> #endif<br> };</wbr></wbr></wbr></wbr>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值