summaryrefslogtreecommitdiff
path: root/Zend/zend_globals_macros.h
diff options
context:
space:
mode:
authorAndi Gutmans <andi@php.net>1999-09-05 19:37:24 +0000
committerAndi Gutmans <andi@php.net>1999-09-05 19:37:24 +0000
commit2807ba18e146c190a0df0b78c71b0ff93131e723 (patch)
tree4203d18142ea0914ae8f82ce7c6197104cef1bf3 /Zend/zend_globals_macros.h
parent52cb8bb275cffe4b981cab6fc525e80ee062b2ae (diff)
downloadphp-git-2807ba18e146c190a0df0b78c71b0ff93131e723.tar.gz
- Oops
Diffstat (limited to 'Zend/zend_globals_macros.h')
-rw-r--r--Zend/zend_globals_macros.h89
1 files changed, 89 insertions, 0 deletions
diff --git a/Zend/zend_globals_macros.h b/Zend/zend_globals_macros.h
new file mode 100644
index 0000000000..3cc24a884a
--- /dev/null
+++ b/Zend/zend_globals_macros.h
@@ -0,0 +1,89 @@
+/*
+ +----------------------------------------------------------------------+
+ | Zend Engine |
+ +----------------------------------------------------------------------+
+ | Copyright (c) 1998, 1999 Andi Gutmans, Zeev Suraski |
+ +----------------------------------------------------------------------+
+ | This source file is subject to version 0.91 of the Zend license, |
+ | that is bundled with this package in the file LICENSE, and is |
+ | available at through the world-wide-web at |
+ | http://www.zend.com/license/0_91.txt. |
+ | If you did not receive a copy of the Zend license and are unable to |
+ | obtain it through the world-wide-web, please send a note to |
+ | license@zend.com so we can mail you a copy immediately. |
+ +----------------------------------------------------------------------+
+ | Authors: Andi Gutmans <andi@zend.com> |
+ | Zeev Suraski <zeev@zend.com> |
+ +----------------------------------------------------------------------+
+*/
+
+
+#ifndef _ZEND_GLOBALS_MACROS_H
+#define _ZEND_GLOBALS_MACROS_H
+
+typedef struct _zend_compiler_globals zend_compiler_globals;
+typedef struct _zend_executor_globals zend_executor_globals;
+typedef struct _zend_alloc_globals zend_alloc_globals;
+
+/* Compiler */
+#ifdef ZTS
+# define CLS_D zend_compiler_globals *compiler_globals
+# define CLS_DC , CLS_D
+# define CLS_C compiler_globals
+# define CLS_CC , CLS_C
+# define CG(v) (((zend_compiler_globals *) compiler_globals)->v)
+# define CLS_FETCH() zend_compiler_globals *compiler_globals = (zend_compiler_globals *) ts_resource(compiler_globals_id)
+# define YYPARSE_PARAM compiler_globals
+# define YYLEX_PARAM compiler_globals
+BEGIN_EXTERN_C()
+int zendparse(void *compiler_globals);
+END_EXTERN_C()
+#else
+# define CLS_D
+# define CLS_DC
+# define CLS_C
+# define CLS_CC
+# define CG(v) (compiler_globals.v)
+# define CLS_FETCH()
+extern ZEND_API struct _zend_compiler_globals compiler_globals;
+int zendparse();
+#endif
+
+
+/* Executor */
+#ifdef ZTS
+# define ELS_D zend_executor_globals *executor_globals
+# define ELS_DC , ELS_D
+# define ELS_C executor_globals
+# define ELS_CC , ELS_C
+# define EG(v) (executor_globals->v)
+# define ELS_FETCH() zend_executor_globals *executor_globals = (zend_executor_globals *) ts_resource(executor_globals_id)
+#else
+# define ELS_D
+# define ELS_DC
+# define ELS_C
+# define ELS_CC
+# define EG(v) (executor_globals.v)
+# define ELS_FETCH()
+extern ZEND_API zend_executor_globals executor_globals;
+#endif
+
+
+/* Memory Manager */
+#ifdef ZTS
+# define ALS_D zend_alloc_globals *alloc_globals
+# define ALS_DC , ALS_D
+# define ALS_C alloc_globals
+# define ALS_CC , ALS_C
+# define AG(v) (((zend_alloc_globals *) alloc_globals)->v)
+# define ALS_FETCH() zend_alloc_globals *alloc_globals = (zend_alloc_globals *) ts_resource(alloc_globals_id)
+#else
+# define ALS_D
+# define ALS_DC
+# define ALS_C
+# define ALS_CC
+# define AG(v) (alloc_globals.v)
+# define ALS_FETCH()
+#endif
+
+#endif /* _ZEND_GLOBALS_MACROS_H */ \ No newline at end of file