- Notifications
You must be signed in to change notification settings - Fork 7.8k
/
Copy pathxpath_callbacks.h
65 lines (55 loc) · 3.99 KB
/
xpath_callbacks.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/*
+----------------------------------------------------------------------+
| Copyright (c) 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: |
| https://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. |
+----------------------------------------------------------------------+
| Authors: Niels Dossche <nielsdos@php.net> |
+----------------------------------------------------------------------+
*/
#ifndefPHP_DOM_XPATH_CALLBACKS_H
#definePHP_DOM_XPATH_CALLBACKS_H
#include<libxml/xpathInternals.h>
#include"xml_common.h"
typedefenum {
PHP_DOM_REG_FUNC_MODE_NONE=0,
PHP_DOM_REG_FUNC_MODE_ALL,
PHP_DOM_REG_FUNC_MODE_SET,
} php_dom_register_functions_mode;
typedefenum {
PHP_DOM_XPATH_EVALUATE_NODESET_TO_STRING,
PHP_DOM_XPATH_EVALUATE_NODESET_TO_NODESET,
} php_dom_xpath_nodeset_evaluation_mode;
typedefvoid (*php_dom_xpath_callbacks_proxy_factory)(xmlNodePtrnode, zval*proxy, dom_object*intern, xmlXPathParserContextPtrctxt);
typedefvoid (*php_dom_xpath_callbacks_register_func_ctx)(void*ctxt, constzend_string*ns, constzend_string*name);
typedefstruct {
HashTablefunctions;
php_dom_register_functions_modemode;
} php_dom_xpath_callback_ns;
typedefstruct {
php_dom_xpath_callback_ns*php_ns;
HashTable*namespaces;
HashTable*node_list;
} php_dom_xpath_callbacks;
typedefenum {
PHP_DOM_XPATH_CALLBACK_NAME_VALIDATE_NULLS,
PHP_DOM_XPATH_CALLBACK_NAME_VALIDATE_NCNAME,
} php_dom_xpath_callback_name_validation;
PHP_DOM_EXPORTvoidphp_dom_xpath_callbacks_ctor(php_dom_xpath_callbacks*registry);
PHP_DOM_EXPORTvoidphp_dom_xpath_callbacks_dtor(php_dom_xpath_callbacks*registry);
PHP_DOM_EXPORTvoidphp_dom_xpath_callbacks_clean_node_list(php_dom_xpath_callbacks*registry);
PHP_DOM_EXPORTvoidphp_dom_xpath_callbacks_clean_argument_stack(xmlXPathParserContextPtrctxt, uint32_tnum_args);
PHP_DOM_EXPORTvoidphp_dom_xpath_callbacks_get_gc(php_dom_xpath_callbacks*registry, zend_get_gc_buffer*gc_buffer);
PHP_DOM_EXPORTHashTable*php_dom_xpath_callbacks_get_gc_for_whole_object(php_dom_xpath_callbacks*registry, zend_object*object, zval**table, int*n);
PHP_DOM_EXPORTvoidphp_dom_xpath_callbacks_delayed_lib_registration(constphp_dom_xpath_callbacks*registry, void*ctxt, php_dom_xpath_callbacks_register_func_ctxregister_func);
PHP_DOM_EXPORTzend_resultphp_dom_xpath_callbacks_update_method_handler(php_dom_xpath_callbacks*registry, xmlXPathContextPtrctxt, zend_string*ns, zend_string*name, constHashTable*callable_ht, php_dom_xpath_callback_name_validationname_validation, php_dom_xpath_callbacks_register_func_ctxregister_func);
PHP_DOM_EXPORTzend_resultphp_dom_xpath_callbacks_update_single_method_handler(php_dom_xpath_callbacks*registry, xmlXPathContextPtrctxt, zend_string*ns, zend_string*name, constzend_fcall_info_cache*fcc, php_dom_xpath_callback_name_validationname_validation, php_dom_xpath_callbacks_register_func_ctxregister_func);
PHP_DOM_EXPORTzend_resultphp_dom_xpath_callbacks_call_php_ns(php_dom_xpath_callbacks*xpath_callbacks, xmlXPathParserContextPtrctxt, intnum_args, php_dom_xpath_nodeset_evaluation_modeevaluation_mode, dom_object*intern, php_dom_xpath_callbacks_proxy_factoryproxy_factory);
PHP_DOM_EXPORTzend_resultphp_dom_xpath_callbacks_call_custom_ns(php_dom_xpath_callbacks*xpath_callbacks, xmlXPathParserContextPtrctxt, intnum_args, php_dom_xpath_nodeset_evaluation_modeevaluation_mode, dom_object*intern, php_dom_xpath_callbacks_proxy_factoryproxy_factory);
#endif