Annotation of embedaddon/php/ext/soap/php_soap.h, revision 1.1
1.1 ! misho 1: /*
! 2: +----------------------------------------------------------------------+
! 3: | PHP Version 5 |
! 4: +----------------------------------------------------------------------+
! 5: | Copyright (c) 1997-2012 The PHP Group |
! 6: +----------------------------------------------------------------------+
! 7: | This source file is subject to version 3.01 of the PHP license, |
! 8: | that is bundled with this package in the file LICENSE, and is |
! 9: | available through the world-wide-web at the following url: |
! 10: | http://www.php.net/license/3_01.txt |
! 11: | If you did not receive a copy of the PHP license and are unable to |
! 12: | obtain it through the world-wide-web, please send a note to |
! 13: | license@php.net so we can mail you a copy immediately. |
! 14: +----------------------------------------------------------------------+
! 15: | Authors: Brad Lafountain <rodif_bl@yahoo.com> |
! 16: | Shane Caraveo <shane@caraveo.com> |
! 17: | Dmitry Stogov <dmitry@zend.com> |
! 18: +----------------------------------------------------------------------+
! 19: */
! 20: /* $Id: php_soap.h 321634 2012-01-01 13:15:04Z felipe $ */
! 21:
! 22: #ifndef PHP_SOAP_H
! 23: #define PHP_SOAP_H
! 24:
! 25: #include "php.h"
! 26: #include "php_globals.h"
! 27: #include "ext/standard/info.h"
! 28: #include "ext/standard/php_standard.h"
! 29: #if HAVE_PHP_SESSION && !defined(COMPILE_DL_SESSION)
! 30: #include "ext/session/php_session.h"
! 31: #endif
! 32: #include "ext/standard/php_smart_str.h"
! 33: #include "php_ini.h"
! 34: #include "SAPI.h"
! 35: #include <libxml/parser.h>
! 36: #include <libxml/xpath.h>
! 37:
! 38: #ifndef PHP_HAVE_STREAMS
! 39: # error You lose - must be compiled against PHP 4.3.0 or later
! 40: #endif
! 41:
! 42: #ifndef PHP_WIN32
! 43: # define TRUE 1
! 44: # define FALSE 0
! 45: # define stricmp strcasecmp
! 46: #endif
! 47:
! 48: extern int le_url;
! 49:
! 50: typedef struct _encodeType encodeType, *encodeTypePtr;
! 51: typedef struct _encode encode, *encodePtr;
! 52:
! 53: typedef struct _sdl sdl, *sdlPtr;
! 54: typedef struct _sdlRestrictionInt sdlRestrictionInt, *sdlRestrictionIntPtr;
! 55: typedef struct _sdlRestrictionChar sdlRestrictionChar, *sdlRestrictionCharPtr;
! 56: typedef struct _sdlRestrictions sdlRestrictions, *sdlRestrictionsPtr;
! 57: typedef struct _sdlType sdlType, *sdlTypePtr;
! 58: typedef struct _sdlParam sdlParam, *sdlParamPtr;
! 59: typedef struct _sdlFunction sdlFunction, *sdlFunctionPtr;
! 60: typedef struct _sdlAttribute sdlAttribute, *sdlAttributePtr;
! 61: typedef struct _sdlBinding sdlBinding, *sdlBindingPtr;
! 62: typedef struct _sdlSoapBinding sdlSoapBinding, *sdlSoapBindingPtr;
! 63: typedef struct _sdlSoapBindingFunction sdlSoapBindingFunction, *sdlSoapBindingFunctionPtr;
! 64: typedef struct _sdlSoapBindingFunctionBody sdlSoapBindingFunctionBody, *sdlSoapBindingFunctionBodyPtr;
! 65:
! 66: typedef struct _soapMapping soapMapping, *soapMappingPtr;
! 67: typedef struct _soapService soapService, *soapServicePtr;
! 68:
! 69: #include "php_xml.h"
! 70: #include "php_encoding.h"
! 71: #include "php_sdl.h"
! 72: #include "php_schema.h"
! 73: #include "php_http.h"
! 74: #include "php_packet_soap.h"
! 75:
! 76: struct _soapMapping {
! 77: zval *to_xml;
! 78: zval *to_zval;
! 79: };
! 80:
! 81: struct _soapHeader;
! 82:
! 83: struct _soapService {
! 84: sdlPtr sdl;
! 85:
! 86: struct _soap_functions {
! 87: HashTable *ft;
! 88: int functions_all;
! 89: } soap_functions;
! 90:
! 91: struct _soap_class {
! 92: zend_class_entry *ce;
! 93: zval **argv;
! 94: int argc;
! 95: int persistance;
! 96: } soap_class;
! 97:
! 98: zval *soap_object;
! 99:
! 100: HashTable *typemap;
! 101: int version;
! 102: int type;
! 103: char *actor;
! 104: char *uri;
! 105: xmlCharEncodingHandlerPtr encoding;
! 106: HashTable *class_map;
! 107: int features;
! 108: struct _soapHeader **soap_headers_ptr;
! 109: int send_errors;
! 110: };
! 111:
! 112: #define SOAP_CLASS 1
! 113: #define SOAP_FUNCTIONS 2
! 114: #define SOAP_OBJECT 3
! 115: #define SOAP_FUNCTIONS_ALL 999
! 116:
! 117: #define SOAP_MAP_FUNCTION 1
! 118: #define SOAP_MAP_CLASS 2
! 119:
! 120: #define SOAP_PERSISTENCE_SESSION 1
! 121: #define SOAP_PERSISTENCE_REQUEST 2
! 122:
! 123: #define SOAP_1_1 1
! 124: #define SOAP_1_2 2
! 125:
! 126: #define SOAP_ACTOR_NEXT 1
! 127: #define SOAP_ACTOR_NONE 2
! 128: #define SOAP_ACTOR_UNLIMATERECEIVER 3
! 129:
! 130: #define SOAP_1_1_ACTOR_NEXT "http://schemas.xmlsoap.org/soap/actor/next"
! 131:
! 132: #define SOAP_1_2_ACTOR_NEXT "http://www.w3.org/2003/05/soap-envelope/role/next"
! 133: #define SOAP_1_2_ACTOR_NONE "http://www.w3.org/2003/05/soap-envelope/role/none"
! 134: #define SOAP_1_2_ACTOR_UNLIMATERECEIVER "http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"
! 135:
! 136: #define SOAP_COMPRESSION_ACCEPT 0x20
! 137: #define SOAP_COMPRESSION_GZIP 0x00
! 138: #define SOAP_COMPRESSION_DEFLATE 0x10
! 139:
! 140: #define SOAP_AUTHENTICATION_BASIC 0
! 141: #define SOAP_AUTHENTICATION_DIGEST 1
! 142:
! 143: #define SOAP_SINGLE_ELEMENT_ARRAYS (1<<0)
! 144: #define SOAP_WAIT_ONE_WAY_CALLS (1<<1)
! 145: #define SOAP_USE_XSI_ARRAY_TYPE (1<<2)
! 146:
! 147: #define WSDL_CACHE_NONE 0x0
! 148: #define WSDL_CACHE_DISK 0x1
! 149: #define WSDL_CACHE_MEMORY 0x2
! 150: #define WSDL_CACHE_BOTH 0x3
! 151:
! 152: ZEND_BEGIN_MODULE_GLOBALS(soap)
! 153: HashTable defEncNs; /* mapping of default namespaces to prefixes */
! 154: HashTable defEnc;
! 155: HashTable defEncIndex;
! 156: HashTable *typemap;
! 157: int cur_uniq_ns;
! 158: int soap_version;
! 159: sdlPtr sdl;
! 160: zend_bool use_soap_error_handler;
! 161: char* error_code;
! 162: zval* error_object;
! 163: char cache;
! 164: char cache_mode;
! 165: char cache_enabled;
! 166: char* cache_dir;
! 167: long cache_ttl;
! 168: long cache_limit;
! 169: HashTable *mem_cache;
! 170: xmlCharEncodingHandlerPtr encoding;
! 171: HashTable *class_map;
! 172: int features;
! 173: HashTable wsdl_cache;
! 174: int cur_uniq_ref;
! 175: HashTable *ref_map;
! 176: ZEND_END_MODULE_GLOBALS(soap)
! 177:
! 178: #ifdef ZTS
! 179: #include "TSRM.h"
! 180: #endif
! 181:
! 182: extern zend_module_entry soap_module_entry;
! 183: #define soap_module_ptr &soap_module_entry
! 184: #define phpext_soap_ptr soap_module_ptr
! 185:
! 186: ZEND_EXTERN_MODULE_GLOBALS(soap)
! 187:
! 188: #ifdef ZTS
! 189: # define SOAP_GLOBAL(v) TSRMG(soap_globals_id, zend_soap_globals *, v)
! 190: #else
! 191: # define SOAP_GLOBAL(v) (soap_globals.v)
! 192: #endif
! 193:
! 194: extern zend_class_entry* soap_var_class_entry;
! 195:
! 196: zval* add_soap_fault(zval *obj, char *fault_code, char *fault_string, char *fault_actor, zval *fault_detail TSRMLS_DC);
! 197:
! 198: #define soap_error0(severity, format) \
! 199: php_error(severity, "SOAP-ERROR: " format)
! 200:
! 201: #define soap_error1(severity, format, param1) \
! 202: php_error(severity, "SOAP-ERROR: " format, param1)
! 203:
! 204: #define soap_error2(severity, format, param1, param2) \
! 205: php_error(severity, "SOAP-ERROR: " format, param1, param2)
! 206:
! 207: #define soap_error3(severity, format, param1, param2, param3) \
! 208: php_error(severity, "SOAP-ERROR: " format, param1, param2, param3)
! 209:
! 210: #endif
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>