| /* |
| * Copyright 2004,2005 The Apache Software Foundation. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| /* |
| +----------------------------------------------------------------------+ |
| | PHP Version 5 | |
| +----------------------------------------------------------------------+ |
| | Copyright (c) 1997-2004 The PHP Group | |
| +----------------------------------------------------------------------+ |
| | This source file is subject to version 3.0 of the PHP license, | |
| | that is bundled with this package in the file LICENSE, and is | |
| | available through the world-wide-web at the following url: | |
| | http://www.php.net/license/3_0.txt. | |
| | If you did not receive a copy of the PHP license and are unable to | |
| | obtain it through the world-wide-web, please send a note to | |
| | license@php.net so we can mail you a copy immediately. | |
| +----------------------------------------------------------------------+ |
| | Author: | |
| +----------------------------------------------------------------------+ |
| */ |
| |
| /* $Id: header,v 1.15 2004/01/08 16:46:52 sniper Exp $ */ |
| |
| #ifndef PHP_AXIS2_H |
| #define PHP_AXIS2_H |
| |
| extern zend_module_entry axis2_module_entry; |
| #define phpext_axis2_ptr &axis2_module_entry |
| |
| #ifdef PHP_WIN32 |
| #define PHP_AXIS2_API __declspec(dllexport) |
| #else |
| #define PHP_AXIS2_API |
| #endif |
| |
| #ifdef ZTS |
| #include "TSRM.h" |
| #endif |
| |
| #include "axis2_ce.h" |
| #include "axis2_fe.h" |
| #include "axis2_common.h" |
| |
| #include <axis2.h> |
| #include <axis2_env.h> |
| |
| PHP_MINIT_FUNCTION(axis2); |
| PHP_MSHUTDOWN_FUNCTION(axis2); |
| PHP_RINIT_FUNCTION(axis2); |
| PHP_RSHUTDOWN_FUNCTION(axis2); |
| PHP_MINFO_FUNCTION(axis2); |
| |
| PHP_FUNCTION(axis2_helloworld); /* For testing, remove later. */ |
| |
| |
| |
| typedef struct axis2_object{ |
| zend_object std; |
| void *ptr; |
| int obj_type; |
| HashTable *prop_handler; |
| zend_object_handle handle; |
| HashTable *node_list; |
| }axis2_object; |
| |
| typedef axis2_object *axis2_object_ptr; |
| |
| void php_axis2_objects_free_storage(void *object TSRMLS_DC); |
| void php_axis2_destroy_env(); |
| axis2_env_t *php_axis2_get_env(); |
| zval *php_axis2_create_om_object(void* obj, int obj_type, zend_class_entry *class_type TSRMLS_DC); |
| zval *php_axis2_create_om_node_object(void* obj,int node_type, zend_class_entry *class_type TSRMLS_DC); |
| void php_axis2_set_object(void *obj,int obj_type, zval *wrapper_in TSRMLS_DC); |
| char* php_axis2_stream_to_buffer(php_stream *stream TSRMLS_DC); |
| zend_class_entry* php_axis2_get_class_type(int node_type); |
| void php_axis2_om_element_free(zval *obj TSRMLS_DC); |
| /* |
| Declare any global variables you may need between the BEGIN |
| and END macros here: */ |
| |
| ZEND_BEGIN_MODULE_GLOBALS(axis2) |
| long global_value; |
| char *global_string; |
| axis2_env_t *env; |
| axis2_allocator_t *allocator; |
| ZEND_END_MODULE_GLOBALS(axis2) |
| |
| |
| /* In every utility function you add that needs to use variables |
| in php_axis2_globals, call TSRMLS_FETCH(); after declaring other |
| variables used by that function, or better yet, pass in TSRMLS_CC |
| after the last function argument and declare your utility function |
| with TSRMLS_DC after the last declared argument. Always refer to |
| the globals in your function as AXIS2_G(variable). You are |
| encouraged to rename these macros something shorter, see |
| examples in any other php module directory. |
| */ |
| |
| #ifdef ZTS |
| #define AXIS2_G(v) TSRMG(axis2_globals_id, zend_axis2_globals *, v) |
| #else |
| #define AXIS2_G(v) (axis2_globals.v) |
| #endif |
| |
| #endif /* PHP_AXIS2_H */ |
| |
| |
| /* |
| * Local variables: |
| * tab-width: 4 |
| * c-basic-offset: 4 |
| * End: |
| * vim600: noet sw=4 ts=4 fdm=marker |
| * vim<600: noet sw=4 ts=4 |
| */ |
| |
| |
| |