1 /*
2 +----------------------------------------------------------------------+
3 | PHP Version 7 |
4 +----------------------------------------------------------------------+
5 | Copyright (c) 1997-2016 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: Marcus Boerger <helly@php.net> |
16 +----------------------------------------------------------------------+
17 */
18
19 #ifndef PHP_SPL_H
20 #define PHP_SPL_H
21
22 #include "php.h"
23 #include <stdarg.h>
24
25 #define PHP_SPL_VERSION PHP_VERSION
26
27 #if 0
28 #define SPL_DEBUG(x) x
29 #else
30 #define SPL_DEBUG(x)
31 #endif
32
33 extern zend_module_entry spl_module_entry;
34 #define phpext_spl_ptr &spl_module_entry
35
36 #ifdef PHP_WIN32
37 # ifdef SPL_EXPORTS
38 # define SPL_API __declspec(dllexport)
39 # elif defined(COMPILE_DL_SPL)
40 # define SPL_API __declspec(dllimport)
41 # else
42 # define SPL_API /* nothing */
43 # endif
44 #elif defined(__GNUC__) && __GNUC__ >= 4
45 # define SPL_API __attribute__ ((visibility("default")))
46 #else
47 # define SPL_API
48 #endif
49
50 #if defined(PHP_WIN32) && !defined(COMPILE_DL_SPL)
51 #undef phpext_spl
52 #define phpext_spl NULL
53 #endif
54
55 PHP_MINIT_FUNCTION(spl);
56 PHP_MSHUTDOWN_FUNCTION(spl);
57 PHP_RINIT_FUNCTION(spl);
58 PHP_RSHUTDOWN_FUNCTION(spl);
59 PHP_MINFO_FUNCTION(spl);
60
61
62 ZEND_BEGIN_MODULE_GLOBALS(spl)
63 zend_string *autoload_extensions;
64 HashTable *autoload_functions;
65 intptr_t hash_mask_handle;
66 intptr_t hash_mask_handlers;
67 int hash_mask_init;
68 int autoload_running;
69 ZEND_END_MODULE_GLOBALS(spl)
70
71 ZEND_EXTERN_MODULE_GLOBALS(spl)
72 #define SPL_G(v) ZEND_MODULE_GLOBALS_ACCESSOR(spl, v)
73
74 PHP_FUNCTION(spl_classes);
75 PHP_FUNCTION(class_parents);
76 PHP_FUNCTION(class_implements);
77 PHP_FUNCTION(class_uses);
78
79 PHPAPI zend_string *php_spl_object_hash(zval *obj);
80
81 #endif /* PHP_SPL_H */
82
83 /*
84 * Local Variables:
85 * c-basic-offset: 4
86 * tab-width: 4
87 * End:
88 * vim600: fdm=marker
89 * vim: noet sw=4 ts=4
90 */