summaryrefslogtreecommitdiff
path: root/ext/xsl/php_xsl.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2013-03-14 05:42:27 +0000
committer <>2013-04-03 16:25:08 +0000
commitc4dd7a1a684490673e25aaf4fabec5df138854c4 (patch)
tree4d57c44caae4480efff02b90b9be86f44bf25409 /ext/xsl/php_xsl.h
downloadphp2-master.tar.gz
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'ext/xsl/php_xsl.h')
-rw-r--r--ext/xsl/php_xsl.h135
1 files changed, 135 insertions, 0 deletions
diff --git a/ext/xsl/php_xsl.h b/ext/xsl/php_xsl.h
new file mode 100644
index 0000000..e1a792e
--- /dev/null
+++ b/ext/xsl/php_xsl.h
@@ -0,0 +1,135 @@
+/*
+ +----------------------------------------------------------------------+
+ | PHP Version 5 |
+ +----------------------------------------------------------------------+
+ | Copyright (c) 1997-2013 The PHP Group |
+ +----------------------------------------------------------------------+
+ | This source file is subject to version 3.01 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_01.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$ */
+
+#ifndef PHP_XSL_H
+#define PHP_XSL_H
+
+extern zend_module_entry xsl_module_entry;
+#define phpext_xsl_ptr &xsl_module_entry
+
+#ifdef ZTS
+#include "TSRM.h"
+#endif
+
+#include <libxslt/xsltconfig.h>
+#include <libxslt/xsltInternals.h>
+#include <libxslt/xsltutils.h>
+#include <libxslt/transform.h>
+#include <libxslt/security.h>
+#if HAVE_XSL_EXSLT
+#include <libexslt/exslt.h>
+#include <libexslt/exsltconfig.h>
+#endif
+
+#include "../dom/xml_common.h"
+#include "xsl_fe.h"
+
+#include <libxslt/extensions.h>
+#include <libxml/xpathInternals.h>
+
+#define XSL_SECPREF_NONE 0
+#define XSL_SECPREF_READ_FILE 2
+#define XSL_SECPREF_WRITE_FILE 4
+#define XSL_SECPREF_CREATE_DIRECTORY 8
+#define XSL_SECPREF_READ_NETWORK 16
+#define XSL_SECPREF_WRITE_NETWORK 32
+/* Default == disable all write access == XSL_SECPREF_WRITE_NETWORK | XSL_SECPREF_CREATE_DIRECTORY | XSL_SECPREF_WRITE_FILE */
+#define XSL_SECPREF_DEFAULT 44
+
+typedef struct _xsl_object {
+ zend_object std;
+ void *ptr;
+ HashTable *prop_handler;
+ zend_object_handle handle;
+ HashTable *parameter;
+ int hasKeys;
+ int registerPhpFunctions;
+ HashTable *registered_phpfunctions;
+ HashTable *node_list;
+ php_libxml_node_object *doc;
+ char *profiling;
+ long securityPrefs;
+ int securityPrefsSet;
+} xsl_object;
+
+void php_xsl_set_object(zval *wrapper, void *obj TSRMLS_DC);
+void xsl_objects_free_storage(void *object TSRMLS_DC);
+zval *php_xsl_create_object(xsltStylesheetPtr obj, int *found, zval *wrapper_in, zval *return_value TSRMLS_DC);
+
+void xsl_ext_function_string_php(xmlXPathParserContextPtr ctxt, int nargs);
+void xsl_ext_function_object_php(xmlXPathParserContextPtr ctxt, int nargs);
+
+#define REGISTER_XSL_CLASS(ce, name, parent_ce, funcs, entry) \
+INIT_CLASS_ENTRY(ce, name, funcs); \
+ce.create_object = xsl_objects_new; \
+entry = zend_register_internal_class_ex(&ce, parent_ce, NULL TSRMLS_CC);
+
+#define XSL_DOMOBJ_NEW(zval, obj, ret) \
+ if (NULL == (zval = php_xsl_create_object(obj, ret, zval, return_value TSRMLS_CC))) { \
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot create required DOM object"); \
+ RETURN_FALSE; \
+ }
+
+
+
+PHP_MINIT_FUNCTION(xsl);
+PHP_MSHUTDOWN_FUNCTION(xsl);
+PHP_RINIT_FUNCTION(xsl);
+PHP_RSHUTDOWN_FUNCTION(xsl);
+PHP_MINFO_FUNCTION(xsl);
+
+
+/*
+ Declare any global variables you may need between the BEGIN
+ and END macros here:
+
+ZEND_BEGIN_MODULE_GLOBALS(xsl)
+ long global_value;
+ char *global_string;
+ZEND_END_MODULE_GLOBALS(xsl)
+*/
+
+/* In every utility function you add that needs to use variables
+ in php_xsl_globals, call TSRM_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 XSL_G(variable). You are
+ encouraged to rename these macros something shorter, see
+ examples in any other php module directory.
+*/
+
+#ifdef ZTS
+#define XSL_G(v) TSRMG(xsl_globals_id, zend_xsl_globals *, v)
+#else
+#define XSL_G(v) (xsl_globals.v)
+#endif
+
+#endif /* PHP_XSL_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
+ */