Back to index

php5  5.3.10
php_spl.h
Go to the documentation of this file.
00001 /*
00002    +----------------------------------------------------------------------+
00003    | PHP Version 5                                                        |
00004    +----------------------------------------------------------------------+
00005    | Copyright (c) 1997-2012 The PHP Group                                |
00006    +----------------------------------------------------------------------+
00007    | This source file is subject to version 3.01 of the PHP license,      |
00008    | that is bundled with this package in the file LICENSE, and is        |
00009    | available through the world-wide-web at the following url:           |
00010    | http://www.php.net/license/3_01.txt                                  |
00011    | If you did not receive a copy of the PHP license and are unable to   |
00012    | obtain it through the world-wide-web, please send a note to          |
00013    | license@php.net so we can mail you a copy immediately.               |
00014    +----------------------------------------------------------------------+
00015    | Authors: Marcus Boerger <helly@php.net>                              |
00016    +----------------------------------------------------------------------+
00017  */
00018 
00019 #ifndef PHP_SPL_H
00020 #define PHP_SPL_H
00021 
00022 #include "php.h"
00023 #if defined(PHP_WIN32)
00024 # include "win32/php_stdint.h"
00025 #elif defined(HAVE_STDINT_H)
00026 # include <stdint.h>
00027 #endif
00028 #include <stdarg.h>
00029 
00030 #if 0
00031 #define SPL_DEBUG(x) x
00032 #else
00033 #define SPL_DEBUG(x)
00034 #endif
00035 
00036 extern zend_module_entry spl_module_entry;
00037 #define phpext_spl_ptr &spl_module_entry
00038 
00039 #ifdef PHP_WIN32
00040 #      ifdef SPL_EXPORTS
00041 #             define SPL_API __declspec(dllexport)
00042 #      elif defined(COMPILE_DL_SPL)
00043 #             define SPL_API __declspec(dllimport)
00044 #      else
00045 #             define SPL_API /* nothing */
00046 #      endif
00047 #elif defined(__GNUC__) && __GNUC__ >= 4
00048 #      define SPL_API __attribute__ ((visibility("default")))
00049 #else
00050 #      define SPL_API
00051 #endif
00052 
00053 #if defined(PHP_WIN32) && !defined(COMPILE_DL_SPL)
00054 #undef phpext_spl
00055 #define phpext_spl NULL
00056 #endif
00057 
00058 PHP_MINIT_FUNCTION(spl);
00059 PHP_MSHUTDOWN_FUNCTION(spl);
00060 PHP_RINIT_FUNCTION(spl);
00061 PHP_RSHUTDOWN_FUNCTION(spl);
00062 PHP_MINFO_FUNCTION(spl);
00063 
00064 
00065 ZEND_BEGIN_MODULE_GLOBALS(spl)
00066        char *       autoload_extensions;
00067        HashTable *  autoload_functions;
00068        int          autoload_running;
00069        int          autoload_extensions_len;
00070        intptr_t     hash_mask_handle;
00071        intptr_t     hash_mask_handlers;
00072        int          hash_mask_init;
00073 ZEND_END_MODULE_GLOBALS(spl)
00074 
00075 #ifdef ZTS
00076 # define SPL_G(v) TSRMG(spl_globals_id, zend_spl_globals *, v)
00077 extern int spl_globals_id;
00078 #else
00079 # define SPL_G(v) (spl_globals.v)
00080 extern zend_spl_globals spl_globals;
00081 #endif
00082 
00083 PHP_FUNCTION(spl_classes);
00084 PHP_FUNCTION(class_parents);
00085 PHP_FUNCTION(class_implements);
00086 
00087 PHPAPI void php_spl_object_hash(zval *obj, char* md5str TSRMLS_DC);
00088 
00089 #endif /* PHP_SPL_H */
00090 
00091 /*
00092  * Local Variables:
00093  * c-basic-offset: 4
00094  * tab-width: 4
00095  * End:
00096  * vim600: fdm=marker
00097  * vim: noet sw=4 ts=4
00098  */