4 extern zend_module_entry psi_module_entry
;
5 #define phpext_psi_ptr &psi_module_entry
7 #define PHP_PSI_VERSION "0.1.0"
10 # define PHP_PSI_API __declspec(dllexport)
11 #elif defined(__GNUC__) && __GNUC__ >= 4
12 # define PHP_PSI_API __attribute__ ((visibility("default")))
23 static inline int psi_check_env(const char *var
) {
24 char *set
= getenv(var
);
25 return (set
&& *set
&& '0' != *set
);
28 typedef struct psi_object
{
34 static inline psi_object
*PSI_OBJ(zval
*zv
, zend_object
*zo
) {
38 return (void *) (((char *) zo
) - zo
->handlers
->offset
);
41 PHP_PSI_API zend_class_entry
*psi_object_get_class_entry();
43 ZEND_BEGIN_MODULE_GLOBALS(psi
)
46 struct psi_context context
;
47 ZEND_END_MODULE_GLOBALS(psi
);
49 ZEND_EXTERN_MODULE_GLOBALS(psi
);
51 #define PSI_G(v) ZEND_MODULE_GLOBALS_ACCESSOR(psi, v)
53 #if defined(ZTS) && defined(COMPILE_DL_PSI)
54 ZEND_TSRMLS_CACHE_EXTERN();
57 #endif /* PHP_PSI_H */
65 * vim600: noet sw=4 ts=4 fdm=marker
66 * vim<600: noet sw=4 ts=4