soap协议中的soap结构体

来源:互联网 发布:mac sdk路径 编辑:程序博客网 时间:2024/06/05 19:30

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 data */  struct soap_plugin *plugins; /* linked list of plug-in data */  char *userid;   /* HTTP Basic authorization userid */  char *passwd;   /* HTTP Basic authorization passwd */  int (*fpost)(struct soap*, const char*, const char*, int, const char*, const char*, size_t);  int (*fget)(struct soap*);  int (*fput)(struct soap*);  int (*fdel)(struct soap*);  int (*fhead)(struct soap*);  int (*fform)(struct soap*);  int (*fposthdr)(struct soap*, const char*, const char*);  int (*fresponse)(struct soap*, int, size_t);  int (*fparse)(struct soap*);  int (*fparsehdr)(struct soap*, const char*, const char*);  int (*fheader)(struct soap*);  int (*fresolve)(struct soap*, const char*, struct in_addr* inaddr);  int (*fconnect)(struct soap*, const char*, const char*, int);  int (*fdisconnect)(struct soap*);  int (*fclosesocket)(struct soap*, SOAP_SOCKET);  int (*fshutdownsocket)(struct soap*, SOAP_SOCKET, int);  SOAP_SOCKET (*fopen)(struct soap*, const char*, const char*, int);  SOAP_SOCKET (*faccept)(struct soap*, SOAP_SOCKET, struct sockaddr*, int *n);  int (*fclose)(struct soap*);  int (*fsend)(struct soap*, const char*, size_t);  size_t (*frecv)(struct soap*, char*, size_t);  int (*fpoll)(struct soap*);  void (*fseterror)(struct soap*, const char **c, const char **s);  int (*fignore)(struct soap*, const char*);  int (*fserveloop)(struct soap*);  void *(*fplugin)(struct soap*, const char*);  void *(*fmalloc)(struct soap*, size_t);#ifndef WITH_LEANER  int (*fprepareinit)(struct soap*);  int (*fpreparesend)(struct soap*, const char*, size_t);  int (*fpreparerecv)(struct soap*, const char*, size_t);  int (*fpreparefinal)(struct soap*);  void *(*fdimereadopen)(struct soap*, void*, const char*, const char*, const char*);  void *(*fdimewriteopen)(struct soap*, const char*, const char*, const char*);  void (*fdimereadclose)(struct soap*, void*);  void (*fdimewriteclose)(struct soap*, void*);  size_t (*fdimeread)(struct soap*, void*, char*, size_t);  int (*fdimewrite)(struct soap*, void*, const char*, size_t);  void *(*fmimereadopen)(struct soap*, void*, const char*, const char*, const char*);  void *(*fmimewriteopen)(struct soap*, void*, const char*, const char*, const char*, enum soap_mime_encoding);  void (*fmimereadclose)(struct soap*, void*);  void (*fmimewriteclose)(struct soap*, void*);  size_t (*fmimeread)(struct soap*, void*, char*, size_t);  int (*fmimewrite)(struct soap*, void*, const char*, size_t);#endif  SOAP_SOCKET master;  SOAP_SOCKET socket;#if defined(__cplusplus) && !defined(WITH_LEAN) && !defined(WITH_COMPAT)  std::ostream *os;  std::istream *is;#else  void *os;  /* preserve struct size */  void *is;  /* preserve struct size */#endif#ifndef UNDER_CE  int sendfd;  int recvfd;#else  FILE *sendfd;  FILE *recvfd;#endif  size_t bufidx; /* index in soap.buf[] */  size_t buflen; /* length of soap.buf[] content */  soap_wchar ahead; /* parser lookahead */  short cdata;  /* CDATA parser state */  short body;  /* parsed XML element has a body or not */  unsigned int level; /* XML nesting level */  size_t count;  /* message length counter */  size_t length; /* message length as set by HTTP header */  char *labbuf;  /* look-aside buffer */  size_t lablen; /* look-aside buffer allocated length */  size_t labidx; /* look-aside buffer index to available part */  char buf[SOAP_BUFLEN];/* send and receive buffer */  char msgbuf[1024]; /* in/out buffer for HTTP/MIME headers >=1024 bytes */  char tmpbuf[1024]; /* in/out buffer for HTTP/MIME headers, simpleType values, element and attribute tag names, and DIME must be >=1024 bytes */  char tag[SOAP_TAGLEN];  char id[SOAP_TAGLEN];  char href[SOAP_TAGLEN];  char type[SOAP_TAGLEN];  char arrayType[SOAP_TAGLEN];  char arraySize[SOAP_TAGLEN];  char arrayOffset[SOAP_TAGLEN];  short other;  short position;  int positions[SOAP_MAXDIMS];  short root;  struct soap_attribute *attributes; /* attribute list */  short encoding; /* when set, output encodingStyle */  short mustUnderstand; /* a mustUnderstand element was parsed or is output */  short null;  /* parsed XML is xsi:nil */  short ns;  /* when not set, output full xmlns bindings */  short part;  /* parsing state */  short alloced;  short peeked;  size_t chunksize;  size_t chunkbuflen;  char endpoint[SOAP_TAGLEN];  char path[SOAP_TAGLEN];  char host[SOAP_TAGLEN];  char *action;  char *authrealm;  /* HTTP authentication realm */  char *prolog;   /* XML declaration prolog */  unsigned long ip;  /* IP number */  int port;   /* port number */  short keep_alive;  /* connection should be kept open */  short tcp_keep_alive;  /* enable SO_KEEPALIVE */  unsigned int tcp_keep_idle;  /* set TCP_KEEPIDLE */  unsigned int tcp_keep_intvl;  /* set TCP_KEEPINTVL */  unsigned int tcp_keep_cnt;  /* set TCP_KEEPCNT */  unsigned int max_keep_alive;  /* maximum keep-alive session (default=100) */  const char *proxy_http_version;/* HTTP version of proxy "1.0" or "1.1" */  const char *proxy_host; /* Proxy Server host name */  int proxy_port;  /* Proxy Server port (default = 8080) */  const char *proxy_userid; /* Proxy Authorization user name */  const char *proxy_passwd; /* Proxy Authorization password */  const char *proxy_from; /* X-Forwarding-For header returned by proxy */  int status;   /* -1 when request, else error code to be returned by server */  int error;  int errmode;  int errnum;#ifndef WITH_LEANER  struct soap_dom_element *dom;  struct soap_dime dime;  struct soap_mime mime;  struct soap_xlist *xlist;#endif#if !defined(WITH_LEAN) || defined(SOAP_DEBUG)  const char *logfile[SOAP_MAXLOGS];  FILE *fdebug[SOAP_MAXLOGS];  struct soap_mlist *mht[SOAP_PTRHASH];#endif#ifndef WITH_LEAN  const char *c14ninclude;  const char *c14nexclude;  struct soap_cookie *cookies;  const char *cookie_domain;  const char *cookie_path;  int cookie_max;#endif#ifndef WITH_NOIO  int ipv6_multicast_if; /* always include this to keep the soap struct size the same in v4 and v6 */  char* ipv4_multicast_if; /* always include this to keep the soap struct size the same in v4 and v6 */  int ipv4_multicast_ttl; /* multicast scope */#ifdef WITH_IPV6  struct sockaddr_storage peer; /* IPv6: set by soap_accept and by UDP recv */#else  struct sockaddr_in peer; /* IPv4: set by soap_connect/soap_accept and by UDP recv */#endif#endif  size_t peerlen;#ifdef WITH_OPENSSL  int (*fsslauth)(struct soap*);  int (*fsslverify)(int, X509_STORE_CTX*);  BIO *bio;  SSL *ssl;  SSL_CTX *ctx;  SSL_SESSION *session;#else  void *fsslauth;  /* dummy members, to preserve struct size */  void *fsslverify;  void *bio;  void *ssl;  void *ctx;  void *session;#endif  unsigned short ssl_flags;  const char *keyfile;  const char *password;  const char *dhfile;  const char *cafile;  const char *capath;  const char *crlfile;  const char *randfile;  char session_host[SOAP_TAGLEN];  int session_port;#ifdef WITH_C_LOCALE  locale_t c_locale;  /* set to C locale by default */#else  void *c_locale;#endif#ifdef WITH_ZLIB  z_stream *d_stream;  /* decompression stream */  uLong z_crc;   /* internal gzip crc */#else  void *d_stream;  /* dummy members, to preserve struct size */  soap_int32 z_crc;#endif  short zlib_state;  /* SOAP_ZLIB_NONE, SOAP_ZLIB_DEFLATE, or SOAP_ZLIB_INFLATE */  short zlib_in;  /* SOAP_ZLIB_NONE, SOAP_ZLIB_DEFLATE, or SOAP_ZLIB_GZIP */  short zlib_out;  /* SOAP_ZLIB_NONE, SOAP_ZLIB_DEFLATE, or SOAP_ZLIB_GZIP */  char *z_buf;   /* buffer */  size_t z_buflen;  unsigned short z_level; /* compression level to be used (0=none, 1=fast to 9=best) */  float z_ratio_in;  /* detected compression ratio compressed_length/length of inbound message */  float z_ratio_out;  /* detected compression ratio compressed_length/length of outbound message */#ifdef WMW_RPM_IO  void *rpmreqid;#endif#ifdef __cplusplus  soap();  soap(soap_mode);  soap(soap_mode, soap_mode);  soap(struct soap&);  virtual ~soap();#else  void (*dummy)();#endif};



原创粉丝点击